if event == iRecordableService.evEnd:
print "RecordTimer.staticGotRecordEvent(iRecordableService.evEnd)"
recordings = NavigationInstance.instance.getRecordings()
- if not len(recordings): # no more recordings exist
+ if not recordings: # no more recordings exist
rec_time = NavigationInstance.instance.RecordTimer.getNextRecordingTime()
if rec_time > 0 and (rec_time - time.time()) < 360:
print "another recording starts in", rec_time - time.time(), "seconds... do not shutdown yet"
JPEG_LIBS="-ljpeg"
AC_SUBST(JPEG_LIBS)
-AC_CHECK_LIB(ungif, DGifOpenFileName, HAVE_LIBUNGIF="yes", HAVE_LIBUNGIF="no")
-LIBUNGIF_LIBS="-lungif"
-AC_SUBST(LIBUNGIF_LIBS)
+AC_SUBST(LIBUNGIF_LIBS,"")
+AC_CHECK_HEADERS(gif_lib.h,
+ AC_CHECK_LIB(ungif,DGifOpen,
+ [AC_DEFINE(HAVE_LIBUNGIF,1,[Define if you have libgif/libungif including devel headers])
+ LIBUNGIF_LIBS="-lungif"],
+ [AC_CHECK_LIB(gif,DGifOpen,
+ [AC_DEFINE(HAVE_LIUNBGIF,1)
+ LIBUNGIF_LIBS="-lgif"])]))
TUXBOX_APPS_LIB_PKGCONFIG(XML2,libxml-2.0)
lib/python/Plugins/SystemPlugins/Videomode/Makefile
lib/python/Plugins/SystemPlugins/VideoTune/Makefile
lib/python/Plugins/SystemPlugins/DiseqcTester/Makefile
+lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/Makefile
lib/python/Plugins/DemoPlugins/Makefile
lib/python/Plugins/DemoPlugins/TestPlugin/Makefile
lib/python/Plugins/Extensions/Makefile
0x4ff 0x1
0x407 0x1
0xbc6 0x3 #ASTRA 23.5° Cslink, Skylink
+0xc85 0x3
+0xc89 0x3
0xc8f 0x3
0xbc7 0x3
0x436 0x1 #ASTRA 19.2° MTV Euro - MTV Networks
12200 318
1500 318
400 318
-0x5dc 0x13e
+13000 318
+12800 318
+11400 318
+1000 318
+7400 318
#Fallback encoding table for following transponders
#TSID ONID ISO8859-X
#0x447 0x1 ISO8859-9
<key id="KEY_MENU" mapto="input_date_time" flags="m" />
<key id="KEY_CHANNELUP" mapto="nextBouquet" flags="m" />
<key id="KEY_CHANNELDOWN" mapto="prevBouquet" flags="m" />
+ <key id="KEY_NEXT" mapto="nextService" flags="m" />
+ <key id="KEY_PREVIOUS" mapto="prevService" flags="m" />
</map>
<map context="EventViewActions">
<item text="Add to Bouquets"></item>
<item text="Edit Bouquets"></item>
</menu>-->
- <menu level="0" text="Service Searching" entryID="service_searching_selection">
+ <menu weight="0" level="0" text="Service Searching" entryID="service_searching_selection">
<id val="scan" />
<item text="Tuner configuration" entryID="tuner_setup"><screen module="Satconfig" screen="NimSelection" /></item>
<item text="Default services lists" entryID="default_lists"><screen module="ScanSetup" screen="DefaultSatLists" /></item>
<item text="Edit Transponder"></item>
<item text="Satfinder"></item>-->
</menu>
- <menu level="0" text="System" entryID="system_selection">
+ <menu weight="5" level="0" text="System" entryID="system_selection">
<id val="system" />
<item level="0" text="Language..." entryID="language_setup"><screen module="LanguageSelection" /></item>
<item level="0" entryID="usage_setup"><setup id="usage" /></item>
</menu>-->
<item level="2" text="Timeshift path..." entryId="timeshift_path"><screen module="LocationBox" screen="TimeshiftLocationBox" /></item>
</menu>
- <item level="1" text="Common Interface" entryID="ci_setup" requires="CommonInterface"><screen module="Ci" screen="CiSelection" /></item>
- <item level="0" text="Parental control" entryID="parental_setup"><screen module="ParentalControlSetup" screen="ParentalControlSetup" /></item>
+ <item weight="10" level="1" text="Common Interface" entryID="ci_setup" requires="CommonInterface"><screen module="Ci" screen="CiSelection" /></item>
+ <item weight="15" level="0" text="Parental control" entryID="parental_setup"><screen module="ParentalControlSetup" screen="ParentalControlSetup" /></item>
<!--item level="0" text="Startwizard" entryID="startwizzard"><screen module="StartWizard" screen="StartWizard" /></item-->
- <item level="0" text="Default settings" entryID="default_wizard">
+ <item weight="20" level="0" text="Default settings" entryID="default_wizard">
<code>
from Screens.DefaultWizard import DefaultWizard
self.session.open(DefaultWizard, silent = False)
</code>
</item>
- <item level="0" text="Factory reset" entryID="factory_reset">
+ <item weight="25" level="0" text="Factory reset" entryID="factory_reset">
<code>
from Screens.FactoryReset import FactoryReset
def msgClosed(ret):
<item level="0" text="TV System">config.av.tvsystem</item>
<item level="1" text="WSS on 4:3">config.av.wss</item>
<item level="1" text="AC3 default">config.av.defaultac3</item>
+ <item level="1" text="General AC3 delay">config.av.generalAC3delay</item>
+ <item level="1" text="General PCM delay">config.av.generalPCMdelay</item>
<item level="1" text="AC3 downmix" requires="CanDownmixAC3">config.av.downmix_ac3</item>
<item level="1" text="Auto scart switching" requires="ScartSwitch">config.av.vcrswitch</item>
</setup>
<widget name="bottom" position="10,230" size="430,25" font="Regular;23" />
</screen>
<!-- Common interface - selection -->
- <screen name="CiSelection" position="140,226" size="440,160" title="Common Interface">
+ <screen name="CiSelection" position="140,226" size="440,185" title="Common Interface">
<widget name="text" position="10,10" size="430,25" font="Regular;23" />
- <widget name="entries" position="10,55" size="420,100" scrollbarMode="showOnDemand" />
+ <widget name="entries" position="10,55" size="420,125" scrollbarMode="showOnDemand" />
</screen>
<!-- Console -->
<screen name="Console" position="90,95" size="560,430" title="Command execution...">
<widget name="PositionGauge" position="15,138" size="396,10" pointer="skin_default/position_pointer.png:540,0" seek_pointer="skin_default/position_pointer.png:540,0" transparent="1" />
<widget name="repeat" pixmaps="skin_default/icons/repeat_off.png,skin_default/icons/repeat_on.png" position="416,135" size="22,15" transparent="1" alphatest="on"/>
<widget name="filelist" position="15,163" size="550,138" scrollbarMode="showOnDemand" />
- <widget name="playlist" position="15,314" size="550,154" scrollbarMode="showOnDemand" selectionDisabled="1" />
+ <widget name="playlist" position="15,322" size="550,138" scrollbarMode="showOnDemand" selectionDisabled="1" />
<widget name="currenttext" position="0,0" size="0,0" />
<widget name="titletext" position="0,0" size="0,0" />
</screen>
<widget name="arrowup" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
<widget name="arrowup2" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
</screen>
- <!-- Subservice selection -->
- <screen name="SubserviceSelection" position="210,163" size="300,255" title="Subservices">
- <widget name="subservices" position="20,10" size="260,230" scrollbarMode="showOnDemand" />
- </screen>
<!-- Subservice quickzap -->
<screen name="SubservicesQuickzap" position="124,470" size="512,200" title="Subservices" backgroundColor="transparent" flags="wfNoBorder">
<widget source="session.RecordState" render="Pixmap" pixmap="skin_default/icons/record.png" position="450,0" zPosition="2" size="14,14" alphatest="on" >
== .meta FILES ==
-.meta files have currently 4 lines:
+.meta files have currently up to 7 lines:
<service reference>
<name>
<description>
<recording time>
+[<tags>]
+[<length>]
+[<filesize>]
The service reference contains the Service-ID of the recorded service. With
that ID, you can find the PMT and the elementary streams.
Strings are always UTF-8 encoded.
+tags is a space-delimited list of tags assigned to this movie.
+
+length is the length of the recording, in PTS-units (1/90000s). filesize was
+the filesize at the time the length was calculated, so you can validate if
+this is still up-to-date or must be recalculated.
+
== .ap FILES ==
Stored offsets and PTS values. They are collected while recording. Only
class KeymapError(Exception):
def __init__(self, message):
- self.message = message
+ self.msg = message
def __str__(self):
- return self.message
+ return self.msg
def parseKeys(context, filename, actionmap, device, keys):
for x in keys.findall("key"):
#include <lib/base/buffer.h>
#include <lib/base/eerror.h>
-#include <stdio.h>
+#include <cerrno>
+#include <cstdio>
+#include <cstring>
#include <unistd.h>
-#include <errno.h>
void eIOBuffer::removeblock()
{
#include <lib/base/eerror.h>
#include <lib/base/elock.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
#include <unistd.h>
#include <string>
+#include <cstdlib>
#include <lib/base/encoding.h>
#include <lib/base/eerror.h>
+#include <algorithm>
+#include <cctype>
+#include <climits>
#include <string>
-#include <ctype.h>
-#include <limits.h>
#include <lib/base/eerror.h>
#include <lib/base/encoding.h>
#include <lib/base/estring.h>
{
std::transform(s.begin(), s.end(), s.begin(), (int(*)(int)) toupper);
}
+
+std::string replace_all(const std::string &in, const std::string &entity, const std::string &symbol)
+{
+ std::string out = in;
+ std::string::size_type loc = 0;
+ while (( loc = out.find(entity, loc)) != std::string::npos )
+ out.replace(loc, entity.length(), symbol);
+ return out;
+}
std::string removeDVBChars(const std::string &s);
void makeUpper(std::string &s);
+std::string replace_all(const std::string &in, const std::string &entity, const std::string &symbol);
inline std::string convertDVBUTF8(const std::string &string, int table=0, int tsidonid=0) // with default ISO8859-1/Latin1
{
if (m_send_pvr_commit && !already_empty)
{
eDebug("sending PVR commit");
+
+ struct pollfd pfd[1] = {m_fd_dest, POLLHUP};
+ poll(pfd, 1, 10000);
+ sleep(5); /* HACK to allow ES buffer to drain */
already_empty = 1;
- if (::ioctl(m_fd_dest, PVR_COMMIT) < 0 && errno == EINTR)
- continue;
+// if (::ioctl(m_fd_dest, PVR_COMMIT) < 0 && errno == EINTR)
+// continue;
eDebug("commit done");
/* well check again */
continue;
+#include <cstring>
#include <lib/driver/misc_options.h>
#include <unistd.h>
PyDict_SetItem(tp_dict, sat_pos, tplist);
for (ElementConstIterator it(sat_elements.begin()); it != sat_elements.end(); ++it)
{
-// eDebug("\telement: %s", (*it)->name().c_str());
+ //eDebug("\telement: %s", (*it)->name().c_str());
const AttributeList &tp_attributes = (*it)->getAttributeList();
AttributeConstIterator end = tp_attributes.end();
modulation = eDVBFrontendParametersSatellite::Modulation_QPSK;
for (AttributeConstIterator it(tp_attributes.begin()); it != end; ++it)
{
- //eDebug("\t\tattr: %s", at->name().c_str());
at = *it;
+ //eDebug("\t\tattr: %s", at->name().c_str());
name = at->name();
if (name == "modulation") dest = &modulation;
else if (name == "system") dest = &system;
else if (name == "onid") dest = &onid;
if (dest)
{
+ //eDebug("\t\t\tvalue: %s", at->value().c_str());
tmp = strtol(at->value().c_str(), &end_ptr, 10);
if (!*end_ptr)
*dest = tmp;
if ((unsigned int)sat.orbital_position != orbpos)
remove=false;
}
- if ( remove && chid.dvbnamespace != eNs )
+ if ( remove && chid.dvbnamespace != eNs ) // namespace given?
{
- if (system == iDVBFrontend::feCable && chid.dvbnamespace.get() == (int)0xFFFF0000)
+ if ( system == iDVBFrontend::feCable && chid.dvbnamespace.get() == (int)0xFFFF0000 )
;
- else if (system == iDVBFrontend::feTerrestrial && chid.dvbnamespace.get() == (int)0xEEEE0000)
+ else if ( system == iDVBFrontend::feTerrestrial && chid.dvbnamespace.get() == (int)0xEEEE0000 )
;
else if ( chid.dvbnamespace != ch.dvbnamespace )
remove=false;
}
+ else if ( system == iDVBFrontend::feCable || system == iDVBFrontend::feTerrestrial )
+ remove=false;
if ( remove && chid.original_network_id != eOnid && chid.original_network_id != ch.original_network_id )
remove=false;
if ( remove && chid.transport_stream_id != eTsid && chid.transport_stream_id != ch.transport_stream_id )
RESULT getChannelFrontendData(const eDVBChannelID &id, ePtr<iDVBFrontendParameters> &parm);
- RESULT addService(const eServiceReferenceDVB &service, eDVBService *service);
+ RESULT addService(const eServiceReferenceDVB &referenc, eDVBService *service);
RESULT getService(const eServiceReferenceDVB &reference, ePtr<eDVBService> &service);
RESULT flush();
- RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query, const eServiceReference &source);
+ RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *q, const eServiceReference &source);
RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet);
//////
fts += 188;
}
- /* force payload only */
- ts[3] &= ~0x30;
- ts[3] |= 0x10;
-
-// memset(ts + 4, 0xFF, (offset % 188) - 4);
m_iframe_state = 1;
}
FILE *f = fopen("/proc/stb/fp/rtc", "w");
if (f)
{
- if (fprintf(f, "%u", time))
+ if (fprintf(f, "%u", (unsigned int)time))
prev_time = time;
else
eDebug("write /proc/stb/fp/rtc failed (%m)");
if (f)
{
// sanity check to detect corrupt atmel firmware
- if (fscanf(f, "%u", &rtc_time) != 1)
+ unsigned int tmp;
+ if (fscanf(f, "%u", &tmp) != 1)
eDebug("read /proc/stb/fp/rtc failed (%m)");
+ else
+ rtc_time=tmp;
fclose(f);
}
else
DEFINE_REF(eDVBLocalTimeHandler);
eDVBLocalTimeHandler::eDVBLocalTimeHandler()
- :m_time_ready(false), m_updateNonTunedTimer(eTimer::create(eApp))
+ :m_use_dvb_time(false), m_updateNonTunedTimer(eTimer::create(eApp)), m_time_ready(false)
{
if ( !instance )
instance=this;
}
}
+void eDVBLocalTimeHandler::setUseDVBTime(bool b)
+{
+ if (m_use_dvb_time != b) {
+ if (m_use_dvb_time) {
+ eDebug("[eDVBLocalTimeHandler] disable sync local time with transponder time!");
+ std::map<iDVBChannel*, channel_data>::iterator it =
+ m_knownChannels.begin();
+ for (; it != m_knownChannels.end(); ++it) {
+ if (it->second.m_prevChannelState == iDVBChannel::state_ok)
+ it->second.tdt = 0;
+ }
+ }
+ else {
+ eDebug("[eDVBLocalTimeHandler] enable sync local time with transponder time!");
+ std::map<iDVBChannel*, channel_data>::iterator it =
+ m_knownChannels.begin();
+ for (; it != m_knownChannels.end(); ++it) {
+ if (it->second.m_prevChannelState == iDVBChannel::state_ok) {
+ it->second.tdt = new TDT(it->second.channel);
+ it->second.tdt->start();
+ }
+ }
+ }
+ m_use_dvb_time = b;
+ }
+}
+
void eDVBLocalTimeHandler::updateNonTuned()
{
updateTime(-1, 0, 0);
case iDVBChannel::state_ok:
eDebug("[eDVBLocalTimerHandler] channel %p running", chan);
m_updateNonTunedTimer->stop();
- it->second.tdt = new TDT(it->second.channel);
- it->second.tdt->start();
+ if (m_use_dvb_time) {
+ it->second.tdt = new TDT(it->second.channel);
+ it->second.tdt->start();
+ }
break;
case iDVBChannel::state_release:
eDebug("[eDVBLocalTimerHandler] remove channel %p", chan);
ePtr<eConnection> m_stateChangedConn;
int m_prevChannelState;
};
+ bool m_use_dvb_time;
ePtr<eTimer> m_updateNonTunedTimer;
friend class TDT;
std::map<iDVBChannel*, channel_data> m_knownChannels;
eDVBLocalTimeHandler();
~eDVBLocalTimeHandler();
#endif
+ bool getUseDVBTime() { return m_use_dvb_time; }
+ void setUseDVBTime(bool b);
PSignal0<void> m_timeUpdated;
bool ready() const { return m_time_ready; }
static eDVBLocalTimeHandler *getInstance() { return instance; }
if (snr != 0)
ret = 10 * (int)(-100 * (log10(snr) - log10(255)));
}
+ else if (!strcmp(m_description, "BCM4506"))
+ ret = (snr * 100) >> 8;
if (type == signalQuality)
{
virtual RESULT getChannelFrontendData(const eDVBChannelID &id, ePtr<iDVBFrontendParameters> &parm)=0;
- virtual RESULT addService(const eServiceReferenceDVB &service, eDVBService *service)=0;
+ virtual RESULT addService(const eServiceReferenceDVB &reference, eDVBService *service)=0;
virtual RESULT getService(const eServiceReferenceDVB &reference, ePtr<eDVBService> &service)=0;
virtual RESULT flush()=0;
virtual RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet)=0;
- virtual RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query, const eServiceReference &source)=0;
+ virtual RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *q, const eServiceReference &source)=0;
};
#endif // SWIG
}
case iDVBFrontend::feTerrestrial:
{
+ ePtr<iDVBFrontend> fe;
eDVBFrontendParametersTerrestrial parm;
m_ch_current->getDVBT(parm);
snprintf(sname, 255, "%d SID 0x%02x",
parm.frequency/1000,
m_pmt_in_progress->first);
+ if (!m_channel->getFrontend(fe))
+ {
+ ePyObject tp_dict = PyDict_New();
+ fe->getTransponderData(tp_dict, false);
+ m_corrected_frequencys[m_chid_current] =
+ PyInt_AsLong(PyDict_GetItemString(tp_dict, "frequency"));
+ Py_DECREF(tp_dict);
+ }
break;
}
case iDVBFrontend::feCable:
if (!(m_flags & scanOnlyFree) || !m_pmt_in_progress->second.scrambled) {
SCAN_eDebug("add not scrambled!");
- std::pair<std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator, bool> i = m_new_services.insert(std::pair<eServiceReferenceDVB, ePtr<eDVBService> >(ref, service));
+ std::pair<std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator, bool> i =
+ m_new_services.insert(std::pair<eServiceReferenceDVB, ePtr<eDVBService> >(ref, service));
if (i.second)
{
m_last_service = i.first;
for (std::map<eDVBChannelID, ePtr<iDVBFrontendParameters> >::const_iterator
ch(m_new_channels.begin()); ch != m_new_channels.end(); ++ch)
{
+ int system;
+ ch->second->getSystem(system);
+ if (system == iDVBFrontend::feTerrestrial)
+ {
+ std::map<eDVBChannelID, unsigned int>::iterator it = m_corrected_frequencys.find(ch->first);
+ if (it != m_corrected_frequencys.end())
+ {
+ eDVBFrontendParameters *p = (eDVBFrontendParameters*)&(*ch->second);
+ eDVBFrontendParametersTerrestrial parm;
+ p->getDVBT(parm);
+ eDebug("corrected freq for tsid %04x, onid %04x, ns %08x is %d, old was %d",
+ ch->first.transport_stream_id.get(), ch->first.original_network_id.get(),
+ ch->first.dvbnamespace.get(), it->second, parm.frequency);
+ parm.frequency = it->second;
+ p->setDVBT(parm);
+ m_corrected_frequencys.erase(it);
+ }
+ }
if (m_flags & scanOnlyFree)
{
eDVBFrontendParameters *ptr = (eDVBFrontendParameters*)&(*ch->second);
}
}
- std::pair<std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator, bool> i = m_new_services.insert(std::pair<eServiceReferenceDVB, ePtr<eDVBService> >(ref, service));
+ std::pair<std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator, bool> i =
+ m_new_services.insert(std::pair<eServiceReferenceDVB, ePtr<eDVBService> >(ref, service));
if (i.second)
{
/* scan state variables */
int m_channel_state;
int m_ready, m_ready_all;
-
+
+ std::map<eDVBChannelID, unsigned int> m_corrected_frequencys; // yet just used for DVB-T
+
std::map<eDVBChannelID, ePtr<iDVBFrontendParameters> > m_new_channels;
std::map<eServiceReferenceDVB, ePtr<eDVBService> > m_new_services;
std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator m_last_service;
compare.tone = iDVBFrontend::toneOff;
sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, iDVBFrontend::toneOff) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC]) );
if (diseqc13V)
vlt = iDVBFrontend::voltage13;
compare.tone = iDVBFrontend::toneOff;
sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, iDVBFrontend::toneOff) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC]) );
compare.voltage = iDVBFrontend::voltageOff;
compare.steps = +4;
compare.tone = tone;
sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, tone) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_FINAL_CONT_TONE_CHANGE]) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
cmd.direction=1; // check for running rotor
compare.tone = tone;
sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, tone) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_FINAL_CONT_TONE_CHANGE]) );
}
sec_sequence.push_back( eSecCommand(eSecCommand::UPDATE_CURRENT_SWITCHPARMS) );
compare.voltage = iDVBFrontend::voltageOff;
sec_sequence.push_back( eSecCommand(eSecCommand::IF_NOT_VOLTAGE_GOTO, compare) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltage13) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 50 ) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_ENABLE_VOLTAGE_BEFORE_SWITCH_CMDS] ) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltage18_5) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, iDVBFrontend::toneOff) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_MOTOR_CMD]) ); // wait 150msec after voltage change
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_SWITCH_CMDS]) ); // wait 20 ms after voltage change
eDVBDiseqcCommand diseqc;
memset(diseqc.data, 0, MAX_DISEQC_LENGTH);
DECLARE_REF(eDVBSatelliteEquipmentControl);
public:
enum {
- DELAY_AFTER_CONT_TONE=0, // delay after continuous tone change
+ DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC=0, // delay after continuous tone disable before diseqc command
+ DELAY_AFTER_FINAL_CONT_TONE_CHANGE, // delay after continuous tone change before tune
DELAY_AFTER_FINAL_VOLTAGE_CHANGE, // delay after voltage change at end of complete sequence
DELAY_BETWEEN_DISEQC_REPEATS, // delay between repeated diseqc commands
DELAY_AFTER_LAST_DISEQC_CMD, // delay after last diseqc command
}
}
+ page->state = page_state;
+
//eDebug("page updated: old: %d, new: %d", page->page_version_number, page_version_number);
// when acquisition point or mode change: remove all displayed pages.
if ((page_state == 1) || (page_state == 2))
subtitle_page *page = m_pages;
while(page)
{
- subtitle_redraw(page->page_id);
+ if (page->state != 0)
+ subtitle_redraw(page->page_id);
page = page->next;
}
#else
int page_id;
time_t page_time_out;
int page_version_number;
+ int state;
int pcs_size;
subtitle_page_region *page_regions;
// This is a very simple en300 706 telext decoder.
// It can only decode a single page at a time, thus it's only used
-// for subtitles.
+// for subtitles. And it ONLY support LATIN Charsets yet!
DEFINE_REF(eDVBTeletextParser);
static inline unsigned long decode_hamming_2418(unsigned char *b)
{
+ static const unsigned char rev[16] = {
+ 0x00,0x08,0x04,0x0c,
+ 0x02,0x0a,0x06,0x0e,
+ 0x01,0x09,0x05,0x0d,
+ 0x03,0x0b,0x07,0x0f
+ };
+ b[0] = rev[b[0] >> 4] | (rev[b[0] & 0xf] << 4);
+ b[1] = rev[b[1] >> 4] | (rev[b[1] & 0xf] << 4);
+ b[2] = rev[b[2] >> 4] | (rev[b[2] & 0xf] << 4);
return ((b[0] & 0x04) >> 2) | ((b[0] & 0x70) >> 3) | ((b[1] & 0x7f) << 4) | ((b[2] & 0x7f) << 11);
}
int M = magazine_and_packet_address & 7,
Y = magazine_and_packet_address >> 3;
// eDebug("line %d, framing code: %02x, M=%02x, Y=%02x", line_offset, framing_code, m_M, m_Y);
-
+
if (Y == 0) /* page header */
{
int X = decode_hamming_84(data + 1) * 0x10 + decode_hamming_84(data),
} else if (Y == 26 && m_page_open && M == m_page_M)
{
// int designation_code = decode_hamming_84(data);
- static const unsigned char rev[16] = {
- 0x00,0x08,0x04,0x0c,
- 0x02,0x0a,0x06,0x0e,
- 0x01,0x09,0x05,0x0d,
- 0x03,0x0b,0x07,0x0f
- };
int display_row=-1, display_column=-1;
for (int a = 1; a < 40; a+=3)
{
int val;
- data[a] = rev[data[a] >> 4] | (rev[data[a] & 0xf] << 4);
- data[a+1] = rev[data[a+1] >> 4] | (rev[data[a+1] & 0xf] << 4);
- data[a+2] = rev[data[a+2] >> 4] | (rev[data[a+2] & 0xf] << 4);
if ((val=decode_hamming_2418(data+a)) >= 0)
{
unsigned char addr = val & 0x3F;
}
} else if (Y > 29)
/*eDebug("non handled packet 30, 31", Y, decode_hamming_84(data))*/;
- else if (Y == 29)
- eDebug("non handled packet M/%d/%d", Y, decode_hamming_84(data));
- else if (m_page_open)
+ else if (Y == 29 && M == m_page_M)
{
- if (M == m_page_M)
- eDebug("non handled packet X/%d/%d", Y, decode_hamming_84(data));
+ int designation_code = decode_hamming_84(data++);
+ if (designation_code == 0) // 29/0
+ {
+ m_M29_t1 = decode_hamming_2418(data);
+ m_M29_t2 = decode_hamming_2418(data+3);
+ if ((m_M29_t1 & 0xF) == 0) // format1
+ m_M29_0_valid = 1;
+ else
+ eDebug("non handled packet M/%d/0 format %d", Y, m_M29_t1 & 0xF);
+ }
+ else
+ eDebug("non handled packet M/%d/%d", Y, designation_code);
+ }
+ else if (m_page_open && M == m_page_M)
+ {
+ int designation_code = decode_hamming_84(data++);
+ if (Y == 28 && designation_code == 0) // 28/0
+ {
+#if 1
+ m_X28_t1 = decode_hamming_2418(data);
+ m_X28_t2 = decode_hamming_2418(data+3);
+ if ((m_X28_t1 & 0xF) == 0) // format1
+ m_X28_0_valid = 1;
+ else
+ eDebug("non handled packet X/%d/0 format %d", Y, m_X28_t1 & 0xF);
+#else
+ int i=0;
+ for (; i < 39; i+=3)
+ {
+ int tripletX = decode_hamming_2418(data+i);
+ if (tripletX >= 0)
+ {
+ if (i == 0)
+ {
+ if ((m_X28_t1 & 0xF) == 0) // format1
+ m_X28_0_valid = 1;
+ m_X28_t1 = tripletX;
+ }
+ else if (i == 1)
+ m_X28_t2 = tripletX;
+
+ char *c = get_bits(tripletX, 18);
+ int x=0;
+ for (; x < 18; ++x)
+ eDebugNoNewLine("%c", c[x]);
+ eDebug("");
+ }
+ else
+ eDebug("decode_hamming_2418 failed!\n");
+ data += 3;
+ }
+#endif
+ }
+ else
+ eDebug("non handled packet X/%d/%d", Y, designation_code);
}
}
}
{
m_subtitle_page.clear();
m_modifications.clear();
+ m_X28_0_valid = 0;
// eDebug("erase page!");
}
// else
nat_opts = (m_C & (1<<14) ? 1 : 0) |
(m_C & (1<<13) ? 2 : 0) |
(m_C & (1<<12) ? 4 : 0),
- nat_subset = NationalOptionSubsetsLookup[Gtriplet*8+nat_opts];
-/* eDebug("nat_opts = %d, nat_subset = %d, C121314 = %d%d%d",
- nat_opts, nat_subset,
- (m_C & (1<<12))?1:0,
- (m_C & (1<<13))?1:0,
- (m_C & (1<<14))?1:0);*/
+ nat_subset_2 = NationalOptionSubsetsLookup[Gtriplet*8+nat_opts],
+ nat_subset = nat_subset_2,
+ second_G0_set = 0;
+
+ if (m_X28_0_valid)
+ {
+ nat_subset = NationalOptionSubsetsLookup[(m_X28_t1 >> 7) & 0x7F];
+ nat_subset_2 = NationalOptionSubsetsLookup[((m_X28_t1 >> 14) & 0xF) | ((m_X28_t2 & 7) << 4)];
+// eDebug("X/28/0 nat_subset %d, nat_subset2 %d", nat_subset, nat_subset_2);
+ }
+ else if (m_M29_0_valid)
+ {
+ nat_subset = NationalOptionSubsetsLookup[(m_M29_t1 >> 7) & 0x7F];
+ nat_subset_2 = NationalOptionSubsetsLookup[((m_M29_t1 >> 14) & 0xF) | ((m_M29_t2 & 7) << 4)];
+// eDebug("M/29/0 nat_subset %d, nat_subset2 %d", nat_subset, nat_subset_2);
+ }
+/* else
+ eDebug("nat_opts = %d, nat_subset = %d, C121314 = %d%d%d",
+ nat_opts, nat_subset,
+ (m_C & (1<<12))?1:0,
+ (m_C & (1<<13))?1:0,
+ (m_C & (1<<14))?1:0);*/
// eDebug("handle subtitle line: %d len", len);
for (int i=0; i<len; ++i)
{
+ unsigned char b = decode_odd_parity(data + i);
std::map<int,unsigned int>::iterator it = m_modifications.find((m_Y<<16)|i);
+
if (it != m_modifications.end())
{
unsigned int utf8_code = it->second;
+// eDebugNoNewLine("%c[%d]", b, b);
if (utf8_code < 0x10)
{
int mode = utf8_code;
- unsigned char ch = decode_odd_parity(data + i);
- if (ch > 96 && ch < 123)
- utf8_code = diacr_lower_cmap[(ch-97)*15+mode-1];
- else if (ch > 64 && ch < 91)
- utf8_code = diacr_upper_cmap[(ch-65)*15+mode-1];
+ if (b > 96 && b < 123)
+ utf8_code = diacr_lower_cmap[(b-97)*15+mode-1];
+ else if (b > 64 && b < 91)
+ utf8_code = diacr_upper_cmap[(b-65)*15+mode-1];
}
if (utf8_code > 0xFFFFFF)
out[outidx++]=(utf8_code&0xFF000000)>>24;
continue;
}
- unsigned char b = decode_odd_parity(data + i);
-
if (b < 0x10) /* spacing attribute */
{
if (b < 8) /* colors */
/* ignore other attributes */
} else if (m_box_open>1)
{
- //eDebugNoNewLine("%c", b);
+// eDebugNoNewLine("%c(%d)", b, b);
/* no more than one whitespace, only printable chars */
if (((!last_was_white) || (b != ' ')) && (b >= 0x20))
{
- int cur_nat_subset = nat_subset;
-
- if (b == 0x24) // workaround for currency sign.. the only on non latin1 char in G0 set
- {
- cur_nat_subset = 9;
- b = 36;
- }
+ int cur_nat_subset = second_G0_set ? nat_subset_2 : nat_subset;
unsigned char offs = NationalReplaceMap[b];
if (offs)
out[outidx++] = b;
last_was_white = b == ' ';
}
+ else if (b == 0x1b) // ESC ... switch between default G0 and second G0 charset
+ second_G0_set ^= 1;
}
}
- //eDebug("");
+// eDebug("");
addSubtitleString(color, std::string((const char*)out, outidx));
}
eDebug("enable teletext subtitle page %x%02x", magazine, page);
else
eDebug("disable teletext subtitles");
+ m_M29_0_valid = 0;
m_page_M = magazine; /* magazine to look for */
if (magazine != -1)
m_page_M &= 7;
eDVBTeletextSubtitlePage m_subtitle_page;
int m_C, m_Y, m_pid, m_page_M, m_page_X, m_page_open, m_double_height, m_box_open;
-
+ int m_X28_0_valid, m_X28_t1, m_X28_t2;
+ int m_M29_0_valid, m_M29_t1, m_M29_t2;
+
void handlePageStart();
void handleLine(unsigned char *line, int len);
void handlePageEnd(int have_pts, const pts_t &pts);
#include <dvbsi++/ca_program_map_section.h>
+//#define CIDEBUG 1
+
+#ifdef CIDEBUG
+ #define eDebugCI(x...) eDebug(x)
+#else
+ #define eDebugCI(x...)
+#endif
+
eDVBCIInterfaces *eDVBCIInterfaces::instance = 0;
eDVBCIInterfaces::eDVBCIInterfaces()
if( (slot = getSlot(slotid)) == 0 )
return -1;
- eDVBCISession::deleteSessions(slot);
- ciRemoved(slot);
-
return slot->reset();
}
void eDVBCIInterfaces::ciRemoved(eDVBCISlot *slot)
{
+ eDebug("CI Slot %d: removed... usecount %d", slot->getSlotID(), slot->use_count);
for (PMTHandlerList::iterator it(m_pmt_handlers.begin());
it != m_pmt_handlers.end(); ++it)
{
eServiceReferenceDVB ref;
it->pmthandler->getServiceReference(ref);
+ eDebugCI("check %s cislot %p %d\n", ref.toString().c_str(), it->cislot, it->cislot?it->cislot->getSlotID() : -1);
slot->removeService(ref.getServiceID().get());
if (slot->use_count && !--slot->use_count)
{
setInputSource(slot->current_tuner, slot->current_source);
if (it->cislot == slot) // remove the base slot
+ {
it->cislot = slot->linked_next;
+ eDebugCI("base removed.. so slot is now %p", it->cislot);
+ }
else
{
+ eDebugCI("not base removed.. %d", it->cislot->getSlotID());
eDVBCISlot *tmp = it->cislot;
while(tmp->linked_next != slot)
tmp = tmp->linked_next;
tmp->linked_next = 0;
}
slot->linked_next=0;
+ slot->user_mapped=false;
}
}
+ recheckPMTHandlers();
}
static bool canDescrambleMultipleServices(int slotid)
void eDVBCIInterfaces::recheckPMTHandlers()
{
-// eDebug("recheckPMTHAndlers()");
+ eDebugCI("recheckPMTHAndlers()");
for (PMTHandlerList::iterator it(m_pmt_handlers.begin());
it != m_pmt_handlers.end(); ++it)
{
CAID_LIST caids;
ePtr<eDVBService> service;
eServiceReferenceDVB ref;
+ eDVBCISlot *tmp = it->cislot;
eDVBServicePMTHandler *pmthandler = it->pmthandler;
eDVBServicePMTHandler::program p;
+ bool first_plugged_cis_exist = false;
pmthandler->getServiceReference(ref);
pmthandler->getService(service);
+
+ eDebugCI("recheck %p %s", pmthandler, ref.toString().c_str());
+ for (eSmartPtrList<eDVBCISlot>::iterator ci_it(m_slots.begin()); ci_it != m_slots.end(); ++ci_it)
+ if (ci_it->first_plugged && ci_it->getCAManager())
+ {
+ eDebug("Slot %d first plugged", ci_it->getSlotID());
+ ci_it->first_plugged = false;
+ first_plugged_cis_exist = true;
+ }
+
+ // check if this pmt handler has already assigned CI(s) .. and this CI(s) are already running
+ if (!first_plugged_cis_exist)
+ {
+ while(tmp)
+ {
+ if (!tmp->running_services.empty())
+ break;
+ tmp=tmp->linked_next;
+ }
+ if (tmp) // we dont like to change tsmux for running services
+ {
+ eDebugCI("already assigned and running CI!\n");
+ continue;
+ }
+ }
+
if (!pmthandler->getProgramInfo(p))
{
int cnt=0;
- for (std::set<uint16_t>::reverse_iterator x(p.caids.rbegin()); x != p.caids.rend(); ++x, ++cnt)
+ for (caidSet::reverse_iterator x(p.caids.rbegin()); x != p.caids.rend(); ++x, ++cnt)
caids.push_front(*x);
if (service && cnt)
service->m_ca = caids;
for (eSmartPtrList<eDVBCISlot>::iterator ci_it(m_slots.begin()); ci_it != m_slots.end(); ++ci_it)
{
+ eDebugCI("check Slot %d", ci_it->getSlotID());
bool useThis=false;
+ bool user_mapped=true;
eDVBCICAManagerSession *ca_manager = ci_it->getCAManager();
+
if (ca_manager)
{
int mask=0;
if (!ci_it->possible_services.empty())
{
mask |= 1;
- std::set<eServiceReference>::iterator it = ci_it->possible_services.find(ref);
+ serviceSet::iterator it = ci_it->possible_services.find(ref);
if (it != ci_it->possible_services.end())
{
eDebug("'%s' is in service list of slot %d... so use it", ref.toString().c_str(), ci_it->getSlotID());
useThis = true;
}
+ else // check parent
+ {
+ eServiceReferenceDVB parent_ref = ref.getParentServiceReference();
+ if (parent_ref)
+ {
+ it = ci_it->possible_services.find(ref);
+ if (it != ci_it->possible_services.end())
+ {
+ eDebug("parent '%s' of '%s' is in service list of slot %d... so use it",
+ parent_ref.toString().c_str(), ref.toString().c_str(), ci_it->getSlotID());
+ useThis = true;
+ }
+ }
+ }
}
if (!useThis && !ci_it->possible_providers.empty())
{
- bool parent=false;
+ eDVBNamespace ns = ref.getDVBNamespace();
mask |= 2;
if (!service) // subservice?
{
eServiceReferenceDVB parent_ref = ref.getParentServiceReference();
eDVBDB::getInstance()->getService(parent_ref, service);
- parent=true;
}
if (service)
{
- std::set<std::string>::iterator it = ci_it->possible_providers.find(service->m_provider_name);
+ providerSet::iterator it = ci_it->possible_providers.find(providerPair(service->m_provider_name, ns.get()));
if (it != ci_it->possible_providers.end())
{
- eDebug("'%s' is in provider list of slot %d... so use it", service->m_provider_name.c_str(), ci_it->getSlotID());
+ eDebug("'%s/%08x' is in provider list of slot %d... so use it", service->m_provider_name.c_str(), ns.get(), ci_it->getSlotID());
useThis = true;
}
}
}
if (!useThis && !ci_it->possible_caids.empty())
{
+ mask |= 4;
for (CAID_LIST::iterator ca(caids.begin()); ca != caids.end(); ++ca)
{
- std::set<uint16_t>::iterator it = ci_it->possible_caids.find(*ca);
+ caidSet::iterator it = ci_it->possible_caids.find(*ca);
if (it != ci_it->possible_caids.end())
{
eDebug("caid '%04x' is in caid list of slot %d... so use it", *ca, ci_it->getSlotID());
- useThis=true;
+ useThis = true;
break;
}
}
if ( z != ci_caids.end() && *z == *ca )
{
eDebug("The CI in Slot %d has said it can handle caid %04x... so use it", ci_it->getSlotID(), *z);
- useThis=true;
+ useThis = true;
+ user_mapped = false;
break;
}
}
if (useThis)
{
+ // check if this CI is already assigned to this pmthandler
+ eDVBCISlot *tmp = it->cislot;
+ while(tmp)
+ {
+ if (tmp == ci_it)
+ break;
+ tmp=tmp->linked_next;
+ }
+ if (tmp) // ignore already assigned cislots...
+ {
+ eDebugCI("already assigned!");
+ continue;
+ }
+ eDebugCI("current slot %d usecount %d", ci_it->getSlotID(), ci_it->use_count);
if (ci_it->use_count) // check if this CI can descramble more than one service
{
+ bool found = false;
useThis = false;
PMTHandlerList::iterator tmp = m_pmt_handlers.begin();
- while (tmp != m_pmt_handlers.end())
+ while (!found && tmp != m_pmt_handlers.end())
{
- if ( tmp->cislot == ci_it && it != tmp )
+ eDebugCI(".");
+ eDVBCISlot *tmp_cislot = tmp->cislot;
+ while (!found && tmp_cislot)
{
+ eDebugCI("..");
eServiceReferenceDVB ref2;
tmp->pmthandler->getServiceReference(ref2);
- eDVBChannelID s1, s2;
- if (ref != ref2)
+ if ( tmp_cislot == ci_it && it->pmthandler != tmp->pmthandler )
{
- ref.getChannelID(s1);
- ref2.getChannelID(s2);
- }
- if (ref == ref2 || (s1 == s2 && canDescrambleMultipleServices(ci_it->getSlotID())))
- {
- useThis = true;
- break;
+ eDebugCI("check pmthandler %s for same service/tp", ref2.toString().c_str());
+ eDVBChannelID s1, s2;
+ if (ref != ref2)
+ {
+ eDebugCI("different services!");
+ ref.getChannelID(s1);
+ ref2.getChannelID(s2);
+ }
+ if (ref == ref2 || (s1 == s2 && canDescrambleMultipleServices(tmp_cislot->getSlotID())))
+ {
+ found = true;
+ eDebugCI("found!");
+ eDVBCISlot *tmpci = it->cislot = tmp->cislot;
+ while(tmpci)
+ {
+ ++tmpci->use_count;
+ eDebug("(2)CISlot %d, usecount now %d", tmpci->getSlotID(), tmpci->use_count);
+ tmpci=tmpci->linked_next;
+ }
+ }
}
+ tmp_cislot=tmp_cislot->linked_next;
}
+ eDebugCI("...");
++tmp;
}
}
+
if (useThis)
{
- // check if this CI is already assigned to this pmthandler
- eDVBCISlot *tmp = it->cislot;
- while(tmp)
+ if (ci_it->user_mapped) // we dont like to link user mapped CIs
{
- if (tmp == ci_it)
- break;
- tmp=tmp->linked_next;
- }
-
- if (tmp) // ignore already assigned cislots...
+ eDebugCI("user mapped CI already in use... dont link!");
continue;
+ }
++ci_it->use_count;
-// eDebug("usecount now %d", ci_it->use_count);
+ eDebug("(1)CISlot %d, usecount now %d", ci_it->getSlotID(), ci_it->use_count);
data_source ci_source=CI_A;
switch(ci_it->getSlotID())
ci_it->linked_next->setSource(ci_source);
}
it->cislot = ci_it;
+ eDebugCI("assigned!");
gotPMT(pmthandler);
}
+
+ if (it->cislot && user_mapped) // CI assigned to this pmthandler in this run.. and user mapped? then we break here.. we dont like to link other CIs to user mapped CIs
+ {
+ eDebugCI("user mapped CI assigned... dont link CIs!");
+ break;
+ }
}
}
}
else
tmp->linked_next = 0;
}
- slot->linked_next=0;
+ slot->linked_next = 0;
+ slot->user_mapped = false;
}
-// eDebug("use_count is now %d", slot->use_count);
+ eDebug("(3) slot %d usecount is now %d", slot->getSlotID(), slot->use_count);
slot = next;
}
// check if another service is waiting for the CI
eDVBCISlot *tmp = it->cislot;
while(tmp)
{
- tmp->sendCAPMT(pmthandler);
+ eDebugCI("check slot %d %d %d", tmp->getSlotID(), tmp->running_services.empty(), canDescrambleMultipleServices(tmp->getSlotID()));
+ if (tmp->running_services.empty() || canDescrambleMultipleServices(tmp->getSlotID()))
+ tmp->sendCAPMT(pmthandler);
tmp = tmp->linked_next;
}
}
if( (slot = getSlot(slotid)) == 0 )
return -1;
-
+
return slot->getMMIState();
}
ePyObject caid_list = PyList_New(caids);
ePyObject service_list = PyList_New(services);
ePyObject provider_list = PyList_New(providers);
- std::set<uint16_t>::iterator caid_it(slot->possible_caids.begin());
+ caidSet::iterator caid_it(slot->possible_caids.begin());
while(caids)
{
--caids;
- PyTuple_SET_ITEM(caid_list, caids, PyLong_FromLong(*caid_it));
+ PyList_SET_ITEM(caid_list, caids, PyLong_FromLong(*caid_it));
++caid_it;
}
- std::set<eServiceReference>::iterator ref_it(slot->possible_services.begin());
+ serviceSet::iterator ref_it(slot->possible_services.begin());
while(services)
{
--services;
- PyTuple_SET_ITEM(service_list, services, PyString_FromString(ref_it->toString().c_str()));
+ PyList_SET_ITEM(service_list, services, PyString_FromString(ref_it->toString().c_str()));
++ref_it;
}
- std::set<std::string>::iterator provider_it(slot->possible_providers.begin());
+ providerSet::iterator provider_it(slot->possible_providers.begin());
while(providers)
{
+ ePyObject tuple = PyTuple_New(2);
+ PyTuple_SET_ITEM(tuple, 0, PyString_FromString(provider_it->first.c_str()));
+ PyTuple_SET_ITEM(tuple, 1, PyLong_FromUnsignedLong(provider_it->second));
--providers;
- PyTuple_SET_ITEM(provider_list, providers, PyString_FromString(provider_it->c_str()));
+ PyList_SET_ITEM(provider_list, providers, tuple);
++provider_it;
}
PyTuple_SET_ITEM(tuple, 0, service_list);
{
const char *errstr = "eDVBCIInterfaces::setDescrambleRules not enough entrys in argument tuple!!\n"
"first argument should be a pythonlist with possible services\n"
- "second argument should be a pythonlist with possible providers\n"
+ "second argument should be a pythonlist with possible providers/dvbnamespace tuples\n"
"third argument should be a pythonlist with possible caids";
PyErr_SetString(PyExc_StandardError, errstr);
return -1;
while(size)
{
--size;
- ePyObject str = PyList_GET_ITEM(provider_list, size);
- if (!PyString_Check(str))
+ ePyObject tuple = PyList_GET_ITEM(provider_list, size);
+ if (!PyTuple_Check(tuple))
{
char buf[255];
- snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules entry in provider list is not a string it is '%s'!!", PyObject_TypeStr(str));
+ snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules entry in provider list is not a tuple it is '%s'!!", PyObject_TypeStr(tuple));
PyErr_SetString(PyExc_StandardError, buf);
return -1;
}
- char *tmpstr = PyString_AS_STRING(str);
+ if (PyTuple_Size(tuple) != 2)
+ {
+ char buf[255];
+ snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules provider tuple has %d instead of 2 entries!!", PyTuple_Size(tuple));
+ PyErr_SetString(PyExc_StandardError, buf);
+ return -1;
+ }
+ if (!PyString_Check(PyTuple_GET_ITEM(tuple, 0)))
+ {
+ char buf[255];
+ snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules 1st entry in provider tuple is not a string it is '%s'", PyObject_TypeStr(PyTuple_GET_ITEM(tuple, 0)));
+ PyErr_SetString(PyExc_StandardError, buf);
+ return -1;
+ }
+ if (!PyLong_Check(PyTuple_GET_ITEM(tuple, 1)))
+ {
+ char buf[255];
+ snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules 2nd entry in provider tuple is not a long it is '%s'", PyObject_TypeStr(PyTuple_GET_ITEM(tuple, 1)));
+ PyErr_SetString(PyExc_StandardError, buf);
+ return -1;
+ }
+ char *tmpstr = PyString_AS_STRING(PyTuple_GET_ITEM(tuple, 0));
+ uint32_t orbpos = PyLong_AsUnsignedLong(PyTuple_GET_ITEM(tuple, 1));
if (strlen(tmpstr))
- slot->possible_providers.insert(tmpstr);
+ slot->possible_providers.insert(std::pair<std::string, uint32_t>(tmpstr, orbpos));
else
- eDebug("eDVBCIInterfaces::setDescrambleRules ignore invalid entry in provider name list!!");
+ eDebug("eDVBCIInterfaces::setDescrambleRules ignore invalid entry in provider tuple (string is empty)!!");
};
size = PyList_Size(caid_list);
while(size)
{
--size;
ePyObject caid = PyList_GET_ITEM(caid_list, size);
- if (!PyInt_Check(caid))
+ if (!PyLong_Check(caid))
{
char buf[255];
snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules entry in caid list is not a long it is '%s'!!", PyObject_TypeStr(caid));
PyErr_SetString(PyExc_StandardError, buf);
return -1;
}
- int tmpcaid = PyInt_AsLong(caid);
+ int tmpcaid = PyLong_AsLong(caid);
if (tmpcaid > 0 && tmpcaid < 0x10000)
slot->possible_caids.insert(tmpcaid);
else
return 0;
}
+PyObject *eDVBCIInterfaces::readCICaIds(int slotid)
+{
+ eDVBCISlot *slot = getSlot(slotid);
+ if (!slot)
+ {
+ char tmp[255];
+ snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+ PyErr_SetString(PyExc_StandardError, tmp);
+ }
+ else
+ {
+ int idx=0;
+ eDVBCICAManagerSession *ca_manager = slot->getCAManager();
+ const std::vector<uint16_t> *ci_caids = ca_manager ? &ca_manager->getCAIDs() : 0;
+ ePyObject list = PyList_New(ci_caids ? ci_caids->size() : 0);
+ if (ci_caids)
+ {
+ for (std::vector<uint16_t>::const_iterator it = ci_caids->begin(); it != ci_caids->end(); ++it)
+ PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it));
+ }
+ return list;
+ }
+ return 0;
+}
+
+int eDVBCIInterfaces::setCIClockRate(int slotid, int rate)
+{
+ eDVBCISlot *slot = getSlot(slotid);
+ if (slot)
+ return slot->setClockRate(rate);
+ return -1;
+}
+
int eDVBCISlot::send(const unsigned char *data, size_t len)
{
int res=0;
void eDVBCISlot::data(int what)
{
+ eDebugCI("CISlot %d what %d\n", getSlotID(), what);
if(what == eSocketNotifier::Priority) {
if(state != stateRemoved) {
state = stateRemoved;
- eDebug("ci removed");
while(sendqueue.size())
{
delete [] sendqueue.top().data;
sendqueue.pop();
}
- eDVBCIInterfaces::getInstance()->ciRemoved(this);
eDVBCISession::deleteSessions(this);
+ eDVBCIInterfaces::getInstance()->ciRemoved(this);
notifier->setRequested(eSocketNotifier::Read);
eDVBCI_UI::getInstance()->setState(getSlotID(),0);
}
reset();
if(state != stateInserted) {
- eDebug("ci inserted");
+ eDebug("ci inserted in slot %d", getSlotID());
state = stateInserted;
eDVBCI_UI::getInstance()->setState(getSlotID(),1);
notifier->setRequested(eSocketNotifier::Read|eSocketNotifier::Priority);
ca_manager = 0;
use_count = 0;
linked_next = 0;
+ user_mapped = false;
+ first_plugged = true;
slotid = nr;
sprintf(filename, "/dev/ci%d", nr);
+// possible_caids.insert(0x1702);
+// possible_providers.insert(providerPair("PREMIERE", 0xC00000));
+// possible_services.insert(eServiceReference("1:0:1:2A:4:85:C00000:0:0:0:"));
+
fd = ::open(filename, O_RDWR | O_NONBLOCK);
- eDebug("eDVBCISlot has fd %d", fd);
+ eDebugCI("CI Slot %d has fd %d", getSlotID(), fd);
state = stateInvalid;
if (fd >= 0)
eDVBCISlot::~eDVBCISlot()
{
+ eDVBCISession::deleteSessions(this);
}
void eDVBCISlot::setAppManager( eDVBCIApplicationManagerSession *session )
int eDVBCISlot::reset()
{
- eDebug("edvbcislot: reset requested");
+ eDebug("CI Slot %d: reset requested", getSlotID());
if (state == stateInvalid)
{
int eDVBCISlot::startMMI()
{
- eDebug("edvbcislot: startMMI()");
+ eDebug("CI Slot %d: startMMI()", getSlotID());
if(application_manager)
application_manager->startMMI();
int eDVBCISlot::stopMMI()
{
- eDebug("edvbcislot: stopMMI()");
+ eDebug("CI Slot %d: stopMMI()", getSlotID());
if(mmi_session)
mmi_session->stopMMI();
int eDVBCISlot::answerText(int answer)
{
- eDebug("edvbcislot: answerText(%d)", answer);
+ eDebug("CI Slot %d: answerText(%d)", getSlotID(), answer);
if(mmi_session)
mmi_session->answerText(answer);
int eDVBCISlot::answerEnq(char *value)
{
- eDebug("edvbcislot: answerENQ(%s)", value);
+ eDebug("CI Slot %d: answerENQ(%s)", getSlotID(), value);
if(mmi_session)
mmi_session->answerEnq(value);
int eDVBCISlot::cancelEnq()
{
- eDebug("edvbcislot: cancelENQ");
+ eDebug("CI Slot %d: cancelENQ", getSlotID());
if(mmi_session)
mmi_session->cancelEnq();
fprintf(ci, "D");
break;
default:
- eDebug("setSource %d failed!!!\n", (int)source);
+ eDebug("CI Slot %d: setSource %d failed!!!\n", getSlotID(), (int)source);
break;
}
fclose(ci);
return 0;
}
if (source != TUNER_A && source != TUNER_B)
- eDebug("setSource %d failed!!!\n", (int)source);
+ eDebug("CI Slot %d: setSource %d failed!!!\n", getSlotID(), (int)source);
else
fprintf(ci, "%s", source==TUNER_A ? "A" : "B"); // configure CI data source (TunerA, TunerB)
fclose(ci);
}
- eDebug("eDVBCISlot->setSource(%d)", (int)source);
+ eDebug("CI Slot %d setSource(%d)", getSlotID(), (int)source);
return 0;
}
+int eDVBCISlot::setClockRate(int rate)
+{
+ char buf[64];
+ snprintf(buf, 64, "/proc/stb/tsmux/ci%d_tsclk", slotid);
+ FILE *ci = fopen(buf, "wb");
+ if (ci)
+ {
+ if (rate)
+ fprintf(ci, "high");
+ else
+ fprintf(ci, "normal");
+ fclose(ci);
+ return 0;
+ }
+ return -1;
+}
+
eAutoInitP0<eDVBCIInterfaces> init_eDVBCIInterfaces(eAutoInitNumbers::dvb, "CI Slots");
TUNER_A, TUNER_B, TUNER_C, TUNER_D, CI_A, CI_B, CI_C, CI_D
};
+typedef std::pair<std::string, uint32_t> providerPair;
+typedef std::set<providerPair> providerSet;
+typedef std::set<uint16_t> caidSet;
+typedef std::set<eServiceReference> serviceSet;
+
class eDVBCISlot: public iObject, public Object
{
friend class eDVBCIInterfaces;
eDVBCICAManagerSession *ca_manager;
eDVBCIMMISession *mmi_session;
std::priority_queue<queueData> sendqueue;
- std::set<uint16_t> possible_caids;
- std::set<eServiceReference> possible_services;
- std::set<std::string> possible_providers;
+ caidSet possible_caids;
+ serviceSet possible_services;
+ providerSet possible_providers;
int use_count;
eDVBCISlot *linked_next; // needed for linked CI handling
data_source current_source;
int current_tuner;
+ bool user_mapped;
void data(int);
+ bool first_plugged;
public:
enum {stateRemoved, stateInserted, stateInvalid, stateResetted};
eDVBCISlot(eMainloop *context, int nr);
void removeService(uint16_t program_number=0xFFFF);
int getNumOfServices() { return running_services.size(); }
int setSource(data_source source);
+ int setClockRate(int);
};
struct CIPmtHandler
int getMMIState(int slot);
int sendCAPMT(int slot);
int setInputSource(int tunerno, data_source source);
+ int setCIClockRate(int slot, int rate);
#ifdef SWIG
public:
#endif
int getNumOfSlots() { return m_slots.size(); }
PyObject *getDescrambleRules(int slotid);
RESULT setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject) );
+ PyObject *readCICaIds(int slotid);
};
#endif
return eDVBCIInterfaces::getInstance()->getMMIState(slot);
}
+int eDVBCI_UI::setClockRate(int slot, int rate)
+{
+ return eDVBCIInterfaces::getInstance()->setCIClockRate(slot, rate);
+}
+
//FIXME: correct "run/startlevel"
eAutoInitP0<eDVBCI_UI> init_dvbciui(eAutoInitNumbers::rc, "DVB-CI UI");
#endif
void stateChanged(int val) { ciStateChanged(val); }
public:
+ enum { rateNormal, rateHigh };
PSignal1<void,int> ciStateChanged;
#ifndef SWIG
eDVBCI_UI();
int answerMenu(int slot, int answer);
int answerEnq(int slot, char *val);
int cancelEnq(int slot);
+ int setClockRate(int slot, int rate);
};
#endif
+#include <cstring>
#include <lib/base/init.h>
#include <lib/base/init_num.h>
#include <lib/gdi/accel.h>
if (!current_font)
return -1;
-
+
+ if (!current_face)
+ eFatal("eTextPara::renderString: no current_face");
+ if (!current_face->size)
+ eFatal("eTextPara::renderString: no current_face->size");
+
if (cursor.y()==-1)
{
cursor=ePoint(area.x(), area.y()+(current_face->size->metrics.ascender>>6));
+#include <cstdlib>
+#include <cstring>
#include <lib/gdi/gpixmap.h>
#include <lib/gdi/region.h>
#include <lib/gdi/accel.h>
if (PyInt_Check(pstring) && data) /* if the string is in fact a number, it refers to the 'data' list. */
pstring = PyTuple_GetItem(data, PyInt_AsLong(pstring));
+ /* don't do anything if we have 'None' as string */
+ if (pstring == Py_None)
+ continue;
+
const char *string = (PyString_Check(pstring)) ? PyString_AsString(pstring) : "<not-a-string>";
int x = PyInt_AsLong(px) + offset.x();
int y = PyInt_AsLong(py) + offset.y();
if (PyInt_Check(ppixmap) && data) /* if the pixemap is in fact a number, it refers to the 'data' list. */
ppixmap = PyTuple_GetItem(data, PyInt_AsLong(ppixmap));
+ /* don't do anything if we have 'None' as pixmap */
+ if (ppixmap == Py_None)
+ continue;
+
int x = PyInt_AsLong(px) + offset.x();
int y = PyInt_AsLong(py) + offset.y();
int width = PyInt_AsLong(pwidth);
void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
int currentCursorSelectable();
void setList(SWIG_PYOBJECT(ePyObject) list);
- void setFont(int fnt, gFont *fnt);
+ void setFont(int fnt, gFont *font);
void setBuildFunc(SWIG_PYOBJECT(ePyObject) func);
void setSelectableFunc(SWIG_PYOBJECT(ePyObject) func);
void setItemHeight(int height);
invalidate(changed);
}
-std::string eSubtitleWidget::replace_all(const std::string &in, const std::string &entity, const std::string &symbol)
-{
- std::string out = in;
- std::string::size_type loc = 0;
- while (( loc = out.find(entity, loc)) != std::string::npos )
- out.replace(loc, entity.length(), symbol);
- return out;
-}
-
int eSubtitleWidget::event(int event, void *data, void *data2)
{
switch (event)
gRegion m_visible_region;
ePtr<gPixmap> m_pixmap; // pixmap to paint on next evtPaint
- std::string replace_all(const std::string &in, const std::string &entity, const std::string &symbol);
};
#endif
-from config import config, ConfigSlider, ConfigSelection, ConfigYesNo, ConfigEnableDisable, ConfigSubsection, ConfigBoolean
+from config import config, ConfigSlider, ConfigSelection, ConfigYesNo, \
+ ConfigEnableDisable, ConfigSubsection, ConfigBoolean, ConfigNumber
from enigma import eAVSwitch, getDesktop
from SystemInfo import SystemInfo
config.av.tvsystem = ConfigSelection(choices = {"pal": _("PAL"), "ntsc": _("NTSC"), "multinorm": _("multinorm")}, default="pal")
config.av.wss = ConfigEnableDisable(default = True)
config.av.defaultac3 = ConfigYesNo(default = False)
+ config.av.generalAC3delay = ConfigNumber(default = 0)
+ config.av.generalPCMdelay = ConfigNumber(default = 0)
config.av.vcrswitch = ConfigEnableDisable(default = False)
iAVSwitch = AVSwitch()
@cached
def getText(self):
- assert self.type not in [self.LOCK, self.SLOT_NUMBER], "the text output of FrontendInfo cannot be used for lock info"
+ assert self.type not in (self.LOCK, self.SLOT_NUMBER), "the text output of FrontendInfo cannot be used for lock info"
percent = None
if self.type == self.BER: # as count
count = self.source.ber
@cached
def getBool(self):
- assert self.type in [self.LOCK, self.BER], "the boolean output of FrontendInfo can only be used for lock or BER info"
+ assert self.type in (self.LOCK, self.BER), "the boolean output of FrontendInfo can only be used for lock or BER info"
if self.type == self.LOCK:
lock = self.source.lock
if lock is None:
def __init__(self, type):
Converter.__init__(self, type)
- self.type = {
- "RadioText": self.RADIO_TEXT_CHANGED,
- "RtpText": self.RTP_TEXT_CHANGED,
- "RasInteractiveAvailable": self.RASS_INTERACTIVE_AVAILABLE
+ self.type, self.interesting_events = {
+ "RadioText": (self.RADIO_TEXT_CHANGED, (iPlayableService.evUpdatedRadioText,)),
+ "RtpText": (self.RTP_TEXT_CHANGED, (iPlayableService.evUpdatedRtpText,)),
+ "RasInteractiveAvailable": (self.RASS_INTERACTIVE_AVAILABLE, (iPlayableService.evUpdatedRassInteractivePicMask,))
}[type]
- self.interesting_events = {
- self.RADIO_TEXT_CHANGED: [iPlayableService.evUpdatedRadioText],
- self.RTP_TEXT_CHANGED: [iPlayableService.evUpdatedRtpText],
- self.RASS_INTERACTIVE_AVAILABLE: [iPlayableService.evUpdatedRassInteractivePicMask]
- }[self.type]
-
@cached
def getText(self):
decoder = self.source.decoder
def __init__(self, type):
Converter.__init__(self, type)
- self.type = {
- "HasTelext": self.HAS_TELETEXT,
- "IsMultichannel": self.IS_MULTICHANNEL,
- "IsCrypted": self.IS_CRYPTED,
- "IsWidescreen": self.IS_WIDESCREEN,
- "SubservicesAvailable": self.SUBSERVICES_AVAILABLE,
- "VideoWidth": self.XRES,
- "VideoHeight": self.YRES,
+ self.type, self.interesting_events = {
+ "HasTelext": (self.HAS_TELETEXT, (iPlayableService.evUpdatedInfo,)),
+ "IsMultichannel": (self.IS_MULTICHANNEL, (iPlayableService.evUpdatedInfo,)),
+ "IsCrypted": (self.IS_CRYPTED, (iPlayableService.evUpdatedInfo,)),
+ "IsWidescreen": (self.IS_WIDESCREEN, (iPlayableService.evVideoSizeChanged,)),
+ "SubservicesAvailable": (self.SUBSERVICES_AVAILABLE, (iPlayableService.evUpdatedEventInfo,)),
+ "VideoWidth": (self.XRES, (iPlayableService.evVideoSizeChanged,)),
+ "VideoHeight": (self.YRES, (iPlayableService.evVideoSizeChanged,)),
}[type]
- self.interesting_events = {
- self.HAS_TELETEXT: [iPlayableService.evUpdatedInfo],
- self.IS_MULTICHANNEL: [iPlayableService.evUpdatedInfo],
- self.IS_CRYPTED: [iPlayableService.evUpdatedInfo],
- self.IS_WIDESCREEN: [iPlayableService.evVideoSizeChanged],
- self.SUBSERVICES_AVAILABLE: [iPlayableService.evUpdatedEventInfo],
- self.XRES: [iPlayableService.evVideoSizeChanged],
- self.YRES: [iPlayableService.evVideoSizeChanged],
- }[self.type]
-
def getServiceInfoString(self, info, what):
v = info.getInfo(what)
if v == -1:
audio = service.audioTracks()
if audio:
n = audio.getNumberOfTracks()
- for x in range(n):
- i = audio.getTrackInfo(x)
+ idx = 0
+ while idx < n:
+ i = audio.getTrackInfo(idx)
description = i.getDescription();
- if description.find("AC3") != -1 or description.find("DTS") != -1:
+ if "AC3" in description or "DTS" in description:
return True
+ idx += 1
return False
elif self.type == self.IS_CRYPTED:
return info.getInfo(iServiceInformation.sIsCrypted) == 1
elif self.type == self.IS_WIDESCREEN:
- return info.getInfo(iServiceInformation.sAspect) in [3, 4, 7, 8, 0xB, 0xC, 0xF, 0x10]
+ return info.getInfo(iServiceInformation.sAspect) in (3, 4, 7, 8, 0xB, 0xC, 0xF, 0x10)
elif self.type == self.SUBSERVICES_AVAILABLE:
subservices = service.subServices()
return subservices and subservices.getNumberOfSubservices() > 0
text = property(getText)
def changed(self, what):
- if what[0] != self.CHANGED_SPECIFIC or what[1] in [iPlayableService.evStart]:
+ if what[0] != self.CHANGED_SPECIFIC or what[1] in (iPlayableService.evStart,):
Converter.changed(self, what)
elif type == "Gauge":
self.type = self.TYPE_GAUGE
else:
- raise ElementError("type must be {Length|Position|Remaining|Gauge} with optional arguments {Negate|Detailed|ShowHours|NoSeconds}")
+ raise ElementError("type must be {Length|Position|Remaining|Gauge} with optional arguments {Negate|Detailed|ShowHours|ShowNoSeconds} for ServicePosition converter")
self.poll_enabled = self.type != self.TYPE_LENGTH
value = property(getValue)
def changed(self, what):
- cutlist_refresh = what[0] != self.CHANGED_SPECIFIC or what[1] in [iPlayableService.evCuesheetChanged]
- time_refresh = what[0] == self.CHANGED_POLL or what[0] == self.CHANGED_SPECIFIC and what[1] in [iPlayableService.evCuesheetChanged]
+ cutlist_refresh = what[0] != self.CHANGED_SPECIFIC or what[1] in (iPlayableService.evCuesheetChanged,)
+ time_refresh = what[0] == self.CHANGED_POLL or what[0] == self.CHANGED_SPECIFIC and what[1] in (iPlayableService.evCuesheetChanged,)
if cutlist_refresh:
if self.type == self.TYPE_GAUGE:
elif type == "Duration":
self.type = self.DURATION
else:
- raise ElementError("'%s' is not <StartTime|EndTime|Duration> for eEventTime converter" % type)
+ raise ElementError("'%s' is not <StartTime|EndTime|Duration> for ServiceTime converter" % type)
@cached
def getTime(self):
# "+d:[p:t[,p:t...]]" with d=demux nr, p: pid, t: type
class Streaming(Converter):
- def __init__(self, type):
- Converter.__init__(self, type)
-
@cached
def getText(self):
service = self.source.service
index = property(getIndex, setIndex)
def entry_changed(self, index):
- self.downstream_elements.entry_changed(index)
+ if self.content:
+ self.content.invalidateEntry(index)
def startElement(self, name, attrs):
#print name, ":", attrs.items()
self.elements.append(name)
- if name in ["hardware", "bcastsystem", "satellite", "tag"]:
+ if name in ("hardware", "bcastsystem", "satellite", "tag"):
if not attrs.has_key("type"):
self.printError(str(name) + " tag with no type attribute")
if self.elements[-3] == "default":
class ElementError(Exception):
def __init__(self, message):
- self.message = message
+ self.msg = message
def __str__(self):
- return self.message
+ return self.msg
class Element(object):
CHANGED_DEFAULT = 0 # initial "pull" state
return x and x[1]
def moveToService(self,serviceref):
+ if not serviceref:
+ return
index = 0
refstr = serviceref.toString()
for x in self.list:
index += 1
def moveToEventId(self, eventId):
+ if not eventId:
+ return
index = 0
for x in self.list:
if x[1] == eventId:
self.timer.callback.remove(self.runIdle)
def bus(self):
- ide_cf = self.device.find("hd") == 0 and self.devidex2.find("host0") == -1 # 7025 specific
- internal = self.device.find("hd") == 0
+ ide_cf = self.device[:2] == "hd" and "host0" not in self.devidex2 # 7025 specific
+ internal = self.device[:2] == "hd"
if ide_cf:
ret = "External (CF)"
elif internal:
return "%d.%03d GB" % (cap/1024, cap%1024)
def model(self):
- if self.device.find("hd") == 0:
+ if self.device[:2] == "hd":
procfile = tryOpen("/proc/ide/"+self.device+"/model")
if procfile == "":
return ""
line = procfile.readline()
procfile.close()
return line.strip()
- elif self.device.find("sd") == 0:
+ elif self.device[:2] == "sd":
procfile = tryOpen("/sys/block/"+self.device+"/device/vendor")
if procfile == "":
return ""
# we set the hdd into standby.
def readStats(self):
l = open("/sys/block/%s/stat" % self.device).read()
- nr_read = int(l[:8].strip())
- nr_write = int(l[4*9:4*9+8].strip())
- return nr_read, nr_write
+ (nr_read, _, _, _, nr_write) = l.split()[:5]
+ return int(nr_read), int(nr_write)
def startIdle(self):
self.last_access = time.time()
("/", _("Internal Flash"))
]
- for x in p:
- self.partitions.append(Partition(mountpoint = x[0], description = x[1]))
+ self.partitions.extend([ Partition(mountpoint = x[0], description = x[1]) for x in p ])
def getBlockDevInfo(self, blockdev):
devpath = "/sys/block/" + blockdev
try:
removable = bool(int(open(devpath + "/removable").read()))
dev = int(open(devpath + "/dev").read().split(':')[0])
- if dev in [7, 31]: # loop, mtdblock
+ if dev in (7, 31): # loop, mtdblock
blacklisted = True
if blockdev[0:2] == 'sr':
is_cdrom = True
if blockdev[0:2] == 'hd':
try:
media = open("/proc/ide/%s/media" % blockdev).read()
- if media.find("cdrom") != -1:
+ if "cdrom" in media:
is_cdrom = True
except IOError:
error = True
self.on_partition_list_change("remove", x)
l = len(device)
if l and not device[l-1].isdigit():
- idx = 0
for hdd in self.hdd:
if hdd.device == device:
- self.hdd[x].stop()
- del self.hdd[idx]
+ hdd.stop()
+ self.hdd.remove(hdd)
break
SystemInfo["Harddisk"] = len(self.hdd) > 0
l = [ ]
for (actionmap, context, actions) in helplist:
for (action, help) in actions:
- entry = [ ]
-
buttons = queryKeyBinding(context, action)
# do not display entries which are not accessible from keys
if flags & 8: # for long keypresses, prepend l_ into the key name.
name = (name[0], "long")
- entry.append( (actionmap, context, action, name ) )
-
+ entry = [ (actionmap, context, action, name ) ]
+
if isinstance(help, list):
self.extendedHelp = True
print "extendedHelpEntry found"
- entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 26, 0, 0, help[0]) )
- entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 28, 400, 20, 1, 0, help[1]) )
+ entry.extend((
+ (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 26, 0, 0, help[0]),
+ (eListboxPythonMultiContent.TYPE_TEXT, 0, 28, 400, 20, 1, 0, help[1])
+ ))
else:
entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 28, 0, 0, help) )
self.activateLanguage(self.langlist[index])
def getLanguageList(self):
- list = []
- for x in self.langlist:
- list.append((x, self.lang[x]))
- return list
+ return [ (x, self.lang[x]) for x in self.langlist ]
def getActiveLanguage(self):
return self.activeLanguage
def getActiveLanguageIndex(self):
- for count in range(len(self.langlist)):
- if self.langlist[count] == self.activeLanguage:
- return count
+ idx = 0
+ for x in self.langlist:
+ if x == self.activeLanguage:
+ return idx
+ idx += 1
return None
def getLanguage(self):
text = serviceref.getName()
if text is "":
text = path.split(serviceref.getPath().split('/')[-1])[1]
- res.append((eListboxPythonMultiContent.TYPE_TEXT,25, 0, 470, 32, 0, RT_VALIGN_CENTER, text))
+ res.append((eListboxPythonMultiContent.TYPE_TEXT,25, 1, 470, 22, 0, RT_VALIGN_CENTER, text))
png = None
if state == STATE_PLAY:
png = PlayIcon
png = ForwardIcon
if png is not None:
- res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 5, 0, 16, 16, png))
+ res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 5, 3, 16, 16, png))
return res
def __init__(self, enableWrapAround = False):
MenuList.__init__(self, [], enableWrapAround, eListboxPythonMultiContent)
self.l.setFont(0, gFont("Regular", 18))
- self.l.setItemHeight(22)
+ self.l.setItemHeight(23)
self.currPlaying = -1
self.oldCurrPlaying = -1
self.serviceHandler = eServiceCenter.getInstance()
from socket import *
from enigma import eConsoleAppContainer
from Components.Console import Console
+from Components.PluginComponent import plugins
+from Plugins.Plugin import PluginDescriptor
class Network:
def __init__(self):
self.activateConsole = Console()
self.resetNetworkConsole = Console()
self.DnsConsole = Console()
+ self.config_ready = None
self.getInterfaces()
def getInterfaces(self, callback = None):
self.loadNameserverConfig()
print "read configured interfac:", ifaces
print "self.ifaces after loading:", self.ifaces
+ self.config_ready = True
+ self.msgPlugins()
if callback is not None:
callback(True)
def restartNetwork(self,callback = None):
self.restartConsole = Console()
+ self.config_ready = False
+ self.msgPlugins()
self.commands = []
self.commands.append("/etc/init.d/avahi-daemon stop")
for iface in self.ifaces.keys():
def stopLinkStateConsole(self):
if self.LinkConsole is not None:
- self.LinkConsole = None
-
+ if len(self.LinkConsole.appContainers):
+ for name in self.LinkConsole.appContainers.keys():
+ self.LinkConsole.kill(name)
+
def stopDNSConsole(self):
if self.DnsConsole is not None:
- self.DnsConsole = None
-
+ if len(self.DnsConsole.appContainers):
+ for name in self.DnsConsole.appContainers.keys():
+ self.DnsConsole.kill(name)
+
def stopRestartConsole(self):
if self.restartConsole is not None:
- self.restartConsole = None
-
+ if len(self.restartConsole.appContainers):
+ for name in self.restartConsole.appContainers.keys():
+ self.restartConsole.kill(name)
+
def stopGetInterfacesConsole(self):
if self.Console is not None:
- self.Console = None
-
+ if len(self.Console.appContainers):
+ for name in self.Console.appContainers.keys():
+ self.Console.kill(name)
+
def stopDeactivateInterfaceConsole(self):
- if self.deactivateInterfaceConsole:
- self.deactivateInterfaceConsole = None
-
+ if self.deactivateInterfaceConsole is not None:
+ if len(self.deactivateInterfaceConsole.appContainers):
+ for name in self.deactivateInterfaceConsole.appContainers.keys():
+ self.deactivateInterfaceConsole.kill(name)
+
def checkforInterface(self,iface):
if self.getAdapterAttribute(iface, 'up') is True:
return True
netmask = str(inet_ntoa(pack('>L', nm)))
return netmask
+ def msgPlugins(self):
+ if self.config_ready is not None:
+ for p in plugins.getPlugins(PluginDescriptor.WHERE_NETWORKCONFIG_READ):
+ p(reason=self.config_ready)
+
iNetwork = Network()
def InitNetwork():
def getRoot(self, slotid, connto):
visited = []
- while (self.NimManager.getNimConfig(connto).configMode.value in ["satposdepends", "equal", "loopthrough"]):
+ while (self.NimManager.getNimConfig(connto).configMode.value in ("satposdepends", "equal", "loopthrough")):
connto = int(self.NimManager.getNimConfig(connto).connectedTo.value)
if connto in visited: # prevent endless loop
return slotid
hw = HardwareInfo()
if slot.isCompatible("DVB-S"):
print "slot: " + str(x) + " configmode: " + str(nim.configMode.value)
- if nim.configMode.value in [ "loopthrough", "satposdepends", "nothing" ]:
+ if nim.configMode.value in ( "loopthrough", "satposdepends", "nothing" ):
pass
else:
sec.setSlotNotLinked(x)
else:
sec.setLoDirection(rotorParam.WEST)
- if currLnb.powerMeasurement.value:
- sec.setUseInputpower(True)
- sec.setInputpowerDelta(currLnb.powerThreshold.value)
- turn_speed_dict = { "fast": rotorParam.FAST, "slow": rotorParam.SLOW }
- if turn_speed_dict.has_key(currLnb.turningSpeed.value):
- turning_speed = turn_speed_dict[currLnb.turningSpeed.value]
+ if currLnb.powerMeasurement.value:
+ sec.setUseInputpower(True)
+ sec.setInputpowerDelta(currLnb.powerThreshold.value)
+ turn_speed_dict = { "fast": rotorParam.FAST, "slow": rotorParam.SLOW }
+ if turn_speed_dict.has_key(currLnb.turningSpeed.value):
+ turning_speed = turn_speed_dict[currLnb.turningSpeed.value]
+ else:
+ beg_time = localtime(currLnb.fastTurningBegin.value)
+ end_time = localtime(currLnb.fastTurningEnd.value)
+ turning_speed = ((beg_time.tm_hour + 1) * 60 + beg_time.tm_min + 1) << 16
+ turning_speed |= (end_time.tm_hour + 1) * 60 + end_time.tm_min + 1
+ sec.setRotorTurningSpeed(turning_speed)
else:
- beg_time = localtime(currLnb.fastTurningBegin.value)
- end_time = localtime(currLnb.fastTurningEnd.value)
- turning_speed = ((beg_time.tm_hour + 1) * 60 + beg_time.tm_min + 1) << 16
- turning_speed |= (end_time.tm_hour + 1) * 60 + end_time.tm_min + 1
- sec.setRotorTurningSpeed(turning_speed)
- else:
- sec.setUseInputpower(False)
+ sec.setUseInputpower(False)
sec.setLNBSlotMask(tunermask)
def __init__(self, slot, type, description, has_outputs = True, internally_connectable = None):
self.slot = slot
- if type not in ["DVB-S", "DVB-C", "DVB-T", "DVB-S2", None]:
+ if type not in ("DVB-S", "DVB-C", "DVB-T", "DVB-S2", None):
print "warning: unknown NIM type %s, not using." % type
type = None
def isCompatible(self, what):
compatible = {
- None: [None],
- "DVB-S": ["DVB-S", None],
- "DVB-C": ["DVB-C", None],
- "DVB-T": ["DVB-T", None],
- "DVB-S2": ["DVB-S", "DVB-S2", None]
+ None: (None,),
+ "DVB-S": ("DVB-S", None),
+ "DVB-C": ("DVB-C", None),
+ "DVB-T": ("DVB-T", None),
+ "DVB-S2": ("DVB-S", "DVB-S2", None)
}
return what in compatible[self.type]
def connectableTo(self):
connectable = {
- "DVB-S": ["DVB-S", "DVB-S2"],
- "DVB-C": ["DVB-C"],
- "DVB-T": ["DVB-T"],
- "DVB-S2": ["DVB-S", "DVB-S2"]
+ "DVB-S": ("DVB-S", "DVB-S2"),
+ "DVB-C": ("DVB-C",),
+ "DVB-T": ("DVB-T",),
+ "DVB-S2": ("DVB-S", "DVB-S2")
}
return connectable[self.type]
if configMode == "simple":
dm = nim.diseqcMode.value
- if dm in ["single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if dm in ("single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
if nim.diseqcA.orbital_position != 3601:
list.append(self.satList[nim.diseqcA.index-1])
- if dm in ["toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if dm in ("toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
if nim.diseqcB.orbital_position != 3601:
list.append(self.satList[nim.diseqcB.index-1])
if dm == "diseqc_a_b_c_d":
def InitSecParams():
config.sec = ConfigSubsection()
- x = ConfigInteger(default=15, limits = (0, 9999))
- x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_CONT_TONE, configElement.value))
- config.sec.delay_after_continuous_tone_change = x
+ x = ConfigInteger(default=25, limits = (0, 9999))
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC, configElement.value))
+ config.sec.delay_after_continuous_tone_disable_before_diseqc = x
+
+ x = ConfigInteger(default=10, limits = (0, 9999))
+ x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_FINAL_CONT_TONE_CHANGE, configElement.value))
+ config.sec.delay_after_final_continuous_tone_change = x
x = ConfigInteger(default=10, limits = (0, 9999))
x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_FINAL_VOLTAGE_CHANGE, configElement.value))
"unicable": _("Unicable"),
"c_band": _("C-Band"),
"user_defined": _("User defined")}
+
lnb_choices_default = "universal_lnb"
unicablelnbproducts = {
- "Humax": {"150 SCR":["1210","1420","1680","2040"]},
- "Inverto": {"IDLP-40UNIQD+S":["1680","1420","2040","1210"]},
- "Kathrein": {"UAS481":["1400","1516","1632","1748"]},
- "Kreiling": {"KR1440":["1680","1420","2040","1210"]},
- "Radix": {"Unicable LNB":["1680","1420","2040","1210"]},
- "Wisi": {"OC 05":["1210","1420","1680","2040"]}}
+ "Humax": {"150 SCR":("1210","1420","1680","2040")},
+ "Inverto": {"IDLP-40UNIQD+S":("1680","1420","2040","1210")},
+ "Kathrein": {"UAS481":("1400","1516","1632","1748")},
+ "Kreiling": {"KR1440":("1680","1420","2040","1210")},
+ "Radix": {"Unicable LNB":("1680","1420","2040","1210")},
+ "Wisi": {"OC 05":("1210","1420","1680","2040")}}
UnicableLnbManufacturers = unicablelnbproducts.keys()
UnicableLnbManufacturers.sort()
unicablematrixproducts = {
"Ankaro": {
- "UCS 51440":["1400","1632","1284","1516"],
- "UCS 51820":["1400","1632","1284","1516","1864","2096","1748","1980"],
- "UCS 51840":["1400","1632","1284","1516","1864","2096","1748","1980"],
- "UCS 52240":["1400","1632"],
- "UCS 52420":["1400","1632","1284","1516"],
- "UCS 52440":["1400","1632","1284","1516"],
- "UCS 91440":["1400","1632","1284","1516"],
- "UCS 91820":["1400","1632","1284","1516","1864","2096","1748","1980"],
- "UCS 91840":["1400","1632","1284","1516","1864","2096","1748","1980"],
- "UCS 92240":["1400","1632"],
- "UCS 92420":["1400","1632","1284","1516"],
- "UCS 92440":["1400","1632","1284","1516"]},
+ "UCS 51440":("1400","1632","1284","1516"),
+ "UCS 51820":("1400","1632","1284","1516","1864","2096","1748","1980"),
+ "UCS 51840":("1400","1632","1284","1516","1864","2096","1748","1980"),
+ "UCS 52240":("1400","1632"),
+ "UCS 52420":("1400","1632","1284","1516"),
+ "UCS 52440":("1400","1632","1284","1516"),
+ "UCS 91440":("1400","1632","1284","1516"),
+ "UCS 91820":("1400","1632","1284","1516","1864","2096","1748","1980"),
+ "UCS 91840":("1400","1632","1284","1516","1864","2096","1748","1980"),
+ "UCS 92240":("1400","1632"),
+ "UCS 92420":("1400","1632","1284","1516"),
+ "UCS 92440":("1400","1632","1284","1516")},
"DCT Delta": {
- "SUM518":["1284","1400","1516","1632","1748","1864","1980","2096"],
- "SUM918":["1284","1400","1516","1632","1748","1864","1980","2096"],
- "SUM928":["1284","1400","1516","1632","1748","1864","1980","2096"]},
+ "SUM518":("1284","1400","1516","1632","1748","1864","1980","2096"),
+ "SUM918":("1284","1400","1516","1632","1748","1864","1980","2096"),
+ "SUM928":("1284","1400","1516","1632","1748","1864","1980","2096")},
"Inverto": {
- "IDLP-UST11O-CUO1O-8PP":["1076","1178","1280","1382","1484","1586","1688","1790"]},
+ "IDLP-UST11O-CUO1O-8PP":("1076","1178","1280","1382","1484","1586","1688","1790")},
"Kathrein": {
- "EXR501":["1400","1516","1632","1748"],
- "EXR551":["1400","1516","1632","1748"],
- "EXR552":["1400","1516"]},
+ "EXR501":("1400","1516","1632","1748"),
+ "EXR551":("1400","1516","1632","1748"),
+ "EXR552":("1400","1516")},
"ROTEK": {
- "EKL2/1":["1400","1516"],
- "EKL2/1E":["0","0","1632","1748"]},
+ "EKL2/1":("1400","1516"),
+ "EKL2/1E":("0","0","1632","1748")},
"Smart": {
- "DPA 51":["1284","1400","1516","1632","1748","1864","1980","2096"]},
+ "DPA 51":("1284","1400","1516","1632","1748","1864","1980","2096")},
"Technisat": {
- "TechniRouter 5/1x8 G":["1284","1400","1516","1632","1748","1864","1980","2096"],
- "TechniRouter 5/1x8 K":["1284","1400","1516","1632","1748","1864","1980","2096"],
- "TechniRouter 5/2x4 G":["1284","1400","1516","1632"],
- "TechniRouter 5/2x4 K":["1284","1400","1516","1632"]},
+ "TechniRouter 5/1x8 G":("1284","1400","1516","1632","1748","1864","1980","2096"),
+ "TechniRouter 5/1x8 K":("1284","1400","1516","1632","1748","1864","1980","2096"),
+ "TechniRouter 5/2x4 G":("1284","1400","1516","1632"),
+ "TechniRouter 5/2x4 K":("1284","1400","1516","1632")},
"Telstar": {
- "SCR 5/1x8 G":["1284","1400","1516","1632","1748","1864","1980","2096"],
- "SCR 5/1x8 K":["1284","1400","1516","1632","1748","1864","1980","2096"],
- "SCR 5/2x4 G":["1284","1400","1516","1632"],
- "SCR 5/2x4 K":["1284","1400","1516","1632"]}}
+ "SCR 5/1x8 G":("1284","1400","1516","1632","1748","1864","1980","2096"),
+ "SCR 5/1x8 K":("1284","1400","1516","1632","1748","1864","1980","2096"),
+ "SCR 5/2x4 G":("1284","1400","1516","1632"),
+ "SCR 5/2x4 K":("1284","1400","1516","1632")}}
UnicableMatrixManufacturers = unicablematrixproducts.keys()
UnicableMatrixManufacturers.sort()
"unicable_user": "Unicable "+_("User defined")}
unicable_choices_default = "unicable_lnb"
- unicableLnb = ConfigSubDict()
- for y in unicablelnbproducts:
- products = unicablelnbproducts[y].keys()
- products.sort()
- unicableLnb[y] = ConfigSubsection()
- unicableLnb[y].product = ConfigSelection(choices = products, default = products[0])
- unicableLnb[y].scr = ConfigSubDict()
- unicableLnb[y].vco = ConfigSubDict()
- for z in products:
- scrlist = []
- vcolist = unicablelnbproducts[y][z]
- unicableLnb[y].vco[z] = ConfigSubList()
- for cnt in range(1,1+len(vcolist)):
- scrlist.append(("%d" %cnt,"SCR %d" %cnt))
- vcofreq = int(vcolist[cnt-1])
- unicableLnb[y].vco[z].append(ConfigInteger(default=vcofreq, limits = (vcofreq, vcofreq)))
- unicableLnb[y].scr[z] = ConfigSelection(choices = scrlist, default = scrlist[0][0])
-
- unicableMatrix = ConfigSubDict()
-
- for y in unicablematrixproducts:
- products = unicablematrixproducts[y].keys()
- products.sort()
- unicableMatrix[y] = ConfigSubsection()
- unicableMatrix[y].product = ConfigSelection(choices = products, default = products[0])
- unicableMatrix[y].scr = ConfigSubDict()
- unicableMatrix[y].vco = ConfigSubDict()
- for z in products:
- scrlist = []
- vcolist = unicablematrixproducts[y][z]
- unicableMatrix[y].vco[z] = ConfigSubList()
- for cnt in range(1,1+len(vcolist)):
- vcofreq = int(vcolist[cnt-1])
- if vcofreq == 0:
- scrlist.append(("%d" %cnt,"SCR %d " %cnt +_("not used")))
- else:
- scrlist.append(("%d" %cnt,"SCR %d" %cnt))
- unicableMatrix[y].vco[z].append(ConfigInteger(default=vcofreq, limits = (vcofreq, vcofreq)))
- unicableMatrix[y].scr[z] = ConfigSelection(choices = scrlist, default = scrlist[0][0])
-
advanced_lnb_satcruser_choices = [ ("1", "SatCR 1"), ("2", "SatCR 2"), ("3", "SatCR 3"), ("4", "SatCR 4"),
("5", "SatCR 5"), ("6", "SatCR 6"), ("7", "SatCR 7"), ("8", "SatCR 8")]
- satcrvcouser = ConfigSubList()
- satcrvcouser.append(ConfigInteger(default=1284, limits = (0, 9999)))
- satcrvcouser.append(ConfigInteger(default=1400, limits = (0, 9999)))
- satcrvcouser.append(ConfigInteger(default=1516, limits = (0, 9999)))
- satcrvcouser.append(ConfigInteger(default=1632, limits = (0, 9999)))
- satcrvcouser.append(ConfigInteger(default=1748, limits = (0, 9999)))
- satcrvcouser.append(ConfigInteger(default=1864, limits = (0, 9999)))
- satcrvcouser.append(ConfigInteger(default=1980, limits = (0, 9999)))
- satcrvcouser.append(ConfigInteger(default=2096, limits = (0, 9999)))
-
prio_list = [ ("-1", _("Auto")) ]
prio_list += [(str(prio), str(prio)) for prio in range(65)+range(14000,14065)+range(19000,19065)]
advanced_lnb_diseqc_repeat_choices = [("none", _("None")), ("one", _("One")), ("two", _("Two")), ("three", _("Three"))]
advanced_lnb_fast_turning_btime = mktime(datetime(1970, 1, 1, 7, 0).timetuple());
advanced_lnb_fast_turning_etime = mktime(datetime(1970, 1, 1, 19, 0).timetuple());
+
+ def configLOFChanged(configElement):
+ if configElement.value == "unicable":
+ x = configElement.slot_id
+ lnb = configElement.lnb_id
+ nim = config.Nims[x]
+ lnbs = nim.advanced.lnb
+ section = lnbs[lnb]
+ if isinstance(section.unicable, ConfigNothing):
+ if lnb == 1:
+ section.unicable = ConfigSelection(unicable_choices, unicable_choices_default)
+ elif lnb == 2:
+ section.unicable = ConfigSelection(choices = {"unicable_matrix": _("Unicable Martix"),"unicable_user": "Unicable "+_("User defined")}, default = "unicable_matrix")
+ else:
+ section.unicable = ConfigSelection(choices = {"unicable_user": _("User defined")}, default = "unicable_user")
+
+ if lnb < 3:
+ section.unicableMatrix = ConfigSubDict()
+ section.unicableMatrixManufacturer = ConfigSelection(choices = UnicableMatrixManufacturers, default = UnicableMatrixManufacturers[0])
+ for y in unicablematrixproducts:
+ products = unicablematrixproducts[y].keys()
+ products.sort()
+ tmp = ConfigSubsection()
+ tmp.product = ConfigSelection(choices = products, default = products[0])
+ tmp.scr = ConfigSubDict()
+ tmp.vco = ConfigSubDict()
+ for z in products:
+ scrlist = []
+ vcolist = unicablematrixproducts[y][z]
+ tmp.vco[z] = ConfigSubList()
+ for cnt in range(1,1+len(vcolist)):
+ vcofreq = int(vcolist[cnt-1])
+ if vcofreq == 0:
+ scrlist.append(("%d" %cnt,"SCR %d " %cnt +_("not used")))
+ else:
+ scrlist.append(("%d" %cnt,"SCR %d" %cnt))
+ tmp.vco[z].append(ConfigInteger(default=vcofreq, limits = (vcofreq, vcofreq)))
+ tmp.scr[z] = ConfigSelection(choices = scrlist, default = scrlist[0][0])
+ section.unicableMatrix[y] = tmp
+
+ if lnb < 2:
+ section.unicableLnb = ConfigSubDict()
+ section.unicableLnbManufacturer = ConfigSelection(UnicableLnbManufacturers, UnicableLnbManufacturers[0])
+ for y in unicablelnbproducts:
+ products = unicablelnbproducts[y].keys()
+ products.sort()
+ tmp = ConfigSubsection()
+ tmp.product = ConfigSelection(choices = products, default = products[0])
+ tmp.scr = ConfigSubDict()
+ tmp.vco = ConfigSubDict()
+ for z in products:
+ scrlist = []
+ vcolist = unicablelnbproducts[y][z]
+ tmp.vco[z] = ConfigSubList()
+ for cnt in range(1,1+len(vcolist)):
+ scrlist.append(("%d" %cnt,"SCR %d" %cnt))
+ vcofreq = int(vcolist[cnt-1])
+ tmp.vco[z].append(ConfigInteger(default=vcofreq, limits = (vcofreq, vcofreq)))
+ tmp.scr[z] = ConfigSelection(choices = scrlist, default = scrlist[0][0])
+ section.unicableLnb[y] = tmp
+
+ section.satcruser = ConfigSelection(advanced_lnb_satcruser_choices, default="1")
+ tmp = ConfigSubList()
+ tmp.append(ConfigInteger(default=1284, limits = (0, 9999)))
+ tmp.append(ConfigInteger(default=1400, limits = (0, 9999)))
+ tmp.append(ConfigInteger(default=1516, limits = (0, 9999)))
+ tmp.append(ConfigInteger(default=1632, limits = (0, 9999)))
+ tmp.append(ConfigInteger(default=1748, limits = (0, 9999)))
+ tmp.append(ConfigInteger(default=1864, limits = (0, 9999)))
+ tmp.append(ConfigInteger(default=1980, limits = (0, 9999)))
+ tmp.append(ConfigInteger(default=2096, limits = (0, 9999)))
+ section.satcrvcouser = tmp
+
+ def configDiSEqCModeChanged(configElement):
+ section = configElement.section
+ if configElement.value == "1_2" and isinstance(section.longitude, ConfigNothing):
+ section.longitude = ConfigFloat(default = [5,100], limits = [(0,359),(0,999)])
+ section.longitudeOrientation = ConfigSelection(longitude_orientation_choices, "east")
+ section.latitude = ConfigFloat(default = [50,767], limits = [(0,359),(0,999)])
+ section.latitudeOrientation = ConfigSelection(latitude_orientation_choices, "north")
+ section.powerMeasurement = ConfigYesNo(default=True)
+ section.powerThreshold = ConfigInteger(default=hw.get_device_name() == "dm8000" and 15 or 50, limits=(0, 100))
+ section.turningSpeed = ConfigSelection(turning_speed_choices, "fast")
+ section.fastTurningBegin = ConfigDateTime(default=advanced_lnb_fast_turning_btime, formatstring = _("%H:%M"), increment = 600)
+ section.fastTurningEnd = ConfigDateTime(default=advanced_lnb_fast_turning_etime, formatstring = _("%H:%M"), increment = 600)
+
+ def configLNBChanged(configElement):
+ x = configElement.slot_id
+ nim = config.Nims[x]
+ if isinstance(configElement.value, tuple):
+ lnb = int(configElement.value[0])
+ else:
+ lnb = int(configElement.value)
+ lnbs = nim.advanced.lnb
+ if lnb and lnb not in lnbs:
+ section = lnbs[lnb] = ConfigSubsection()
+ section.lofl = ConfigInteger(default=9750, limits = (0, 99999))
+ section.lofh = ConfigInteger(default=10600, limits = (0, 99999))
+ section.threshold = ConfigInteger(default=11700, limits = (0, 99999))
+# section.output_12v = ConfigSelection(choices = [("0V", _("0 V")), ("12V", _("12 V"))], default="0V")
+ section.increased_voltage = ConfigYesNo(False)
+ section.toneburst = ConfigSelection(advanced_lnb_toneburst_choices, "none")
+ section.longitude = ConfigNothing()
+ if lnb > 32:
+ tmp = ConfigSelection(advanced_lnb_allsat_diseqcmode_choices, "1_2")
+ tmp.section = section
+ configDiSEqCModeChanged(tmp)
+ else:
+ tmp = ConfigSelection(advanced_lnb_diseqcmode_choices, "none")
+ tmp.section = section
+ tmp.addNotifier(configDiSEqCModeChanged)
+ section.diseqcMode = tmp
+ section.commitedDiseqcCommand = ConfigSelection(advanced_lnb_csw_choices)
+ section.fastDiseqc = ConfigYesNo(False)
+ section.sequenceRepeat = ConfigYesNo(False)
+ section.commandOrder1_0 = ConfigSelection(advanced_lnb_commandOrder1_0_choices, "ct")
+ section.commandOrder = ConfigSelection(advanced_lnb_commandOrder_choices, "ct")
+ section.uncommittedDiseqcCommand = ConfigSelection(advanced_lnb_ucsw_choices)
+ section.diseqcRepeats = ConfigSelection(advanced_lnb_diseqc_repeat_choices, "none")
+ section.prio = ConfigSelection(prio_list, "-1")
+ section.unicable = ConfigNothing()
+ tmp = ConfigSelection(lnb_choices, lnb_choices_default)
+ tmp.slot_id = x
+ tmp.lnb_id = lnb
+ tmp.addNotifier(configLOFChanged, initial_call = False)
+ section.lof = tmp
+
+ def configModeChanged(configMode):
+ slot_id = configMode.slot_id
+ nim = config.Nims[slot_id]
+ if configMode.value == "advanced" and isinstance(nim.advanced, ConfigNothing):
+ # advanced config:
+ nim.advanced = ConfigSubsection()
+ nim.advanced.sat = ConfigSubDict()
+ nim.advanced.sats = getConfigSatlist(192, advanced_satlist_choices)
+ nim.advanced.lnb = ConfigSubDict()
+ nim.advanced.lnb[0] = ConfigNothing()
+ for x in nimmgr.satList:
+ tmp = ConfigSubsection()
+ tmp.voltage = ConfigSelection(advanced_voltage_choices, "polarization")
+ tmp.tonemode = ConfigSelection(advanced_tonemode_choices, "band")
+ tmp.usals = ConfigYesNo(True)
+ tmp.rotorposition = ConfigInteger(default=1, limits=(1, 255))
+ lnb = ConfigSelection(advanced_lnb_choices, "0")
+ lnb.slot_id = slot_id
+ lnb.addNotifier(configLNBChanged, initial_call = False)
+ tmp.lnb = lnb
+ nim.advanced.sat[x[0]] = tmp
+ for x in range(3601, 3605):
+ tmp = ConfigSubsection()
+ tmp.voltage = ConfigSelection(advanced_voltage_choices, "polarization")
+ tmp.tonemode = ConfigSelection(advanced_tonemode_choices, "band")
+ tmp.usals = ConfigYesNo(default=True)
+ tmp.rotorposition = ConfigInteger(default=1, limits=(1, 255))
+ lnbnum = 33+x-3601
+ lnb = ConfigSelection([("0", "not available"), (str(lnbnum), "LNB %d"%(lnbnum))], "0")
+ lnb.slot_id = slot_id
+ lnb.addNotifier(configLNBChanged, initial_call = False)
+ tmp.lnb = lnb
+ nim.advanced.sat[x] = tmp
+
for slot in nimmgr.nim_slots:
x = slot.slot
nim = config.Nims[x]
-
if slot.isCompatible("DVB-S"):
- config_mode_choices = [ ("nothing", _("nothing connected")),
- ("simple", _("simple")), ("advanced", _("advanced"))]
- if len(nimmgr.getNimListOfType(slot.type, exception = x)) > 0:
- config_mode_choices.append(("equal", _("equal to")))
- config_mode_choices.append(("satposdepends", _("second cable of motorized LNB")))
- if len(nimmgr.canConnectTo(x)) > 0:
- config_mode_choices.append(("loopthrough", _("loopthrough to")))
- nim.configMode = ConfigSelection(config_mode_choices, "nothing")
-
nim.diseqc13V = ConfigYesNo(False)
-
nim.diseqcMode = ConfigSelection(diseqc_mode_choices, "diseqc_a_b")
-
nim.connectedTo = ConfigSelection([(str(id), nimmgr.getNimDescription(id)) for id in nimmgr.getNimListOfType("DVB-S") if id != x])
-
nim.simpleSingleSendDiSEqC = ConfigYesNo(False)
nim.simpleDiSEqCSetVoltageTone = ConfigYesNo(True)
nim.simpleDiSEqCOnlyOnSatChange = ConfigYesNo(False)
nim.fastTurningBegin = ConfigDateTime(default = mktime(btime.timetuple()), formatstring = _("%H:%M"), increment = 900)
etime = datetime(1970, 1, 1, 19, 0);
nim.fastTurningEnd = ConfigDateTime(default = mktime(etime.timetuple()), formatstring = _("%H:%M"), increment = 900)
-
- # advanced config:
- nim.advanced = ConfigSubsection()
- nim.advanced.sats = getConfigSatlist(192, advanced_satlist_choices)
- nim.advanced.sat = ConfigSubDict()
-
- for x in nimmgr.satList:
- nim.advanced.sat[x[0]] = ConfigSubsection()
- nim.advanced.sat[x[0]].voltage = ConfigSelection(advanced_voltage_choices, "polarization")
- nim.advanced.sat[x[0]].tonemode = ConfigSelection(advanced_tonemode_choices, "band")
- nim.advanced.sat[x[0]].usals = ConfigYesNo(True)
- nim.advanced.sat[x[0]].rotorposition = ConfigInteger(default=1, limits=(1, 255))
- nim.advanced.sat[x[0]].lnb = ConfigSelection(advanced_lnb_choices, "0")
-
- for x in range(3601, 3605):
- nim.advanced.sat[x] = ConfigSubsection()
- nim.advanced.sat[x].voltage = ConfigSelection(advanced_voltage_choices, "polarization")
- nim.advanced.sat[x].tonemode = ConfigSelection(advanced_tonemode_choices, "band")
- nim.advanced.sat[x].usals = ConfigYesNo(default=True)
- nim.advanced.sat[x].rotorposition = ConfigInteger(default=1, limits=(1, 255))
- lnbnum = 33+x-3601
- nim.advanced.sat[x].lnb = ConfigSelection([("0", "not available"), (str(lnbnum), "LNB %d"%(lnbnum))], "0")
-
- nim.advanced.lnb = ConfigSubList()
- nim.advanced.lnb.append(ConfigNothing())
-
- for x in range(1, 37):
- nim.advanced.lnb.append(ConfigSubsection())
- nim.advanced.lnb[x].lof = ConfigSelection(lnb_choices, lnb_choices_default)
-
- nim.advanced.lnb[x].lofl = ConfigInteger(default=9750, limits = (0, 99999))
- nim.advanced.lnb[x].lofh = ConfigInteger(default=10600, limits = (0, 99999))
- nim.advanced.lnb[x].threshold = ConfigInteger(default=11700, limits = (0, 99999))
-
- nim.advanced.lnb[x].unicable = ConfigSelection(unicable_choices, unicable_choices_default)
-
- nim.advanced.lnb[x].unicableLnb = unicableLnb # is this okay? all lnb use the same ConfigSubDict ? ! ?
- nim.advanced.lnb[x].unicableLnbManufacturer = ConfigSelection(UnicableLnbManufacturers, UnicableLnbManufacturers[0])
-
- nim.advanced.lnb[x].unicableMatrix = unicableMatrix # is this okay? all lnb use the same ConfigSubDict ? ! ?
- nim.advanced.lnb[x].unicableMatrixManufacturer = ConfigSelection(UnicableMatrixManufacturers, UnicableMatrixManufacturers[0])
-
- nim.advanced.lnb[x].satcruser = ConfigSelection(advanced_lnb_satcruser_choices, "1")
- nim.advanced.lnb[x].satcrvcouser = satcrvcouser # is this okay? all lnb use the same ConfigSubDict ? ! ?
-
-# nim.advanced.lnb[x].output_12v = ConfigSelection(choices = [("0V", _("0 V")), ("12V", _("12 V"))], default="0V")
- nim.advanced.lnb[x].increased_voltage = ConfigYesNo(False)
- nim.advanced.lnb[x].toneburst = ConfigSelection(advanced_lnb_toneburst_choices, "none")
- if x > 32:
- nim.advanced.lnb[x].diseqcMode = ConfigSelection(advanced_lnb_allsat_diseqcmode_choices, "1_2")
- else:
- nim.advanced.lnb[x].diseqcMode = ConfigSelection(advanced_lnb_diseqcmode_choices, "none")
- nim.advanced.lnb[x].commitedDiseqcCommand = ConfigSelection(advanced_lnb_csw_choices)
- nim.advanced.lnb[x].fastDiseqc = ConfigYesNo(False)
- nim.advanced.lnb[x].sequenceRepeat = ConfigYesNo(False)
- nim.advanced.lnb[x].commandOrder1_0 = ConfigSelection(advanced_lnb_commandOrder1_0_choices, "ct")
- nim.advanced.lnb[x].commandOrder = ConfigSelection(advanced_lnb_commandOrder_choices, "ct")
- nim.advanced.lnb[x].uncommittedDiseqcCommand = ConfigSelection(advanced_lnb_ucsw_choices)
- nim.advanced.lnb[x].diseqcRepeats = ConfigSelection(advanced_lnb_diseqc_repeat_choices, "none")
- nim.advanced.lnb[x].longitude = ConfigFloat(default = [5,100], limits = [(0,359),(0,999)])
- nim.advanced.lnb[x].longitudeOrientation = ConfigSelection(longitude_orientation_choices, "east")
- nim.advanced.lnb[x].latitude = ConfigFloat(default = [50,767], limits = [(0,359),(0,999)])
- nim.advanced.lnb[x].latitudeOrientation = ConfigSelection(latitude_orientation_choices, "north")
- nim.advanced.lnb[x].powerMeasurement = ConfigYesNo(default=True)
- 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(turning_speed_choices, "fast")
- nim.advanced.lnb[x].fastTurningBegin = ConfigDateTime(default=advanced_lnb_fast_turning_btime, formatstring = _("%H:%M"), increment = 600)
- nim.advanced.lnb[x].fastTurningEnd = ConfigDateTime(default=advanced_lnb_fast_turning_etime, formatstring = _("%H:%M"), increment = 600)
- nim.advanced.lnb[x].prio = ConfigSelection(prio_list, "-1")
+ config_mode_choices = [ ("nothing", _("nothing connected")),
+ ("simple", _("simple")), ("advanced", _("advanced"))]
+ if len(nimmgr.getNimListOfType(slot.type, exception = x)) > 0:
+ config_mode_choices.append(("equal", _("equal to")))
+ config_mode_choices.append(("satposdepends", _("second cable of motorized LNB")))
+ if len(nimmgr.canConnectTo(x)) > 0:
+ config_mode_choices.append(("loopthrough", _("loopthrough to")))
+ nim.advanced = ConfigNothing()
+ tmp = ConfigSelection(config_mode_choices, "nothing")
+ tmp.slot_id = x
+ tmp.addNotifier(configModeChanged, initial_call = False)
+ nim.configMode = tmp
elif slot.isCompatible("DVB-C"):
nim.configMode = ConfigSelection(
choices = {
config.ParentalControl.servicepin = ConfigSubList()
- for i in range(3):
+ for i in (0, 1, 2):
config.ParentalControl.servicepin.append(ConfigPIN(default = -1))
#config.ParentalControl.servicepin.append(configElement("config.ParentalControl.servicepin.level" + str(i), configSequence, "0000", configSequenceArg().get("PINCODE", (4, ""))))
return -1
def getPinList(self):
- pinList = []
- for x in config.ParentalControl.servicepin:
- pinList.append(x.value)
- return pinList
+ return [ x.value for x in config.ParentalControl.servicepin ]
def servicePinEntered(self, service, result):
# levelNeeded = 0
lockPicture = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/lock.png"))
def ParentalControlEntryComponent(service, name, locked = True):
- res = [ (service, name, locked) ]
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 80, 5, 300, 50, 0, RT_HALIGN_LEFT, name))
+ res = [
+ (service, name, locked),
+ (eListboxPythonMultiContent.TYPE_TEXT, 80, 5, 300, 50, 0, RT_HALIGN_LEFT, name)
+ ]
if locked:
res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 32, 32, lockPicture))
return res
res = [ ]
for x in where:
- for p in self.plugins.get(x, [ ]):
- res.append(p)
- return res
+ res.extend(self.plugins.get(x, [ ]))
+
+ return res
def getPluginsForMenu(self, menuid):
res = [ ]
from Tools.LoadPixmap import LoadPixmap
def PluginEntryComponent(plugin):
- res = [ plugin ]
-
- res.append(MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=plugin.name))
- res.append(MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description))
-
if plugin.icon is None:
png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/plugin.png"))
else:
png = plugin.icon
- res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png))
-
- return res
+
+ return [
+ plugin,
+ MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=plugin.name),
+ MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description),
+ MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png)
+ ]
def PluginCategoryComponent(name, png):
- res = [ name ]
-
- res.append(MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name))
- res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png))
-
- return res
+ return [
+ name,
+ MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name),
+ MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png)
+ ]
def PluginDownloadComponent(plugin, name):
- res = [ plugin ]
-
- res.append(MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name))
- res.append(MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description))
-
if plugin.icon is None:
png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/plugin.png"))
else:
png = plugin.icon
- res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png))
+
+ return [
+ plugin,
+ MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name),
+ MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description),
+ MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png)
+ ]
- return res
class PluginList(MenuList):
def __init__(self, list, enableWrapAround=False):
# this is not a GUI renderer.
class FrontpanelLed(Element):
- def __init__(self):
- Element.__init__(self)
-
def changed(self, *args, **kwargs):
if self.source.value or 1:
pattern = 0x55555555
from Tools.Directories import fileExists, SCOPE_SKIN_IMAGE, SCOPE_CURRENT_SKIN, resolveFilename
class Picon(Renderer):
- searchPaths = ['/usr/share/enigma2/%s/',
+ searchPaths = ('/usr/share/enigma2/%s/',
'/media/cf/%s/',
- '/media/usb/%s/']
+ '/media/usb/%s/')
def __init__(self):
Renderer.__init__(self)
# ...then remove with_subdir=False when same path exists
# with with_subdirs=True
- for p in set(paths_to_scan):
+ for p in paths_to_scan:
if p.with_subdirs == True and ScanPath(path=p.path) in paths_to_scan:
paths_to_scan.remove(ScanPath(path=p.path))
- # convert to list
- paths_to_scan = list(paths_to_scan)
-
from Components.Harddisk import harddiskmanager
blockdev = mountpoint.rstrip("/").rsplit('/',1)[-1]
error, blacklisted, removable, is_cdrom, partitions, medium_found = harddiskmanager.getBlockDevInfo(blockdev)
selectionpng = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/selectioncross.png"))
def SelectionEntryComponent(description, value, index, selected):
- res = [ (description, value, index, selected) ]
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 30, 3, 500, 30, 0, RT_HALIGN_LEFT, description))
+ res = [
+ (description, value, index, selected),
+ (eListboxPythonMultiContent.TYPE_TEXT, 30, 3, 500, 30, 0, RT_HALIGN_LEFT, description)
+ ]
if selected:
res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 30, 30, selectionpng))
return res
self.setList(self.list)
def toggleSelection(self):
- item = self.list[self.getSelectedIndex()][0]
- self.list[self.getSelectedIndex()] = SelectionEntryComponent(item[0], item[1], item[2], not item[3])
+ idx = self.getSelectedIndex()
+ item = self.list[idx][0]
+ self.list[idx] = SelectionEntryComponent(item[0], item[1], item[2], not item[3])
self.setList(self.list)
def getSelectionsList(self):
- list = []
- for item in self.list:
- if item[0][3]:
- list.append((item[0][0], item[0][1], item[0][2]))
- return list
+ return [ (item[0][0], item[0][1], item[0][2]) for item in self.list if item[0][3] ]
+
def entry_changed(self, index):
if not self.disable_callbacks:
- self.downstream_elements.entry_changed(self, index)
+ self.downstream_elements.entry_changed(index)
def modifyEntry(self, index, data):
self.__list[index] = data
decoder = property(getDecoder)
def gotEvent(self, what):
- if what in [iPlayableService.evStart, iPlayableService.evEnd]:
+ if what in (iPlayableService.evStart, iPlayableService.evEnd):
self.changed((self.CHANGED_CLEAR,))
else:
self.changed((self.CHANGED_SPECIFIC, what))
res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 30, width, 20, 1, RT_HALIGN_LEFT|RT_VALIGN_CENTER, timer.name))
repeatedtext = ""
- days = [ _("Mon"), _("Tue"), _("Wed"), _("Thu"), _("Fri"), _("Sat"), _("Sun") ]
+ days = ( _("Mon"), _("Tue"), _("Wed"), _("Thu"), _("Fri"), _("Sat"), _("Sun") )
if timer.repeated:
flags = timer.repeated
count = 0
def getCurrentIndex(self):
return self.instance.getCurrentIndex()
- currentIndex = property(moveToIndex, getCurrentIndex)
+ currentIndex = property(getCurrentIndex, moveToIndex)
currentSelection = property(getCurrent)
def moveDown(self):
self.nrep_eventlist.extend([(new_event_begin, self.bflag, event[1]),(new_event_end, self.eflag, event[1])])
else:
offset_0 = 345600 # the Epoch begins on Thursday
- weeks = 2 # test two weeks to take care of Sunday-Monday transitions
- for cnt in range(weeks):
+ for cnt in (0, 1): # test two weeks to take care of Sunday-Monday transitions
for event in self.rep_eventlist:
if event[1] == -1: # -1 is the identifier of the changed timer
event_begin = self.newtimer.begin
e_tzset()
def getTimezoneList(self):
- list = []
- for x in self.timezones:
- list.append(str(x[0]))
- return list
-
+ return [ str(x[0]) for x in self.timezones ]
+
def getDefaultTimezone(self):
# TODO return something more useful - depending on country-settings?
t = "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Vienna"
def __init__(self, frontend):
self.frontend = frontend
- # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, system, modulation)
- # 0 1 2 3 4 5 6 7
+ # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, system, modulation, rolloff, pilot, tsid, onid)
+ # 0 1 2 3 4 5 6 7 8 9 10 11
def tune(self, transponder):
if self.frontend:
print "tuning to transponder with data", transponder
pidsFailed = False
if self.checkPIDs:
if self.currTuned is not None:
- if self.tsid != self.currTuned[8] or self.onid != self.currTuned[9]:
- self.failedTune.append([self.currTuned, self.oldTuned, "pids_failed", {"real": (self.tsid, self.onid), "expected": (self.currTuned[8], self.currTuned[9])}])
+ if self.tsid != self.currTuned[10] or self.onid != self.currTuned[11]:
+ self.failedTune.append([self.currTuned, self.oldTuned, "pids_failed", {"real": (self.tsid, self.onid), "expected": (self.currTuned[10], self.currTuned[11])}])
pidsFailed = True
else:
self.successfullyTune.append([self.currTuned, self.oldTuned])
# check for tsid != -1 and onid != -1
print "index:", index
print "len(self.transponderlist):", len(self.transponderlist)
- while (index < len(self.transponderlist) and (self.transponderlist[index][8] == -1 or self.transponderlist[index][9] == -1)):
+ while (index < len(self.transponderlist) and (self.transponderlist[index][10] == -1 or self.transponderlist[index][11] == -1)):
index += 1
print "FirstTransponder final index:", index
return index
# check for tsid != -1 and onid != -1
print "index:", index
print "len(self.transponderlist):", len(self.transponderlist)
- while (index < len(self.transponderlist) and (self.transponderlist[index][8] == -1 or self.transponderlist[index][9] == -1)):
+ while (index < len(self.transponderlist) and (self.transponderlist[index][10] == -1 or self.transponderlist[index][11] == -1)):
index += 1
print "next transponder index:", index
self.progressCallback((self.getProgressLength(), self.tuningtransponder, self.STATUS_START, self.currTuned))
self.timer.start(100, True)
- # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, <system>, <modulation>, <tsid>, <onid>)
- # 0 1 2 3 4 5 6 7 8 9
+ # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, <system>, <modulation>, <rolloff>, <pilot>, <tsid>, <onid>)
+ # 0 1 2 3 4 5 6 7 8 9 10 11
def addTransponder(self, transponder):
self.transponderlist.append(transponder)
if default is None:
default = self.choices.default()
+ self._descr = None
self.default = self._value = self.last_value = default
- self.changed()
def setChoices(self, choices, default = None):
self.choices = choicesList(choices)
self._value = value
else:
self._value = self.default
+ self._descr = None
self.changed()
def tostring(self, val):
def setCurrentText(self, text):
i = self.choices.index(self.value)
self.choices[i] = text
- self.description[text] = text
+ self._descr = self.description[text] = text
self._value = text
value = property(getValue, setValue)
self.value = self.choices[(i + 1) % nchoices]
def getText(self):
- descr = self.description[self.value]
+ if self._descr is not None:
+ return self._descr
+ descr = self._descr = self.description[self.value]
if descr:
return _(descr)
return descr
def getMulti(self, selected):
- descr = self.description[self.value]
+ if self._descr is not None:
+ descr = self._descr
+ else:
+ descr = self._descr = self.description[self.value]
if descr:
return ("text", _(descr))
return ("text", descr)
self.value = self.last_value = self.default = default
def handleKey(self, key):
- if key in [KEY_LEFT, KEY_RIGHT]:
+ if key in (KEY_LEFT, KEY_RIGHT):
self.value = not self.value
elif key == KEY_HOME:
self.value = False
value = property(getValue, setValue)
_value = property(getValue, setValue)
+ def isChanged(self):
+ sv = self.saved_value
+ strv = self.tostring(self.value)
+ if sv is None and strv == self.default:
+ return False
+ return strv != sv
+
def conform(self):
pos = len(self.text) - self.marked_pos
self.text = self.text.lstrip("0")
self.pos = -1
else:
self.pos += 1
- elif key in [KEY_HOME, KEY_END]:
+ elif key in (KEY_HOME, KEY_END):
self.pos = -1
def genString(self, lst):
self.pos += 1
if self.pos >= len(self.value):
self.pos = -1
- elif key in [KEY_HOME, KEY_END]:
+ elif key in (KEY_HOME, KEY_END):
self.pos = -1
def getText(self):
self.setSavedValue(tree["config"])
def saveToFile(self, filename):
+ text = self.pickle()
f = open(filename, "w")
- f.write(self.pickle())
+ f.write(text)
f.close()
def loadFromFile(self, filename):
<map context="CutListEditorActions">
<!-- <key id="KEY_NEXT" mapto="setIn" flags="m" />
<key id="KEY_PREVIOUS" mapto="setOut" flags="m" /> -->
- <key id="KEY_0" mapto="setMark" flags="m" />
+<!-- <key id="KEY_0" mapto="setMark" flags="m" /> -->
<!-- <key id="KEY_CHANNELUP" mapto="addMark" flags="m" />
<key id="KEY_CHANNELDOWN" mapto="removeMark" flags="m" /> -->
<key id="KEY_EXIT" mapto="leave" flags="m" />
elif result == CutListContextMenu.RET_ENDCUT:
# remove in/out marks between the new cut
for (where, what) in self.cut_list[:]:
- if self.cut_start <= where <= self.context_position and what in [0,1]:
+ if self.cut_start <= where <= self.context_position and what in (0,1):
self.cut_list.remove((where, what))
bisect.insort(self.cut_list, (self.cut_start, 1))
elif result == CutListContextMenu.RET_REMOVEBEFORE:
# remove in/out marks before current position
for (where, what) in self.cut_list[:]:
- if where <= self.context_position and what in [0,1]:
+ if where <= self.context_position and what in (0,1):
self.cut_list.remove((where, what))
# add 'in' point
bisect.insort(self.cut_list, (self.context_position, 0))
elif result == CutListContextMenu.RET_REMOVEAFTER:
# remove in/out marks after current position
for (where, what) in self.cut_list[:]:
- if where >= self.context_position and what in [0,1]:
+ if where >= self.context_position and what in (0,1):
self.cut_list.remove((where, what))
# add 'out' point
bisect.insort(self.cut_list, (self.context_position, 1))
self.finish(aborted = True)
def run(self, callback):
+ self.callback = callback
failed_preconditions = self.checkPreconditions(True) + self.checkPreconditions(False)
if len(failed_preconditions):
callback(self, failed_preconditions)
return
- self.callback = callback
Task.processFinished(self, 0)
class PreviewTask(Task):
<screen name="FileBrowser" position="100,100" size="520,376" title="DVD File Browser" >
<widget name="filelist" position="0,0" size="520,376" scrollbarMode="showOnDemand" />
</screen>"""
- def __init__(self, session, scope, settings):
+ def __init__(self, session, scope, configRef):
Screen.__init__(self, session)
HelpableScreen.__init__(self)
self.scope = scope
pattern = ""
+ self.configRef = configRef
currDir = "/"
if self.scope == "project":
currDir = self.getDir()
currDir = self.getDir()
pattern = "(?i)^.*\.(ddvdm\.xml)"
if self.scope == "menubg":
- currDir = self.getDir(settings.menubg)
+ currDir = self.getDir(configRef.getValue())
pattern = "(?i)^.*\.(jpeg|jpg|jpe|png|bmp)"
elif self.scope == "menuaudio":
- currDir = self.getDir(settings.menuaudio)
+ currDir = self.getDir(configRef.getValue())
pattern = "(?i)^.*\.(mp2|m2a|ac3)"
elif self.scope == "vmgm":
- currDir = self.getDir(settings.vmgm)
+ currDir = self.getDir(configRef.getValue())
pattern = "(?i)^.*\.(mpg|mpeg)"
elif self.scope == "font_face":
- currDir = self.getDir(settings.font_face, resolveFilename(SCOPE_FONTS))
+ currDir = self.getDir(configRef.getValue(), resolveFilename(SCOPE_FONTS))
pattern = "(?i)^.*\.(ttf)"
elif self.scope == "isopath":
- currDir = settings.isopath.getValue()
+ currDir = configRef.getValue()
elif self.scope == "image":
currDir = resolveFilename(SCOPE_HDD)
pattern = "(?i)^.*\.(iso)"
"cancel": self.exit
})
- def getDir(self, key=None, defaultDir=None):
- if key:
- settingDir = key.getValue()
- if len(settingDir) > 1:
- return (settingDir.rstrip("/").rsplit("/",1))[0]
+ def getDir(self, currentVal=None, defaultDir=None):
+ if currentVal:
+ return (currentVal.rstrip("/").rsplit("/",1))[0]
return defaultDir or (resolveFilename(SCOPE_PLUGINS)+"Extensions/DVDBurn/")
def ok(self):
if self.scope == "image":
path = self["filelist"].getCurrentDirectory() or ""
if fileExists(path+"VIDEO_TS"):
- self.close(path,self.scope)
+ self.close(path,self.scope,self.configRef)
else:
ret = self["filelist"].getCurrentDirectory() + '/' + self["filelist"].getFilename()
- self.close(ret,self.scope)
+ self.close(ret,self.scope,self.configRef)
def exit(self):
if self.scope == "isopath":
- self.close(self["filelist"].getCurrentDirectory(),self.scope)
- self.close(None,False)
+ self.close(self["filelist"].getCurrentDirectory(),self.scope,self.configRef)
+ self.close(None,False,None)
class ProjectSettings(Screen,ConfigListScreen):
skin = """
self["key_red"] = StaticText(_("Cancel"))
self["key_green"] = StaticText(_("OK"))
self["key_yellow"] = StaticText(_("Load"))
- self["key_blue"] = StaticText(_("Save"))
+ if config.usage.setup_level.index >= 2: # expert+
+ self["key_blue"] = StaticText(_("Save"))
+ else:
+ self["key_blue"] = StaticText()
- infotext = _("Available format variables") + ":\n$i=" + _("Track") + ", $t=" + _("Title") + ", $d=" + _("Description") + ", $l=" + _("length") + ", $c=" + _("chapters") + ",\n" + _("Record") + " $T=" + _("Begin time") + ", $Y=" + _("Year") + ", $M=" + _("month") + ", $D=" + _("day") + ",\n$A=" + _("audio tracks") + ", $C=" + _("Channel") + ", $f=" + _("filename")
+ if config.usage.setup_level.index >= 2: # expert+
+ infotext = _("Available format variables") + ":\n$i=" + _("Track") + ", $t=" + _("Title") + ", $d=" + _("Description") + ", $l=" + _("length") + ", $c=" + _("chapters") + ",\n" + _("Record") + " $T=" + _("Begin time") + ", $Y=" + _("Year") + ", $M=" + _("month") + ", $D=" + _("day") + ",\n$A=" + _("audio tracks") + ", $C=" + _("Channel") + ", $f=" + _("filename")
+ else:
+ infotext = ""
self["info"] = StaticText(infotext)
+ self.keydict = {}
self.settings = project.settings
ConfigListScreen.__init__(self, [])
self.initConfigList()
-
- self.keydict = {}
- for key, val in self.settings.dict().iteritems():
- self.keydict[val] = key
self["setupActions"] = ActionMap(["SetupActions", "ColorActions"],
{
self.list.append(getConfigListEntry(_("ISO path"), self.settings.isopath))
if authormode.startswith("menu"):
self.list.append(getConfigListEntry(_("Menu")+' '+_("template file"), self.settings.menutemplate))
- self.list.append(getConfigListEntry(_("Menu")+' '+_("Title"), self.project.menutemplate.settings.titleformat))
- self.list.append(getConfigListEntry(_("Menu")+' '+_("Subtitles"), self.project.menutemplate.settings.subtitleformat))
- self.list.append(getConfigListEntry(_("Menu")+' '+_("background image"), self.project.menutemplate.settings.menubg))
+ if config.usage.setup_level.index >= 2: # expert+
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("Title"), self.project.menutemplate.settings.titleformat))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("Subtitles"), self.project.menutemplate.settings.subtitleformat))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("background image"), self.project.menutemplate.settings.menubg))
#self.list.append(getConfigListEntry(_("Menu")+' '+_("headline")+' '+_("color"), self.settings.color_headline))
#self.list.append(getConfigListEntry(_("Menu")+' '+_("text")+' '+_("color"), self.settings.color_button))
#self.list.append(getConfigListEntry(_("Menu")+' '+_("highlighted button")+' '+_("color"), self.settings.color_highlight))
#self.list.append(getConfigListEntry(_("Font size")+' ('+_("headline")+', '+_("Title")+', '+_("Subtitles")+')', self.settings.font_size))
#self.list.append(getConfigListEntry(_("Menu")+' '+_("spaces (top, between rows, left)"), self.settings.space))
#self.list.append(getConfigListEntry(_("Menu")+' '+_("Audio"), self.settings.menuaudio))
- if authormode != "data_ts":
- self.list.append(getConfigListEntry(_("Titleset mode"), self.settings.titlesetmode))
- if self.settings.titlesetmode.getValue() == "single" or authormode == "just_linked":
- self.list.append(getConfigListEntry(_("VMGM (intro trailer)"), self.settings.vmgm))
- else:
- self.list.append(getConfigListEntry(("DVD data format"), self.settings.dataformat))
+ if config.usage.setup_level.index >= 2: # expert+
+ if authormode != "data_ts":
+ self.list.append(getConfigListEntry(_("Titleset mode"), self.settings.titlesetmode))
+ if self.settings.titlesetmode.getValue() == "single" or authormode == "just_linked":
+ self.list.append(getConfigListEntry(_("VMGM (intro trailer)"), self.settings.vmgm))
+ else:
+ self.list.append(getConfigListEntry(("DVD data format"), self.settings.dataformat))
self["config"].setList(self.list)
+ self.keydict = {}
+ for key, val in self.settings.dict().iteritems():
+ self.keydict[val] = key
+ for key, val in self.project.menutemplate.settings.dict().iteritems():
+ self.keydict[val] = key
def keyLeft(self):
ConfigListScreen.keyLeft(self)
def ok(self):
key = self.keydict[self["config"].getCurrent()[1]]
- if key in self.project.filekeys:
- self.session.openWithCallback(self.FileBrowserClosed, FileBrowser, key, self.settings)
+ from DVDProject import ConfigFilename
+ if type(self["config"].getCurrent()[1]) == ConfigFilename:
+ self.session.openWithCallback(self.FileBrowserClosed, FileBrowser, key, self["config"].getCurrent()[1])
def cancel(self):
self.close(False)
self.session.openWithCallback(self.FileBrowserClosed, FileBrowser, "project", self.settings)
def saveProject(self):
- self.applySettings()
- ret = self.project.saveProject(resolveFilename(SCOPE_PLUGINS)+"Extensions/DVDBurn/")
- if ret.startswith:
- text = _("Save")+' '+_('OK')+':\n'+ret
- self.session.open(MessageBox,text,type = MessageBox.TYPE_INFO)
- else:
- text = _("Save")+' '+_('Error')
- self.session.open(MessageBox,text,type = MessageBox.TYPE_ERROR)
+ if config.usage.setup_level.index >= 2: # expert+
+ self.applySettings()
+ ret = self.project.saveProject(resolveFilename(SCOPE_PLUGINS)+"Extensions/DVDBurn/")
+ if ret.startswith:
+ text = _("Save")+' '+_('OK')+':\n'+ret
+ self.session.open(MessageBox,text,type = MessageBox.TYPE_INFO)
+ else:
+ text = _("Save")+' '+_('Error')
+ self.session.open(MessageBox,text,type = MessageBox.TYPE_ERROR)
- def FileBrowserClosed(self, path, scope):
+ def FileBrowserClosed(self, path, scope, configRef):
if scope == "menutemplate":
- if not self.project.menutemplate.loadTemplate(path):
- self.session.open(MessageBox,self.project.error,MessageBox.TYPE_ERROR)
- else:
+ if self.project.menutemplate.loadTemplate(path):
print "[ProjectSettings] menu template loaded"
-
- if scope in self.project.filekeys:
- self.settings.dict()[scope].setValue(path)
- elif scope == "project":
- if not self.project.loadProject(path):
- self.session.open(MessageBox,self.project.error,MessageBox.TYPE_ERROR)
+ configRef.setValue(path)
+ self.initConfigList()
else:
+ self.session.open(MessageBox,self.project.error,MessageBox.TYPE_ERROR)
+ elif scope == "project":
+ if self.project.loadProject(path):
+ configRef.setValue(path)
self.initConfigList()
+ else:
+ self.session.open(MessageBox,self.project.error,MessageBox.TYPE_ERROR)
+ elif scope:
+ configRef.setValue(path)
+ self.initConfigList()
"titleProperties": (self.titleProperties, _("Properties of current title"), _("Title properties")),
"removeCurrentTitle": (self.removeCurrentTitle, _("Remove currently selected title"), _("Remove title")),
"settings": (self.settings, _("Collection settings"), _("Settings")),
- "burnProject": (self.burnProject, _("Burn DVD"), _("Burn DVD")),
+ "burnProject": (self.askBurnProject, _("Burn DVD"), _("Burn DVD")),
})
self["MovieSelectionActions"] = HelpableActionMap(self, "MovieSelectionActions",
"cancel": self.leave
})
- self["key_red"] = StaticText(_("Remove title"))
+ self["key_red"] = StaticText()
self["key_green"] = StaticText(_("Add title"))
- self["key_yellow"] = StaticText(_("Title properties"))
+ self["key_yellow"] = StaticText()
self["key_blue"] = StaticText(_("Settings"))
self["title_label"] = StaticText()
self["titles"] = List(list = [ ], enableWrapAround = True, item_height=30, fonts = [gFont("Regular", 20)])
self.updateTitleList()
+ self.previous_size = 0
def checkBackgroundJobs(self):
for job in job_manager.getPendingJobs():
if self.backgroundJob:
j = self.backgroundJob
menu.append(("%s: %s (%d%%)" % (j.getStatustext(), j.name, int(100*j.progress/float(j.end))), self.showBackgroundJob))
+ menu.append((_("DVD media toolbox"), self.toolbox))
+ menu.append((_("Preview menu"), self.previewMenu))
if self.project.settings.output.getValue() == "dvd":
- menu.append((_("Burn DVD"), self.burnProject))
+ if len(self["titles"].list):
+ menu.append((_("Burn DVD"), self.burnProject))
elif self.project.settings.output.getValue() == "iso":
menu.append((_("Create DVD-ISO"), self.burnProject))
menu.append((_("Burn existing image to DVD"), self.selectImage))
- menu.append((_("DVD media toolbox"), self.toolbox))
- menu.append((_("Preview menu"), self.previewMenu))
- menu.append((_("Collection settings"), self.settings))
- menu.append((_("Reset and renumerate title names"), self.resetTitles))
menu.append((_("Edit chapters of current title"), self.editTitle))
- menu.append((_("Properties of current title"), self.titleProperties))
- menu.append((_("Add a new title"), self.addTitle))
- menu.append((_("Remove title"), self.removeCurrentTitle))
+ menu.append((_("Reset and renumerate title names"), self.resetTitles))
menu.append((_("Exit"), self.leave))
self.session.openWithCallback(self.menuCallback, ChoiceBox, title="", list=menu)
self["error_label"].show()
return False
- def burnProject(self):
+ def askBurnProject(self):
+ if len(self["titles"].list):
+ self.session.openWithCallback(self.burnProject,MessageBox,text = _("Do you want to burn this collection to DVD medium?"), type = MessageBox.TYPE_YESNO)
+
+ def burnProject(self, answer=True):
+ if not answer:
+ return
if self.project.settings.authormode.getValue() == "data_ts":
job = Process.DVDdataJob(self.project)
job_manager.AddJob(job)
job_manager.in_background = False
self.session.openWithCallback(self.JobViewCB, JobView, job)
- def burnISO(self, path, scope):
+ def burnISO(self, path, scope, configRef):
if path:
job = Process.DVDisoJob(self.project, path)
job_manager.AddJob(job)
totalsize += title.estimatedDiskspace
self["titles"].list = res
self.updateSize(totalsize)
+ if len(res):
+ self["key_red"].text = _("Remove title")
+ self["key_yellow"].text = _("Title properties")
+ else:
+ self["key_red"].text = ""
+ self["key_yellow"].text = ""
def updateSize(self, totalsize):
size = int((totalsize/1024)/1024)
percent = 100 * size / float(max_DL)
self["space_label"].text = "%d MB - " % size + _("exceeds dual layer medium!") + " (%.2f%% " % (100-percent) + _("free") + ")"
self["space_bar"].value = int(percent)
+ if self.previous_size < max_DL:
+ self.session.open(MessageBox,text = _("exceeds dual layer medium!"), type = MessageBox.TYPE_ERROR)
elif size > max_SL:
percent = 100 * size / float(max_DL)
self["space_label"].text = "%d MB " % size + _("of a DUAL layer medium used.") + " (%.2f%% " % (100-percent) + _("free") + ")"
self["space_bar"].value = int(percent)
+ if self.previous_size < max_SL:
+ self.session.open(MessageBox,text = _("Your collection exceeds the size of a single layer medium, you will need a blank dual layer DVD!"), type = MessageBox.TYPE_INFO)
elif size < max_SL:
percent = 100 * size / float(max_SL)
self["space_label"].text = "%d MB " % size + _("of a SINGLE layer medium used.") + " (%.2f%% " % (100-percent) + _("free") + ")"
self["space_bar"].value = int(percent)
+ self.previous_size = size
def getCurrentTitle(self):
t = self["titles"].getCurrent()
self.list.append(getConfigListEntry("DVD " + _("Track"), self.properties.position))
self.list.append(getConfigListEntry("DVD " + _("Title"), self.properties.menutitle))
self.list.append(getConfigListEntry("DVD " + _("Description"), self.properties.menusubtitle))
- for audiotrack in self.properties.audiotracks:
- DVB_aud = audiotrack.DVB_lang.getValue() or audiotrack.pid.getValue()
- self.list.append(getConfigListEntry(_("burn audio track (%s)") % DVB_aud, audiotrack.active))
- if audiotrack.active.getValue():
- self.list.append(getConfigListEntry(_("audio track (%s) format") % DVB_aud, audiotrack.format))
- self.list.append(getConfigListEntry(_("audio track (%s) language") % DVB_aud, audiotrack.language))
-
- self.list.append(getConfigListEntry("DVD " + _("Aspect Ratio"), self.properties.aspect))
- if self.properties.aspect.getValue() == "16:9":
- self.list.append(getConfigListEntry("DVD " + "widescreen", self.properties.widescreen))
- else:
- self.list.append(getConfigListEntry("DVD " + "widescreen", self.properties.crop))
-
+ if config.usage.setup_level.index >= 2: # expert+
+ for audiotrack in self.properties.audiotracks:
+ DVB_aud = audiotrack.DVB_lang.getValue() or audiotrack.pid.getValue()
+ self.list.append(getConfigListEntry(_("burn audio track (%s)") % DVB_aud, audiotrack.active))
+ if audiotrack.active.getValue():
+ self.list.append(getConfigListEntry(_("audio track (%s) format") % DVB_aud, audiotrack.format))
+ self.list.append(getConfigListEntry(_("audio track (%s) language") % DVB_aud, audiotrack.language))
+
+ self.list.append(getConfigListEntry("DVD " + _("Aspect Ratio"), self.properties.aspect))
+ if self.properties.aspect.getValue() == "16:9":
+ self.list.append(getConfigListEntry("DVD " + "widescreen", self.properties.widescreen))
+ else:
+ self.list.append(getConfigListEntry("DVD " + "widescreen", self.properties.crop))
if len(title.chaptermarks) == 0:
self.list.append(getConfigListEntry(_("Auto chapter split every ? minutes (0=never)"), self.properties.autochapter))
infotext = "DVB " + _("Title") + ': ' + title.DVBname + "\n" + _("Description") + ': ' + title.DVBdescr + "\n" + _("Channel") + ': ' + title.DVBchannel + '\n' + _("Begin time") + title.formatDVDmenuText(": $D.$M.$Y, $T\n", self.title_idx+1)
if len(key) == 2:
self.langdict[key] = val[0]
for key, val in self.langdict.iteritems():
- if key not in [syslang, 'en']:
+ if key not in (syslang, 'en'):
self.langdict[key] = val
self.choices.append((key, val))
self.choices.sort()
def getLanguage(self, DVB_lang):
DVB_lang = DVB_lang.lower()
- stripwords = ["stereo", "audio", "description", "2ch", "dolby digital"]
- for word in stripwords:
+ for word in ("stereo", "audio", "description", "2ch", "dolby digital"):
DVB_lang = DVB_lang.replace(word,"").strip()
for key, val in LanguageCodes.iteritems():
if DVB_lang.find(key.lower()) == 0:
return key
return "nolang"
-languageChoices = LanguageChoices()
\ No newline at end of file
+languageChoices = LanguageChoices()
dvdburn.selectedSource(service)
def Plugins(**kwargs):
- return [PluginDescriptor(name="DVD Burn", description=_("Burn to DVD..."), where = PluginDescriptor.WHERE_MOVIELIST, fnc=main_add, icon="dvdburn.png"),
- PluginDescriptor(name="DVD Burn", description=_("Burn to DVD..."), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main, icon="dvdburn.png") ]
+ descr = _("Burn to DVD...")
+ return [PluginDescriptor(name="DVD Burn", description=descr, where = PluginDescriptor.WHERE_MOVIELIST, fnc=main_add, icon="dvdburn.png"),
+ PluginDescriptor(name="DVD Burn", description=descr, where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main, icon="dvdburn.png") ]
from Components.config import config
from Tools.Directories import pathExists, fileExists
from Components.Harddisk import harddiskmanager
+from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier
import servicedvd # load c++ part of dvd player plugin
})
self.onClose.append(self.__onClose)
- self.physicalDVD = False
- self.dvd_device = None
+ hotplugNotifier.append(self.hotplugCB)
+
if dvd_device:
- self.dvd_device = dvd_device
- self.physicalDVD = True
+ self.physicalDVD = True
else:
- devicepath = harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD())
- if pathExists(devicepath):
- from Components.Scanner import scanDevice
- res = scanDevice(devicepath)
- list = [ (r.description, r, res[r], self.session) for r in res ]
- if list:
- (desc, scanner, files, session) = list[0]
- for file in files:
- print file
- if file.mimetype == "video/x-dvd":
- self.dvd_device = devicepath
- print "physical dvd found:", self.dvd_device
- self.physicalDVD = True
+ self.scanHotplug()
self.dvd_filelist = dvd_filelist
- self.onFirstExecBegin.append(self.showFileBrowser)
+ self.onFirstExecBegin.append(self.opened)
self.service = None
self.in_menu = False
def askLeavePlayer(self):
choices = [(_("Exit"), "exit"), (_("Continue playing"), "play")]
- if not self.physicalDVD:
+ if True or not self.physicalDVD:
choices.insert(1,(_("Return to file browser"), "browser"))
+ if self.physicalDVD and not self.session.nav.getCurrentlyPlayingServiceReference().toString().endswith(harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD())):
+ choices.insert(0,(_("Play DVD"), "playPhysical" ))
self.session.openWithCallback(self.exitCB, ChoiceBox, title=_("Leave DVD Player?"), list = choices)
def sendKey(self, key):
def keyCancel(self):
self.askLeavePlayer()
- def showFileBrowser(self):
- if self.physicalDVD and len(self.dvd_filelist) == 0:
- if self.dvd_device == harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD()):
- self.session.openWithCallback(self.DVDdriveCB, MessageBox, text=_("Do you want to play DVD in drive?"), timeout=5 )
- else:
- self.DVDdriveCB(True)
- elif len(self.dvd_filelist) == 1:
+ def opened(self):
+ if len(self.dvd_filelist) == 1:
+ # opened via autoplay
self.FileBrowserClosed(self.dvd_filelist[0])
+ elif self.physicalDVD:
+ # opened from menu with dvd in drive
+ self.session.openWithCallback(self.playPhysicalCB, MessageBox, text=_("Do you want to play DVD in drive?"), timeout=5 )
else:
+ # opened from menu without dvd in drive
self.session.openWithCallback(self.FileBrowserClosed, FileBrowser, self.dvd_filelist)
-
- def DVDdriveCB(self, answer):
+
+ def playPhysicalCB(self, answer):
if answer == True:
- self.FileBrowserClosed(self.dvd_device)
+ self.FileBrowserClosed(harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD()))
else:
self.session.openWithCallback(self.FileBrowserClosed, FileBrowser)
- self.physicalDVD = False
def FileBrowserClosed(self, val):
curref = self.session.nav.getCurrentlyPlayingServiceReference()
#else
if self.service:
self.service = None
- self.showFileBrowser()
+ self.session.openWithCallback(self.FileBrowserClosed, FileBrowser)
+ if answer[1] == "playPhysical":
+ if self.service:
+ self.service = None
+ self.playPhysicalCB(True)
else:
pass
def __onClose(self):
self.restore_infobar_seek_config()
self.session.nav.playService(self.oldService)
+ hotplugNotifier.remove(self.hotplugCB)
def playLastCB(self, answer): # overwrite infobar cuesheet function
print "playLastCB", answer, self.resume_point
def calcRemainingTime(self):
return 0
+ def hotplugCB(self, dev, media_state):
+ print "[hotplugCB]", dev, media_state
+ if dev == harddiskmanager.getCD():
+ if media_state == "1":
+ self.scanHotplug()
+ else:
+ self.physicalDVD = False
+
+ def scanHotplug(self):
+ devicepath = harddiskmanager.getAutofsMountpoint(harddiskmanager.getCD())
+ if pathExists(devicepath):
+ from Components.Scanner import scanDevice
+ res = scanDevice(devicepath)
+ list = [ (r.description, r, res[r], self.session) for r in res ]
+ if list:
+ (desc, scanner, files, session) = list[0]
+ for file in files:
+ print file
+ if file.mimetype == "video/x-dvd":
+ print "physical dvd found:", devicepath
+ self.physicalDVD = True
+ return
+ self.physicalDVD = False
+
def main(session, **kwargs):
session.open(DVDPlayer)
ScanPath(path = "", with_subdirs = False),
],
name = "DVD",
- description = "Play DVD",
+ description = _("Play DVD"),
openfnc = filescan_open,
)]
// create handle
ddvd_set_dvd_path(m_ddvdconfig, filename);
ddvd_set_ac3thru(m_ddvdconfig, 0);
- ddvd_set_language(m_ddvdconfig, "de");
+
+ std::string ddvd_language;
+ if (!ePythonConfigQuery::getConfigValue("config.osd.language", ddvd_language))
+ ddvd_set_language(m_ddvdconfig, (ddvd_language.substr(0,2)).c_str());
int fd = open("/proc/stb/video/aspect", O_RDONLY);
if (fd > -1)
session.open(FileManager)
def Plugins(**kwargs):
- return [PluginDescriptor(name="File-Manager", description="Lets you view/edit files in your Dreambox", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
- PluginDescriptor(name="File-Manager", description="Lets you view/edit files in your Dreambox", where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)]
+ descr = _("Lets you view/edit files in your Dreambox")
+ return [PluginDescriptor(name="File-Manager", description=descr, where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
+ PluginDescriptor(name="File-Manager", description=descr, where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)]
self.player.show()
return NumberActionMap.action(self, contexts, action)
-
self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
{
"ok": (self.ok, _("add file to playlist")),
self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
{
iPlayableService.evUpdatedInfo: self.__evUpdatedInfo,
- iPlayableService.evUser+11: self.__evDecodeError,
+ iPlayableService.evUser+10: self.__evAudioDecodeError,
+ iPlayableService.evUser+11: self.__evVideoDecodeError,
iPlayableService.evUser+12: self.__evPluginError,
iPlayableService.evUser+13: self["coverArt"].embeddedCoverArt
})
print "[__evUpdatedInfo] title %d of %d (%s)" % (currenttitle, totaltitles, sTitle)
self.readTitleInformation()
- def __evDecodeError(self):
+ def __evAudioDecodeError(self):
+ currPlay = self.session.nav.getCurrentService()
+ sAudioType = currPlay.info().getInfoString(iServiceInformation.sUser+10)
+ print "[__evAudioDecodeError] audio-codec %s can't be decoded by hardware" % (sAudioType)
+ self.session.open(MessageBox, _("This Dreambox can't decode %s streams!") % sAudioType, type = MessageBox.TYPE_INFO,timeout = 20 )
+
+ def __evVideoDecodeError(self):
currPlay = self.session.nav.getCurrentService()
sVideoType = currPlay.info().getInfoString(iServiceInformation.sVideoType)
- print "[__evDecodeError] video-codec %s can't be decoded by hardware" % (sVideoType)
- self.session.open(MessageBox, _("This Dreambox can't decode %s video streams!") % sVideoType, type = MessageBox.TYPE_INFO,timeout = 20 )
+ print "[__evVideoDecodeError] video-codec %s can't be decoded by hardware" % (sVideoType)
+ self.session.open(MessageBox, _("This Dreambox can't decode %s streams!") % sVideoType, type = MessageBox.TYPE_INFO,timeout = 20 )
def __evPluginError(self):
currPlay = self.session.nav.getCurrentService()
self.updateCurrentInfo()
def showAfterSeek(self):
- self.show()
+ pass
def showAfterCuesheetOperation(self):
self.show()
ScanPath(path = "", with_subdirs = False),
],
name = "Movie",
- description = "View Movies...",
+ description = _("View Movies..."),
openfnc = filescan_open,
),
Scanner(mimetypes = ["video/x-vcd"],
ScanPath(path = "MPEGAV", with_subdirs = False),
],
name = "Video CD",
- description = "View Video CD...",
+ description = _("View Video CD..."),
openfnc = filescan_open,
),
Scanner(mimetypes = ["audio/mpeg", "audio/x-wav", "application/ogg", "audio/x-flac"],
ScanPath(path = "", with_subdirs = False),
],
name = "Music",
- description = "Play Music...",
+ description = _("Play Music..."),
openfnc = filescan_open,
)]
try:
ScanPath(path = "", with_subdirs = False),
],
name = "Audio-CD",
- description = "Play Audio-CD...",
+ description = _("Play Audio-CD..."),
openfnc = audioCD_open,
))
return mediatypes
list = [ (r.description, r, res[r], session) for r in res ]
- if list == [ ]:
+ if not list:
from Screens.MessageBox import MessageBox
if access(mountpoint, F_OK|R_OK):
- session.open(MessageBox, "No displayable files on this medium found!", MessageBox.TYPE_ERROR)
+ session.open(MessageBox, _("No displayable files on this medium found!"), MessageBox.TYPE_ERROR)
else:
print "ignore", mountpoint, "because its not accessible"
return
session.openWithCallback(execute, ChoiceBox,
- title = "The following files were found...",
+ title = _("The following files were found..."),
list = list)
def scan(session):
from Components.Harddisk import harddiskmanager
parts = [ (r.description, r.mountpoint, session) for r in harddiskmanager.getMountedPartitions(onlyhotplug = False)]
- if len(parts):
+ if parts:
for x in parts:
if not access(x[1], F_OK|R_OK):
parts.remove(x)
def Plugins(**kwargs):
return [
- PluginDescriptor(name="MediaScanner", description="Scan Files...", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
+ PluginDescriptor(name="MediaScanner", description=_("Scan Files..."), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
# PluginDescriptor(where = PluginDescriptor.WHERE_MENU, fnc=menuHook),
PluginDescriptor(where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart),
PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart)
ScanPath(path = "", with_subdirs = False),
],
name = "Pictures",
- description = "View Photos...",
+ description = _("View Photos..."),
openfnc = filescan_open,
)
socketHandler = SocketMMIMessageHandler()
def Plugins(**kwargs):
- return [ PluginDescriptor(name = "SocketMMI", description = "Python frontend for /tmp/mmi.socket", where = PluginDescriptor.WHERE_MENU, fnc = menu),
+ return [ PluginDescriptor(name = "SocketMMI", description = _("Python frontend for /tmp/mmi.socket"), where = PluginDescriptor.WHERE_MENU, fnc = menu),
PluginDescriptor(where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart),
PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart) ]
# or return a function which is called with session and the interface name for extended setup of this interface
WHERE_EVENTINFO = 11
+ # reason (True: Networkconfig read finished, False: Networkconfig reload initiated )
+ WHERE_NETWORKCONFIG_READ = 12
+
def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None, internal = False):
self.name = name
self.internal = internal
--- /dev/null
+This plugin is licensed under the Creative Commons
+Attribution-NonCommercial-ShareAlike 3.0 Unported
+License. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative
+Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+Alternatively, this plugin may be distributed and executed on hardware which
+is licensed by Dream Multimedia GmbH.
+
+This plugin is NOT free software. It is open source, you are allowed to
+modify it (if you keep the license), but it may not be commercially
+distributed other than under the conditions noted above.
--- /dev/null
+installdir = $(LIBDIR)/enigma2/python/Plugins/SystemPlugins/CommonInterfaceAssignment
+
+install_PYTHON = \
+ __init__.py \
+ plugin.py
+
--- /dev/null
+from Screens.Screen import Screen
+from Screens.ChannelSelection import *
+from Components.ActionMap import HelpableActionMap, ActionMap, NumberActionMap
+from Components.Sources.List import List
+from Components.Sources.StaticText import StaticText
+from Components.config import ConfigNothing
+from Components.ConfigList import ConfigList
+from Components.Label import Label
+from Components.SelectionList import SelectionList
+from Components.MenuList import MenuList
+from ServiceReference import ServiceReference
+from Plugins.Plugin import PluginDescriptor
+from xml.etree.cElementTree import parse as ci_parse
+from Tools.XMLTools import elementsWithTag, mergeText, stringToXML
+from enigma import eDVBCI_UI, eDVBCIInterfaces
+
+from os import system, path as os_path
+
+class CIselectMainMenu(Screen):
+ skin = """
+ <screen position="205,150" size="310,270" title="CI Assignment" >
+ <widget name="CiList" position="10,10" size="290,200" scrollbarMode="showOnDemand" />
+ <ePixmap position="10,210" size="290,2" pixmap="skin_default/div-h.png" transparent="1" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,220" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="160,220" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="10,220" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="160,220" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ </screen>"""
+
+ def __init__(self, session, args = 0):
+ self.skin = CIselectMainMenu.skin
+ Screen.__init__(self, session)
+
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Config"))
+
+ self["actions"] = ActionMap(["ColorActions","SetupActions"],
+ {
+ "green": self.greenPressed,
+ "red": self.redPressed,
+ "yellow": self.yellowPressed,
+ "ok": self.greenPressed,
+ "cancel": self.cancel
+ }, -1)
+
+ NUM_CI=eDVBCIInterfaces.getInstance().getNumOfSlots()
+
+ print "[CI_Wizzard] FOUND %d CI Slots " % NUM_CI
+
+ self.dlg = None
+ self.state = { }
+ self.list = [ ]
+ if NUM_CI > 0:
+ for slot in range(NUM_CI):
+ state = eDVBCI_UI.getInstance().getState(slot)
+ if state == 0:
+ appname = _("Slot %d") %(slot+1) + " - " + _("no module")
+ elif state == 1:
+ appname = _("Slot %d") %(slot+1) + " - " + _("init modules")
+ elif state == 2:
+ appname = _("Slot %d") %(slot+1) + " - " + eDVBCI_UI.getInstance().getAppName(slot)
+ self.list.append( (appname, ConfigNothing(), 0, slot) )
+ else:
+ self.list.append( (_("no CI slots found") , ConfigNothing(), 1, -1) )
+
+ menuList = ConfigList(self.list)
+ menuList.list = self.list
+ menuList.l.setList(self.list)
+ self["CiList"] = menuList
+
+ def greenPressed(self):
+ cur = self["CiList"].getCurrent()
+ if cur and len(cur) > 2:
+ action = cur[2]
+ slot = cur[3]
+ if action == 1:
+ print "[CI_Wizzard] there is no CI Slot in your receiver"
+ else:
+ print "[CI_Wizzard] selected CI Slot : %d" % slot
+ if config.usage.setup_level.index > 1: # advanced
+ self.session.open(CIconfigMenu, slot)
+ else:
+ self.session.open(easyCIconfigMenu, slot)
+
+ def yellowPressed(self):
+ NUM_CI=eDVBCIInterfaces.getInstance().getNumOfSlots()
+ print "[CI_Check] FOUND %d CI Slots " % NUM_CI
+ if NUM_CI > 0:
+ for ci in range(NUM_CI):
+ print eDVBCIInterfaces.getInstance().getDescrambleRules(ci)
+# else:
+# print "no ci found"
+
+ def redPressed(self):
+ print "[CI_Config] RED BUTTON not implemented yet - only use self.cancel()"
+ self.cancel()
+
+ def cancel(self):
+ self.close()
+
+class CIconfigMenu(Screen):
+ skin = """
+ <screen position="60,80" size="595,436" title="CI Assignment" >
+ <widget name="CAidList.desc" position="10,10" size="575,22" font="Regular;20" />
+ <widget name="CAidList" position="10,40" size="575,45" font="Regular;20" />
+ <widget name="ServiceList.desc" position="10,90" size="575,22" font="Regular;20" />
+ <widget name="ServiceList" position="10,120" size="575,250" scrollbarMode="showOnDemand" />
+ <ePixmap position="10,380" size="575,2" pixmap="skin_default/div-h.png" transparent="1" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,390" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="155,390" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="300,390" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/blue.png" position="445,390" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="10,390" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="155,390" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_yellow" render="Label" position="300,390" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_blue" render="Label" position="445,390" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ </screen>"""
+
+ def __init__(self, session, ci_slot="9"):
+ self.skin = CIconfigMenu.skin
+ Screen.__init__(self, session)
+ self.ci_slot=ci_slot
+ self.filename="/etc/enigma2/ci"+str(self.ci_slot)+".xml"
+
+ self["key_red"] = StaticText(_("delete"))
+ self["key_green"] = StaticText(_("add Service"))
+ self["key_yellow"] = StaticText(_("add Provider"))
+ self["key_blue"] = StaticText(_("select CAId"))
+ self["CAidList.desc"] = Label(_("assigned CAIds"))
+ self["ServiceList.desc"] = Label(_("assigned Services/Provider"))
+
+ self["actions"] = ActionMap(["ColorActions","SetupActions"],
+ {
+ "green": self.greenPressed,
+ "red": self.redPressed,
+ "yellow": self.yellowPressed,
+ "blue": self.bluePressed,
+ "ok": self.okPressed,
+ "cancel": self.cancel
+ }, -1)
+
+ print "[CI_Wizzard_Config] Configuring CI Slots : %d " % self.ci_slot
+
+ i=0
+ self.caidlist=[]
+ print eDVBCIInterfaces.getInstance().readCICaIds(self.ci_slot)
+ for caid in eDVBCIInterfaces.getInstance().readCICaIds(self.ci_slot):
+ i+=1
+ self.caidlist.append((str(hex(int(caid))),str(caid),i))
+
+ print "[CI_Wizzard_Config_CI%d] read following CAIds from CI: %s" %(self.ci_slot, self.caidlist)
+ self.selectedcaid =[]
+ self.servicelist = []
+ self.caids=_("no CAId selected")
+ self["CAidList"] = Label(self.caids)
+
+ serviceList = ConfigList(self.servicelist)
+ serviceList.list = self.servicelist
+ serviceList.l.setList(self.servicelist)
+ self["ServiceList"] = serviceList
+
+ self.loadXML()
+ # if config mode !=advanced autoselect any caid
+ if config.usage.setup_level.index <= 1: # advanced
+ self.selectedcaid=self.caidlist
+
+ def redPressed(self):
+ self.delete()
+
+ def greenPressed(self):
+ self.session.openWithCallback( self.finishedChannelSelection, myChannelSelection, None)
+
+ def yellowPressed(self):
+ self.session.openWithCallback( self.finishedProviderSelection, myProviderSelection, None)
+
+ def bluePressed(self):
+ self.session.openWithCallback(self.finishedCAidSelection, CAidSelect, self.caidlist, self.selectedcaid)
+
+ def okPressed(self):
+ print "[CI_Config_CI%d] OK BUTTON not implemented yet" %self.ci_slot
+
+ def cancel(self):
+ self.saveXML()
+ activate_all(self)
+ self.close()
+
+ def delete(self):
+ cur = self["ServiceList"].getCurrent()
+ if cur and len(cur) > 2:
+ self.servicelist.remove(cur)
+ self["ServiceList"].l.setList(self.servicelist)
+
+ def finishedChannelSelection(self, *args):
+ if len(args):
+ ref=args[0]
+ service_ref = ServiceReference(ref)
+ service_name = service_ref.getServiceName()
+ if find_in_list(self.servicelist, service_name, 0)==False:
+ split_ref=service_ref.ref.toString().split(":")
+ if split_ref[0] == "1": #== dvb service und nicht muell von None
+ self.servicelist.append( (service_name , ConfigNothing(), 0, service_ref.ref.toString()) )
+ self["ServiceList"].l.setList(self.servicelist)
+
+ def finishedProviderSelection(self, *args):
+ if len(args)>1: # bei nix selected kommt nur 1 arg zurueck (==None)
+ name=args[0]
+ dvbnamespace=args[1]
+ if find_in_list(self.servicelist, name, 0)==False:
+ self.servicelist.append( (name , ConfigNothing(), 1, dvbnamespace) )
+ self["ServiceList"].l.setList(self.servicelist)
+
+ def finishedCAidSelection(self, *args):
+ if len(args):
+ self.selectedcaid=args[0]
+ self.caids=""
+ for item in self.selectedcaid:
+ if len(self.caids):
+ self.caids+= ", " + item[0]
+ else:
+ self.caids=item[0]
+ else:
+ self.selectedcaid=[]
+ self.caids=_("no CAId selected")
+ self["CAidList"].setText(self.caids)
+
+ def saveXML(self):
+ try:
+ fp = file(self.filename, 'w')
+ fp.write("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n")
+ fp.write("<ci>\n")
+ fp.write("\t<slot>\n")
+ fp.write("\t\t<id>%s</id>\n" % self.ci_slot)
+ for item in self.selectedcaid:
+ if len(self.selectedcaid):
+ fp.write("\t\t<caid id=\"%s\" />\n" % item[0])
+ for item in self.servicelist:
+ if len(self.servicelist):
+ if item[2]==1:
+ fp.write("\t\t<provider name=\"%s\" dvbnamespace=\"%s\" />\n" % (item[0], item[3]))
+ else:
+ fp.write("\t\t<service name=\"%s\" ref=\"%s\" />\n" % (item[0], item[3]))
+ fp.write("\t</slot>\n")
+ fp.write("</ci>\n")
+ fp.close()
+ except:
+ print "[CI_Config_CI%d] xml not written" %self.ci_slot
+ os.unlink(self.filename)
+
+ def loadXML(self):
+ if not os_path.exists(self.filename):
+ return
+
+ def getValue(definitions, default):
+ ret = ""
+ Len = len(definitions)
+ return Len > 0 and definitions[Len-1].text or default
+
+ try:
+ tree = ci_parse(self.filename).getroot()
+ self.read_services=[]
+ self.read_providers=[]
+ self.usingcaid=[]
+ self.ci_config=[]
+# for ci in tree.findall("ci"):
+ for slot in tree.findall("slot"):
+ read_slot = getValue(slot.findall("id"), False).encode("UTF-8")
+ print "ci " + read_slot
+
+ i=0
+ for caid in slot.findall("caid"):
+ read_caid = caid.get("id").encode("UTF-8")
+ self.selectedcaid.append((str(read_caid),str(read_caid),i))
+ self.usingcaid.append(long(read_caid,16))
+ i+=1
+
+ for service in slot.findall("service"):
+ read_service_name = service.get("name").encode("UTF-8")
+ read_service_ref = service.get("ref").encode("UTF-8")
+ self.read_services.append (read_service_ref)
+
+ for provider in slot.findall("provider"):
+ read_provider_name = provider.get("name").encode("UTF-8")
+ read_provider_dvbname = provider.get("dvbnamespace").encode("UTF-8")
+ self.read_providers.append((read_provider_name,read_provider_dvbname))
+
+ self.ci_config.append((int(read_slot), (self.read_services, self.read_providers, self.usingcaid)))
+ except:
+ print "[CI_Config_CI%d] error parsing xml..." %self.ci_slot
+
+ for item in self.read_services:
+ if len(item):
+ self.finishedChannelSelection(item)
+
+ for item in self.read_providers:
+ if len(item):
+ self.finishedProviderSelection(item[0],item[1])
+
+ print self.ci_config
+ self.finishedCAidSelection(self.selectedcaid)
+ self["ServiceList"].l.setList(self.servicelist)
+
+class easyCIconfigMenu(CIconfigMenu):
+ skin = """
+ <screen position="80,80" size="470,420" title="CI Assignment" >
+ <widget name="ServiceList.desc" position="10,10" size="420,22" font="Regular;20" />
+ <widget name="ServiceList" position="10,40" size="450,340" scrollbarMode="showOnDemand" />
+ <ePixmap position="10,360" size="450,2" pixmap="skin_default/div-h.png" transparent="1" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,370" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="160,370" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="310,370" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="10,370" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="160,370" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_yellow" render="Label" position="310,370" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ </screen>"""
+
+ def __init__(self, session, ci_slot="9"):
+ ci=ci_slot
+ CIconfigMenu.__init__(self, session, ci_slot)
+ self.skin = easyCIconfigMenu.skin
+
+ self["actions"] = ActionMap(["ColorActions","SetupActions"],
+ {
+ "green": self.greenPressed,
+ "red": self.redPressed,
+ "yellow": self.yellowPressed,
+ "blue": self.bluePressed,
+ "ok": self.okPressed,
+ "cancel": self.cancel
+ }, -1)
+
+ def bluePressed(self):
+ print "do nothing"
+
+class CAidSelect(Screen):
+ skin = """
+ <screen position="210,140" size="310,290" title="select CAId's" >
+ <widget name="list" position="10,10" size="290,210" scrollbarMode="showOnDemand" />
+ <ePixmap position="10,230" size="290,2" pixmap="skin_default/div-h.png" transparent="1" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,240" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="160,240" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="10,240" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="160,240" zPosition="1" size="140,40" font="Regular;19" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ </screen>"""
+
+ def __init__(self, session, list, selected_caids):
+ self.skin = CAidSelect.skin
+ Screen.__init__(self, session)
+
+ self.list = SelectionList()
+ self["list"] = self.list
+
+ for listindex in range(len(list)):
+ if find_in_list(selected_caids,list[listindex][0],0):
+ self.list.addSelection(list[listindex][0], list[listindex][1], listindex, True)
+ else:
+ self.list.addSelection(list[listindex][0], list[listindex][1], listindex, False)
+
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Save"))
+
+ self["actions"] = ActionMap(["ColorActions","SetupActions"],
+ {
+ "ok": self.list.toggleSelection,
+ "cancel": self.cancel,
+ "green": self.greenPressed,
+ "red": self.cancel
+ }, -1)
+
+ def greenPressed(self):
+ list = self.list.getSelectionsList()
+ print list
+ self.close(list)
+
+ def cancel(self):
+ self.close()
+
+class myProviderSelection(ChannelSelectionBase):
+ skin = """
+ <screen position="80,80" size="560,430" title="Select provider to add...">
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/blue.png" position="420,0" size="140,40" alphatest="on" />
+ <widget name="key_red" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget name="key_green" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="key_yellow" position="280,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />
+ <widget name="key_blue" position="420,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#18188b" transparent="1" />
+ <widget name="list" position="00,45" size="560,364" scrollbarMode="showOnDemand" />
+ </screen>"""
+
+ def __init__(self, session, title):
+ ChannelSelectionBase.__init__(self, session)
+ self.onShown.append(self.__onExecCallback)
+
+ self["actions"] = ActionMap(["OkCancelActions", "ChannelSelectBaseActions"],
+ {
+ "showFavourites": self.doNothing,
+ "showAllServices": self.doNothing,
+ "showProviders": self.doNothing,
+ "showSatellites": self.doNothing,
+ "cancel": self.cancel,
+ "ok": self.channelSelected,
+ })
+ self["key_red"] = StaticText(_(""))
+ self["key_green"] = StaticText(_(""))
+ self["key_yellow"] = StaticText(_(""))
+ self["key_blue"] = StaticText(_(""))
+
+ def doNothing(self):
+ print "nothing to do..."
+
+ def __onExecCallback(self):
+ self.showSatellites()
+
+ def channelSelected(self): # just return selected service
+ ref = self.getCurrentSelection()
+ splited_ref=ref.toString().split(":")
+ if ref.flags == 7 and splited_ref[6] != "0":
+ self.dvbnamespace=splited_ref[6]
+ self.enterPath(ref)
+ else:
+ self.close(ref.getName(), self.dvbnamespace)
+
+ def showSatellites(self):
+ if not self.pathChangeDisabled:
+ refstr = '%s FROM SATELLITES ORDER BY satellitePosition'%(self.service_types)
+ if not self.preEnterPath(refstr):
+ ref = eServiceReference(refstr)
+ justSet=False
+ prev = None
+
+ if self.isBasePathEqual(ref):
+ if self.isPrevPathEqual(ref):
+ justSet=True
+ prev = self.pathUp(justSet)
+ else:
+ currentRoot = self.getRoot()
+ if currentRoot is None or currentRoot != ref:
+ justSet=True
+ self.clearPath()
+ self.enterPath(ref, True)
+ if justSet:
+ serviceHandler = eServiceCenter.getInstance()
+ servicelist = serviceHandler.list(ref)
+ if not servicelist is None:
+ while True:
+ service = servicelist.getNext()
+ if not service.valid(): #check if end of list
+ break
+ unsigned_orbpos = service.getUnsignedData(4) >> 16
+ orbpos = service.getData(4) >> 16
+ if orbpos < 0:
+ orbpos += 3600
+ if service.getPath().find("FROM PROVIDER") != -1:
+ service_type = _("Providers")
+ try:
+ # why we need this cast?
+ service_name = str(nimmanager.getSatDescription(orbpos))
+ except:
+ if unsigned_orbpos == 0xFFFF: #Cable
+ service_name = _("Cable")
+ elif unsigned_orbpos == 0xEEEE: #Terrestrial
+ service_name = _("Terrestrial")
+ else:
+ if orbpos > 1800: # west
+ orbpos = 3600 - orbpos
+ h = _("W")
+ else:
+ h = _("E")
+ service_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10)
+ service.setName("%s - %s" % (service_name, service_type))
+ self.servicelist.addService(service)
+ self.servicelist.finishFill()
+ if prev is not None:
+ self.setCurrentSelection(prev)
+
+ def cancel(self):
+ self.close(None)
+
+class myChannelSelection(ChannelSelectionBase):
+ skin = """
+ <screen position="80,80" size="560,430" title="Select service to add...">
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/blue.png" position="420,0" size="140,40" alphatest="on" />
+ <widget name="key_red" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget name="key_green" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="key_yellow" position="280,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />
+ <widget name="key_blue" position="420,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#18188b" transparent="1" />
+ <widget name="list" position="00,45" size="560,364" scrollbarMode="showOnDemand" />
+ </screen>"""
+
+ def __init__(self, session, title):
+ ChannelSelectionBase.__init__(self, session)
+ self.onShown.append(self.__onExecCallback)
+ service = self.session.nav.getCurrentService()
+ if service:
+ info = service.info()
+ if info:
+ refstr = info.getInfoString(iServiceInformation.sServiceref)
+ self.servicelist.setPlayableIgnoreService(eServiceReference(refstr))
+
+ self["actions"] = ActionMap(["OkCancelActions", "TvRadioActions", "ChannelSelectBaseActions"],
+ {
+ "showProviders": self.doNothing,
+ "showSatellites": self.doNothing,
+ "cancel": self.cancel,
+ "ok": self.channelSelected,
+ "keyRadio": self.setModeRadio,
+ "keyTV": self.setModeTv
+ })
+
+ self["key_green"] = StaticText(_(""))
+ self["key_yellow"] = StaticText(_(""))
+
+ def __onExecCallback(self):
+ self.setModeTv()
+
+ def doNothing(self):
+ print "nothing to do..."
+
+ def channelSelected(self): # just return selected service
+ ref = self.getCurrentSelection()
+ if (ref.flags & 7) == 7:
+ self.enterPath(ref)
+ elif not (ref.flags & eServiceReference.isMarker):
+ ref = self.getCurrentSelection()
+ self.close(ref)
+
+ def setModeTv(self):
+ self.setTvMode()
+ self.showFavourites()
+
+ def setModeRadio(self):
+ self.setRadioMode()
+ self.showFavourites()
+
+ def cancel(self):
+ self.close(None)
+
+def activate_all(session):
+ NUM_CI=eDVBCIInterfaces.getInstance().getNumOfSlots()
+ print "[CI_Activate] FOUND %d CI Slots " % NUM_CI
+ if NUM_CI > 0:
+ ci_config=[]
+ def getValue(definitions, default):
+ # Initialize Output
+ ret = ""
+ # How many definitions are present
+ Len = len(definitions)
+ return Len > 0 and definitions[Len-1].text or default
+
+ for ci in range(NUM_CI):
+ filename="/etc/enigma2/ci"+str(ci)+".xml"
+
+ if not os_path.exists(filename):
+ print "[CI_Activate_Config_CI%d] no config file found" %ci
+
+ try:
+ tree = ci_parse(filename).getroot()
+ read_services=[]
+ read_providers=[]
+ usingcaid=[]
+ for slot in tree.findall("slot"):
+ read_slot = getValue(slot.findall("id"), False).encode("UTF-8")
+
+ for caid in slot.findall("caid"):
+ read_caid = caid.get("id").encode("UTF-8")
+ usingcaid.append(long(read_caid,16))
+
+ for service in slot.findall("service"):
+ read_service_ref = service.get("ref").encode("UTF-8")
+ read_services.append (read_service_ref)
+
+ for provider in slot.findall("provider"):
+ read_provider_name = provider.get("name").encode("UTF-8")
+ read_provider_dvbname = provider.get("dvbnamespace").encode("UTF-8")
+ read_providers.append((read_provider_name,long(read_provider_dvbname,16)))
+
+ ci_config.append((int(read_slot), (read_services, read_providers, usingcaid)))
+ except:
+ print "[CI_Activate_Config_CI%d] error parsing xml..." %ci
+
+ for item in ci_config:
+ print "[CI_Activate] activate CI%d with following settings:" %item[0]
+ print item[0]
+ print item[1]
+ try:
+ eDVBCIInterfaces.getInstance().setDescrambleRules(item[0],item[1])
+ except:
+ print "[CI_Activate_Config_CI%d] error setting DescrambleRules..." %item[0]
+
+def find_in_list(list, search, listpos=0):
+ for item in list:
+ if item[listpos]==search:
+ return True
+ return False
+
+global_session = None
+
+def sessionstart(reason, session):
+ global global_session
+ global_session = session
+
+def autostart(reason, **kwargs):
+ global global_session
+ if reason == 0:
+ print "[CI_Assignment] activating ci configs:"
+ activate_all(global_session)
+ elif reason == 1:
+ global_session = None
+
+def main(session, **kwargs):
+ session.open(CIselectMainMenu)
+
+def menu(menuid, **kwargs):
+ if menuid == "setup" and eDVBCIInterfaces.getInstance().getNumOfSlots():
+ return [(_("Common Interface Assignment"), main, "ci_assign", 11)]
+ return [ ]
+
+def Plugins(**kwargs):
+ if config.usage.setup_level.index > 1:
+ return [PluginDescriptor( where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart ),
+ PluginDescriptor( where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart ),
+ PluginDescriptor( name = "CommonInterfaceAssignment", description = _("a gui to assign services/providers/caids to common interface modules"), where = PluginDescriptor.WHERE_MENU, fnc = menu )]
+ else:
+ return [PluginDescriptor( where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart ),
+ PluginDescriptor( where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart ),
+ PluginDescriptor( name = "CommonInterfaceAssignment", description = _("a gui to assign services/providers to common interface modules"), where = PluginDescriptor.WHERE_MENU, fnc = menu )]
text += " ==> "
text += str(transponder[0])
text += "\n"
+ if reason == "pids_failed":
+ text += "(tsid, onid): "
+ text += str(transponder[3]['real'])
+ text += "(read from sat) != "
+ text += str(transponder[3]['expected'])
+ text += "(read from file)"
+ text += "\n"
+ text += "\n"
if countsuccessful > 0:
text += "\n"
text += "Successfully tuned transponders' previous planes:\n"
for sat in nimmanager.getSatListForNim(self.feid):
for transponder in nimmanager.getTransponders(sat[0]):
#print transponder
- mytransponder = (transponder[1] / 1000, transponder[2] / 1000, transponder[3], transponder[4], transponder[5], sat[0], None, None, transponder[10], transponder[11])
+ mytransponder = (transponder[1] / 1000, transponder[2] / 1000, transponder[3], transponder[4], transponder[7], sat[0], transponder[5], transponder[6], transponder[8], transponder[9], transponder[10], transponder[11])
self.analyseTransponder(mytransponder)
def getIndexForTransponder(self, transponder):
def showNim(self, nim):
nimConfig = nimmanager.getNimConfig(nim.slot)
if nim.isCompatible("DVB-S"):
- if nimConfig.configMode.value in ["loopthrough", "equal", "satposdepends", "nothing"]:
+ if nimConfig.configMode.value in ("loopthrough", "equal", "satposdepends", "nothing"):
return False
if nimConfig.configMode.value == "simple":
if nimConfig.diseqcMode.value == "positioner":
-SUBDIRS = SoftwareManager FrontprocessorUpgrade PositionerSetup Satfinder SkinSelector SatelliteEquipmentControl Videomode VideoTune Hotplug DefaultServicesScanner NFIFlash DiseqcTester
+SUBDIRS = SoftwareManager FrontprocessorUpgrade PositionerSetup Satfinder \
+ SkinSelector SatelliteEquipmentControl Videomode VideoTune Hotplug \
+ DefaultServicesScanner NFIFlash DiseqcTester CommonInterfaceAssignment
list = [
("Delay after diseqc reset command", config.sec.delay_after_diseqc_reset_cmd),
("Delay after diseqc peripherial poweron command", config.sec.delay_after_diseqc_peripherial_poweron_cmd),
- ("Delay after continuous tone change", config.sec.delay_after_continuous_tone_change),
+ ("Delay after continuous tone disable before diseqc", config.sec.delay_after_continuous_tone_disable_before_diseqc),
+ ("Delay after final continuous tone change", config.sec.delay_after_final_continuous_tone_change),
("Delay after last voltage change", config.sec.delay_after_final_voltage_change),
("Delay between diseqc commands", config.sec.delay_between_diseqc_repeats),
("Delay after last diseqc command", config.sec.delay_after_last_diseqc_command),
def runAsync(self, finished_cb):
self.finished_cb = finished_cb
self.doRestore()
-
-
\ No newline at end of file
from Components.PluginComponent import plugins
from Tools.Directories import fileExists, resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
from Tools.LoadPixmap import LoadPixmap
-from enigma import eTimer, quitMainloop, RT_HALIGN_LEFT, RT_VALIGN_CENTER, eListboxPythonMultiContent, eListbox, gFont
+from enigma import eTimer, quitMainloop, RT_HALIGN_LEFT, RT_VALIGN_CENTER, eListboxPythonMultiContent, eListbox, gFont, getDesktop
from cPickle import dump, load
from os import path as os_path, system as os_system, unlink, stat, mkdir, popen, makedirs, listdir, access, rename, remove, W_OK, R_OK, F_OK
<widget source="menu" render="Listbox" position="280,10" size="230,300" scrollbarMode="showNever" selectionDisabled="1">
<convert type="TemplatedMultiContent">
{"template": [
- MultiContentEntryText(pos = (2, 2), size = (230, 300), flags = RT_HALIGN_CENTER|RT_VALIGN_CENTER|RT_WRAP, text = 2), # index 0 is the MenuText,
+ MultiContentEntryText(pos = (2, 2), size = (230, 300), flags = RT_HALIGN_CENTER|RT_VALIGN_CENTER|RT_WRAP, text = 2), # index 2 is the Description,
],
"fonts": [gFont("Regular", 20)],
"itemHeight": 230
if (current == "ipkg-manager"):
self.session.open(PacketManager, self.skin_path)
elif (current == "ipkg-source"):
- self.session.open(IPKGSource)
+ self.session.open(IPKGMenu, self.skin_path)
+ #self.session.open(IPKGSource)
elif (current == "ipkg-install"):
try:
from Plugins.Extensions.MediaScanner.plugin import main
self.exe = True
self.session.open(RestoreScreen, runRestore = True)
+class IPKGMenu(Screen):
+ skin = """
+ <screen name="IPKGMenu" position="135,144" size="450,320" title="Select IPKG source......" >
+ <widget name="filelist" position="10,10" size="430,240" scrollbarMode="showOnDemand" />
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,280" zPosition="2" size="140,40" transparent="1" alphatest="on" />
+ <widget name="closetext" position="20,290" size="140,21" zPosition="10" font="Regular;21" transparent="1" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="160,280" zPosition="2" size="140,40" transparent="1" alphatest="on" />
+ <widget name="edittext" position="170,290" size="300,21" zPosition="10" font="Regular;21" transparent="1" />
+ </screen>"""
+
+ def __init__(self, session, plugin_path):
+ Screen.__init__(self, session)
+ self.skin_path = plugin_path
+
+ self["closetext"] = Label(_("Close"))
+ self["edittext"] = Label(_("Edit"))
+
+ self.sel = []
+ self.val = []
+ self.entry = False
+ self.exe = False
+
+ self.path = ""
+
+ self["actions"] = NumberActionMap(["SetupActions"],
+ {
+ "ok": self.KeyOk,
+ "cancel": self.keyCancel
+ }, -1)
+
+ self["shortcuts"] = ActionMap(["ShortcutActions"],
+ {
+ "red": self.keyCancel,
+ "green": self.KeyOk,
+ })
+ self.flist = []
+ self["filelist"] = MenuList(self.flist)
+ self.fill_list()
+ self.onLayoutFinish.append(self.layoutFinished)
+
+ def layoutFinished(self):
+ self.setWindowTitle()
+
+ def setWindowTitle(self):
+ self.setTitle(_("Select IPKG source to edit..."))
+
+
+ def fill_list(self):
+ self.flist = []
+ self.path = '/etc/ipkg/'
+ if (os_path.exists(self.path) == False):
+ self.entry = False
+ return
+ for file in listdir(self.path):
+ if (file.endswith(".conf")):
+ if file != 'arch.conf':
+ self.flist.append((file))
+ self.entry = True
+ self["filelist"].l.setList(self.flist)
+
+ def KeyOk(self):
+ if (self.exe == False) and (self.entry == True):
+ self.sel = self["filelist"].getCurrent()
+ self.val = self.path + self.sel
+ self.session.open(IPKGSource, self.val)
+
+ def keyCancel(self):
+ self.close()
+
+ def Exit(self):
+ self.close()
+
class IPKGSource(Screen):
skin = """
- <screen position="100,100" size="550,60" title="IPKG source" >
- <widget name="text" position="0,0" size="550,25" font="Regular;20" backgroundColor="background" foregroundColor="#cccccc" />
+ <screen name="IPKGSource" position="100,100" size="550,80" title="IPKG source" >
+ <widget name="text" position="10,10" size="530,25" font="Regular;20" backgroundColor="background" foregroundColor="#cccccc" />
+ <ePixmap pixmap="skin_default/buttons/red.png" position="10,40" zPosition="2" size="140,40" transparent="1" alphatest="on" />
+ <widget name="closetext" position="20,50" size="140,21" zPosition="10" font="Regular;21" transparent="1" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="160,40" zPosition="2" size="140,40" transparent="1" alphatest="on" />
+ <widget name="edittext" position="170,50" size="300,21" zPosition="10" font="Regular;21" transparent="1" />
</screen>"""
- def __init__(self, session, args = None):
+ def __init__(self, session, configfile = None):
Screen.__init__(self, session)
self.session = session
-
- #FIXMEEEE add handling for more than one feed conf file!
+ self.configfile = configfile
text = ""
- try:
- fp = file('/etc/ipkg/official-feed.conf', 'r')
- sources = fp.readlines()
- if sources:
- text = sources[0]
- fp.close()
- except IOError:
- pass
-
- self["text"] = Input(text, maxSize=False, type=Input.TEXT)
-
- self["actions"] = NumberActionMap(["WizardActions", "InputActions", "TextEntryActions", "KeyboardInputActions"],
+ if self.configfile:
+ try:
+ fp = file(configfile, 'r')
+ sources = fp.readlines()
+ if sources:
+ text = sources[0]
+ fp.close()
+ except IOError:
+ pass
+
+ desk = getDesktop(0)
+ x= int(desk.size().width())
+ y= int(desk.size().height())
+ #print "[IPKGSource] mainscreen: current desktop size: %dx%d" % (x,y)
+
+ self["closetext"] = Label(_("Cancel"))
+ self["edittext"] = Label(_("Save"))
+
+ if (y>=720):
+ self["text"] = Input(text, maxSize=False, type=Input.TEXT)
+ else:
+ self["text"] = Input(text, maxSize=False, visible_width = 55, type=Input.TEXT)
+
+ self["actions"] = NumberActionMap(["WizardActions", "InputActions", "TextEntryActions", "KeyboardInputActions","ShortcutActions"],
{
"ok": self.go,
"back": self.close,
+ "red": self.close,
+ "green": self.go,
"left": self.keyLeft,
"right": self.keyRight,
"home": self.keyHome,
"9": self.keyNumberGlobal,
"0": self.keyNumberGlobal
}, -1)
+
+ self.onLayoutFinish.append(self.layoutFinished)
+
+ def layoutFinished(self):
+ self.setWindowTitle()
+ self["text"].right()
+
+ def setWindowTitle(self):
+ self.setTitle(_("Edit IPKG source URL..."))
def go(self):
text = self["text"].getText()
if text:
- fp = file('/etc/ipkg/official-feed.conf', 'w')
- fp.write()
+ fp = file(self.configfile, 'w')
+ fp.write(text)
+ fp.write("\n")
fp.close()
self.close()
ScanPath(path = "", with_subdirs = False),
],
name = "Ipkg",
- description = "Install software updates...",
+ description = _("Install software updates..."),
openfnc = filescan_open, )
def UpgradeMain(session, **kwargs):
else:
mode = config.av.videomode[port].value
force_widescreen = self.isWidescreenMode(port, mode)
- is_widescreen = force_widescreen or config.av.aspect.value in ["16_9", "16_10"]
+ is_widescreen = force_widescreen or config.av.aspect.value in ("16_9", "16_10")
is_auto = config.av.aspect.value == "auto"
if is_widescreen:
if force_widescreen:
force_widescreen = self.isWidescreenMode(port, mode)
- is_widescreen = force_widescreen or config.av.aspect.value in ["16_9", "16_10"]
+ is_widescreen = force_widescreen or config.av.aspect.value in ("16_9", "16_10")
is_auto = config.av.aspect.value == "auto"
policy2 = "policy" # use main policy
class VideoWizardSummary(WizardSummary):
skin = """
<screen position="0,0" size="132,64">
- <widget name="text" position="6,4" size="120,42" font="Regular;14" transparent="1" />
- <widget source="parent.list" render="Label" position="6,25" size="120,21" font="Regular;16">
+ <widget name="text" position="6,4" size="120,40" font="Regular;12" transparent="1" />
+ <widget source="parent.list" render="Label" position="6,40" size="120,21" font="Regular;14">
<convert type="StringListSelection" />
</widget>
<!--widget name="pic" pixmap="%s" position="6,22" zPosition="10" size="64,64" transparent="1" alphatest="on"/-->
config.misc.showtestcard.value = False
def keyNumberGlobal(self, number):
- if number in [1,2,3]:
+ if number in (1,2,3):
if number == 1:
self.hw.saveMode("DVI", "720p", "multi")
elif number == 2:
def createSetup(self):
level = config.usage.setup_level.index
- self.list = [ ]
- self.list.append(getConfigListEntry(_("Video Output"), config.av.videoport))
+ self.list = [
+ getConfigListEntry(_("Video Output"), config.av.videoport)
+ ]
# if we have modes for this port:
if config.av.videoport.value in config.av.videomode:
if not force_wide:
self.list.append(getConfigListEntry(_("Aspect Ratio"), config.av.aspect))
- if force_wide or config.av.aspect.value in ["16_9", "16_10"]:
- self.list.append(getConfigListEntry(_("Display 4:3 content as"), config.av.policy_43))
- self.list.append(getConfigListEntry(_("Display >16:9 content as"), config.av.policy_169))
+ if force_wide or config.av.aspect.value in ("16_9", "16_10"):
+ self.list.extend((
+ getConfigListEntry(_("Display 4:3 content as"), config.av.policy_43),
+ getConfigListEntry(_("Display >16:9 content as"), config.av.policy_169)
+ ))
elif config.av.aspect.value == "4_3":
self.list.append(getConfigListEntry(_("Display 16:9 content as"), config.av.policy_169))
self.list.append(getConfigListEntry(_("AC3 default"), config.av.defaultac3))
if SystemInfo["CanDownmixAC3"]:
self.list.append(getConfigListEntry(_("AC3 downmix"), config.av.downmix_ac3))
+ self.list.extend((
+ getConfigListEntry(_("General AC3 Delay"), config.av.generalAC3delay),
+ getConfigListEntry(_("General PCM Delay"), config.av.generalPCMdelay)
+ ))
if SystemInfo["CanChangeOsdAlpha"]:
self.list.append(getConfigListEntry(_("OSD visibility"), config.av.osd_alpha))
<wizard>
- <step id="inputselection" nextstep="modeselection" timeout="10" timeoutaction="selectnext">
+ <step id="inputselection" nextstep="modeselection" timeout="20" timeoutaction="selectnext">
<text value="Video input selection\n\nPlease press OK if you can see this page on your TV (or select a different input port).\n\nThe next input port will be automatically probed in 10 seconds." />
- <displaytext value="Select video input" />
+ <displaytext value="Select video input with up/down buttons" />
<list type="dynamic" source="listInputChannels" evaluation="inputSelectionMade" onselect="inputSelectionMoved" />
<code>
self["portpic"].show()
self.selectKey("OK")
</code>
</step>
- <step id="modeselection" nextstep="rateselection" timeout="10" timeoutaction="selectnext">
+ <step id="modeselection" nextstep="rateselection" timeout="20" timeoutaction="selectnext">
<text value="Video mode selection." />
<displaytext value="Select video mode" />
<list type="dynamic" source="listModes" evaluation="modeSelectionMade" onselect="modeSelectionMoved" />
self["portpic"].hide()
</code>
</step>
- <step id="rateselection" nextstep="dvirateintroduction" timeout="10" timeoutaction="selectnext">
+ <step id="rateselection" nextstep="dvirateintroduction" timeout="20" timeoutaction="selectnext">
<condition>
self.condition = (self.port != "DVI" or self.mode == "PC")
</condition>
self.rateSelect("60Hz")
</code>
</step>
- <step id="dvirateselection" timeout="10" timeoutaction="changestep" timeoutstep="notworking50Hz">
+ <step id="dvirateselection" timeout="20" timeoutaction="changestep" timeoutstep="notworking50Hz">
<condition>
self.condition = (self.port == "DVI" and self.mode in ["720p", "1080i"])
</condition>
self.selectKey("DOWN")
</code>
</step>
- <step id="working50Hz" nextstep="end" timeout="10" timeoutaction="nextstep">
+ <step id="working50Hz" nextstep="end" timeout="20" timeoutaction="nextstep">
<condition>
self.condition = (self.port == "DVI" and self.mode in ["720p", "1080i"])
</condition>
self["FPVersion"] = StaticText(fp_version)
nims = nimmanager.nimList()
- for count in range(4):
+ for count in (0, 1, 2, 3):
if count < len(nims):
self["Tuner" + str(count)] = StaticText(nims[count])
else:
self["HDDHeader"] = StaticText(_("Detected HDD:"))
hddlist = harddiskmanager.HDDList()
- hdd = len(hddlist) > 0 and hddlist[0][1] or None
+ hdd = hddlist and hddlist[0][1] or None
if hdd is not None and hdd.model() != "":
self["hddA"] = StaticText(_("%s\n(%s, %d MB free)") % (hdd.model(), hdd.capacity(),hdd.free()))
else:
inBouquet = csel.getMutableList() is not None
haveBouquets = config.usage.multibouquet.value
- if not (len(current_sel_path) or current_sel_flags & (eServiceReference.isDirectory|eServiceReference.isMarker)):
+ if not (current_sel_path or current_sel_flags & (eServiceReference.isDirectory|eServiceReference.isMarker)):
append_when_current_valid(current, menu, (_("show transponder info"), self.showServiceInformations), level = 2)
if csel.bouquet_mark_edit == OFF and not csel.movemode:
if not inBouquetRootList:
def showEPGList(self):
ref=self.getCurrentSelection()
- ptr=eEPGCache.getInstance()
- if ptr.startTimeQuery(ref) != -1:
- self.session.open(EPGSelection, ref)
- else:
- print 'no epg for service', ref.toString()
+ if ref:
+ self.savedService = ref
+ self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB=self.changeServiceCB)
+
+ def SingleServiceEPGClosed(self, ret=False):
+ self.setCurrentSelection(self.savedService)
+
+ def changeServiceCB(self, direction, epg):
+ beg = self.getCurrentSelection()
+ while True:
+ if direction > 0:
+ self.moveDown()
+ else:
+ self.moveUp()
+ cur = self.getCurrentSelection()
+ if cur == beg or not (cur.flags & eServiceReference.isMarker):
+ break
+ epg.setService(ServiceReference(self.getCurrentSelection()))
class ChannelSelectionEdit:
def __init__(self):
del self.servicePath[:] # remove all elements
self.servicePath += self.savedPath # add saved elements
del self.savedPath
- self.setRoot(self.servicePath[len(self.servicePath)-1])
+ self.setRoot(self.servicePath[-1])
def clearMarks(self):
self.servicelist.clearMarks()
def getServiceName(self, ref):
str = self.removeModeStr(ServiceReference(ref).getServiceName())
- if not len(str):
+ if not str:
pathstr = ref.getPath()
- if pathstr.find('FROM PROVIDERS') != -1:
+ if 'FROM PROVIDERS' in pathstr:
return _("Provider")
- if pathstr.find('FROM SATELLITES') != -1:
+ if 'FROM SATELLITES' in pathstr:
return _("Satellites")
- if pathstr.find(') ORDER BY name') != -1:
+ if ') ORDER BY name' in pathstr:
return _("All")
return str
def pathUp(self, justSet=False):
prev = self.servicePath.pop()
- length = len(self.servicePath)
- if length:
- current = self.servicePath[length-1]
+ if self.servicePath:
+ current = self.servicePath[-1]
self.setRoot(current, justSet)
if not justSet:
self.setCurrentSelection(prev)
self.enterPath(ref)
def inBouquet(self):
- if len(self.servicePath) > 0 and self.servicePath[0] == self.bouquet_root:
+ if self.servicePath and self.servicePath[0] == self.bouquet_root:
return True
return False
del self.servicePath[:]
self.servicePath += path
self.saveRoot()
- plen = len(path)
- root = path[plen-1]
+ root = path[-1]
cur_root = self.getRoot()
if cur_root and cur_root != root:
self.setRoot(root)
for i in self.servicePath:
path += i.toString()
path += ';'
- if len(path) and path != self.lastroot.value:
+ if path and path != self.lastroot.value:
self.lastroot.value = path
self.lastroot.save()
tmp = re.findall(self.lastroot.value)
cnt = 0
for i in tmp:
- self.servicePath.append(eServiceReference(i[:len(i)-1]))
+ self.servicePath.append(eServiceReference(i[:-1]))
cnt += 1
if cnt:
path = self.servicePath.pop()
self.saveRoot()
def preEnterPath(self, refstr):
- if len(self.servicePath) and self.servicePath[0] != eServiceReference(refstr):
+ if self.servicePath and self.servicePath[0] != eServiceReference(refstr):
pathstr = self.lastroot.value
if pathstr is not None and pathstr.find(refstr) == 0:
self.restoreRoot()
self.lastservice.save()
def setCurrentServicePath(self, path):
- hlen = len(self.history)
- if hlen > 0:
+ if self.history:
self.history[self.history_pos] = path
else:
self.history.append(path)
self.setHistoryPath()
def getCurrentServicePath(self):
- hlen = len(self.history)
- if hlen > 0:
+ if self.history:
return self.history[self.history_pos]
return None
for i in self.servicePathRadio:
path += i.toString()
path += ';'
- if len(path) and path != config.radio.lastroot.value:
+ if path and path != config.radio.lastroot.value:
config.radio.lastroot.value = path
config.radio.lastroot.save()
tmp = re.findall(config.radio.lastroot.value)
cnt = 0
for i in tmp:
- self.servicePathRadio.append(eServiceReference(i[:len(i)-1]))
+ self.servicePathRadio.append(eServiceReference(i[:-1]))
cnt += 1
if cnt:
path = self.servicePathRadio.pop()
self.saveRoot()
def preEnterPath(self, refstr):
- if len(self.servicePathRadio) and self.servicePathRadio[0] != eServiceReference(refstr):
+ if self.servicePathRadio and self.servicePathRadio[0] != eServiceReference(refstr):
pathstr = config.radio.lastroot.value
if pathstr is not None and pathstr.find(refstr) == 0:
self.restoreRoot()
from Components.Sources.StaticText import StaticText
class ChoiceBox(Screen):
- def __init__(self, session, title = "", list = [], keys = None, selection = 0):
+ def __init__(self, session, title = "", list = [], keys = None, selection = 0, skin_name = []):
Screen.__init__(self, session)
+ if isinstance(skin_name, str):
+ skin_name = [skin_name]
+ self.skinName = skin_name + ["ChoiceBox"]
+
self["text"] = Label(title)
self.list = []
self.summarylist = []
MAX_NUM_CI = 4
+def setCIBitrate(configElement):
+ if configElement.value == "no":
+ eDVBCI_UI.getInstance().setClockRate(configElement.slotid, eDVBCI_UI.rateNormal)
+ else:
+ eDVBCI_UI.getInstance().setClockRate(configElement.slotid, eDVBCI_UI.rateHigh)
+
def InitCiConfig():
config.ci = ConfigSubList()
for slot in range(MAX_NUM_CI):
config.ci.append(ConfigSubsection())
config.ci[slot].canDescrambleMultipleServices = ConfigSelection(choices = [("auto", _("Auto")), ("no", _("No")), ("yes", _("Yes"))], default = "auto")
+ if SystemInfo["CommonInterfaceSupportsHighBitrates"]:
+ config.ci[slot].canHandleHighBitrates = ConfigSelection(choices = [("no", _("No")), ("yes", _("Yes"))], default = "no")
+ config.ci[slot].canHandleHighBitrates.slotid = slot
+ config.ci[slot].canHandleHighBitrates.addNotifier(setCIBitrate)
class MMIDialog(Screen):
def __init__(self, session, slotid, action, handler = eDVBCI_UI.getInstance(), wait_text = _("wait for ci...") ):
elif self.tag == "WAIT":
self.handler.stopMMI(self.slotid)
self.closeMmi()
- elif self.tag in [ "MENU", "LIST" ]:
+ elif self.tag in ( "MENU", "LIST" ):
print "cancel list"
self.handler.answerMenu(self.slotid, 0)
self.showWait()
self.ci = { }
self.dlgs = { }
eDVBCI_UI.getInstance().ciStateChanged.get().append(self.ciStateChanged)
- SystemInfo["CommonInterface"]= eDVBCIInterfaces.getInstance().getNumOfSlots() > 0
+ SystemInfo["CommonInterface"] = eDVBCIInterfaces.getInstance().getNumOfSlots() > 0
+ try:
+ file = open("/proc/stb/tsmux/ci0_tsclk", "r")
+ file.close()
+ SystemInfo["CommonInterfaceSupportsHighBitrates"] = True
+ except:
+ SystemInfo["CommonInterfaceSupportsHighBitrates"] = False
def setSession(self, session):
self.session = session
def selectionChanged(self):
cur_idx = self["entries"].getCurrentIndex()
- self["text"].setText(_("Slot %d")%((cur_idx / 4)+1))
+ self["text"].setText(_("Slot %d")%((cur_idx / 5)+1))
def keyConfigEntry(self, key):
try:
self.list.append( (appname, ConfigNothing(), 2, slot) )
self.list.append(getConfigListEntry(_("Multiple service support"), config.ci[slot].canDescrambleMultipleServices))
+ if SystemInfo["CommonInterfaceSupportsHighBitrates"]:
+ self.list.append(getConfigListEntry(_("High bitrate support"), config.ci[slot].canHandleHighBitrates))
def updateState(self, slot):
state = eDVBCI_UI.getInstance().getState(slot)
</screen>"""
def __init__(self, session, title = "Console", cmdlist = None, finishedCallback = None, closeOnSuccess = False):
- self.skin = Console.skin
Screen.__init__(self, session)
self.finishedCallback = finishedCallback
self.container.dataAvail.remove(self.dataAvail)
def dataAvail(self, str):
- self["text"].setText(self["text"].getText() + str)
\ No newline at end of file
+ self["text"].setText(self["text"].getText() + str)
def filescan(**kwargs):
from Components.Scanner import Scanner, ScanPath
- from mimetypes import add_type
- add_type("application/x-dream-package", "dmpkg")
return \
Scanner(mimetypes = ["application/x-dream-package"],
paths_to_scan =
ScanPath(path = "", with_subdirs = False),
],
name = "Dream-Package",
- description = "Install settings, skins, software...",
+ description = _("Install settings, skins, software..."),
openfnc = filescan_open, )
print "add dreampackage scanner plugin"
ZAP = 1
- def __init__(self, session, service, zapFunc=None, eventid=None, bouquetChangeCB=None):
+ def __init__(self, session, service, zapFunc=None, eventid=None, bouquetChangeCB=None, serviceChangeCB=None):
Screen.__init__(self, session)
self.bouquetChangeCB = bouquetChangeCB
+ self.serviceChangeCB = serviceChangeCB
self.ask_time = -1 #now
self["key_red"] = Button("")
self.closeRecursive = False
+ self.saved_title = None
if isinstance(service, str) and eventid != None:
self.type = EPG_TYPE_SIMILAR
self["key_yellow"] = Button()
self["key_green"] = Button(_("Add timer"))
self.key_green_choice = self.ADD_TIMER
self.key_red_choice = self.EMPTY
- self["list"] = EPGList(type = self.type, selChangedCB = self.onSelectionChanged, timer = self.session.nav.RecordTimer)
+ self["list"] = EPGList(type = self.type, selChangedCB = self.onSelectionChanged, timer = session.nav.RecordTimer)
self["actions"] = ActionMap(["EPGSelectActions", "OkCancelActions"],
{
"info": self.infoKeyPressed,
"red": self.zapTo,
"input_date_time": self.enterDateTime,
- "nextBouquet": self.nextBouquet,
- "prevBouquet": self.prevBouquet
+ "nextBouquet": self.nextBouquet, # just used in multi epg yet
+ "prevBouquet": self.prevBouquet, # just used in multi epg yet
+ "nextService": self.nextService, # just used in single epg yet
+ "prevService": self.prevService, # just used in single epg yet
})
self["actions"].csel = self
-
self.onLayoutFinish.append(self.onCreate)
def nextBouquet(self):
if self.bouquetChangeCB:
self.bouquetChangeCB(-1, self)
+ def nextService(self):
+ if self.serviceChangeCB:
+ self.serviceChangeCB(1, self)
+
+ def prevService(self):
+ if self.serviceChangeCB:
+ self.serviceChangeCB(-1, self)
+
def enterDateTime(self):
if self.type == EPG_TYPE_MULTI:
global mepg_config_initialized
self.services = services
self.onCreate()
+ def setService(self, service):
+ self.currentService = service
+ self.onCreate()
+
#just used in multipeg
def onCreate(self):
l = self["list"]
l.fillMultiEPG(self.services, self.ask_time)
l.moveToService(self.session.nav.getCurrentlyPlayingServiceReference())
elif self.type == EPG_TYPE_SINGLE:
- l.fillSingleEPG(self.currentService)
+ service = self.currentService
+ if self.saved_title is None:
+ self.saved_title = self.instance.getTitle()
+ title = self.saved_title + ' - ' + service.getServiceName()
+ self.instance.setTitle(title)
+ l.fillSingleEPG(service)
else:
l.fillSimilarList(self.currentService, self.eventid)
self.similarEPGCB = similarEPGCB
self.cbFunc = callback
self.currentService=Ref
- self.isRecording = (not Ref.ref.flags & eServiceReference.isGroup) and len(Ref.ref.getPath())
+ self.isRecording = (not Ref.ref.flags & eServiceReference.isGroup) and Ref.ref.getPath()
self.event = Event
self["epg_description"] = ScrollLabel()
self["datetime"] = Label()
self.key_green_choice = self.ADD_TIMER
def timerAdd(self):
+ if self.isRecording:
+ return
event = self.event
serviceref = self.currentService
if event is None:
text = event.getEventName()
short = event.getShortDescription()
ext = event.getExtendedDescription()
- if len(short) > 0 and short != text:
- text = text + '\n\n' + short
- if len(ext) > 0:
- if len(text) > 0:
- text = text + '\n\n'
- text = text + ext
+ if short and short != text:
+ text += '\n\n' + short
+ if ext:
+ if text:
+ text += '\n\n'
+ text += ext
self.setTitle(event.getEventName())
self["epg_description"].setText(text)
self["key_red"].setText(_("Similar"))
def openSimilarList(self):
- if self.similarEPGCB is not None and len(self["key_red"].getText()):
+ if self.similarEPGCB is not None and self["key_red"].getText():
id = self.event and self.event.getEventId()
refstr = str(self.currentService)
if id is not None:
Screen.__init__(self, session)
self.hdd = hdd
- if type not in [self.HARDDISK_INITIALIZE, self.HARDDISK_CHECK]:
+ if type not in (self.HARDDISK_INITIALIZE, self.HARDDISK_CHECK):
self.type = self.HARDDISK_INITIALIZE
else:
self.type = type
#arrow = self["arrowup"]
print "selection:", selection
- if selection and len(selection) > 1 and selection[1] == "SHIFT":
- self.selectKey("SHIFT")
-
- if selection and len(selection) > 1 and selection[1] == "long":
- self["long_key"].setText(_("Long Keypress"))
- else:
- self["long_key"].setText("")
+ longText = ""
+ if selection and len(selection) > 1:
+ if selection[1] == "SHIFT":
+ self.selectKey("SHIFT")
+ elif selection[1] == "long":
+ longText = _("Long Keypress")
+ self["long_key"].setText(longText)
self.selectKey(selection[0])
#if selection is None:
self.session.openWithCallback(self.callHelpAction, HelpMenu, self.helpList)
def callHelpAction(self, *args):
- if len(args):
+ if args:
(actionmap, context, action) = args
actionmap.action(context, action)
InfoBarPlugins:
x.__init__(self)
- self.lastservice = self.session.nav.getCurrentlyPlayingServiceReference()
- self.session.nav.playService(service)
+ self.lastservice = session.nav.getCurrentlyPlayingServiceReference()
+ session.nav.playService(service)
self.returning = False
self.onClose.append(self.__onClose)
})
def openEventView(self):
- self.epglist = [ ]
+ epglist = [ ]
+ self.epglist = epglist
service = self.session.nav.getCurrentService()
ref = self.session.nav.getCurrentlyPlayingServiceReference()
info = service.info()
ptr=info.getEvent(0)
if ptr:
- self.epglist.append(ptr)
+ epglist.append(ptr)
ptr=info.getEvent(1)
if ptr:
- self.epglist.append(ptr)
- if len(self.epglist) > 0:
- self.session.open(EventViewSimple, self.epglist[0], ServiceReference(ref), self.eventViewCallback)
+ epglist.append(ptr)
+ if epglist:
+ self.session.open(EventViewSimple, epglist[0], ServiceReference(ref), self.eventViewCallback)
def eventViewCallback(self, setEvent, setService, val): #used for now/next displaying
- if len(self.epglist) > 1:
- tmp = self.epglist[0]
- self.epglist[0]=self.epglist[1]
- self.epglist[1]=tmp
- setEvent(self.epglist[0])
+ epglist = self.epglist
+ if len(epglist) > 1:
+ tmp = epglist[0]
+ epglist[0] = epglist[1]
+ epglist[1] = tmp
+ setEvent(epglist[0])
+
+class SimpleServicelist:
+ def __init__(self, services):
+ self.services = services
+ self.length = len(services)
+ self.current = 0
+
+ def selectService(self, service):
+ if not self.length:
+ self.current = -1
+ return False
+ else:
+ self.current = 0
+ while self.services[self.current].ref != service:
+ self.current += 1
+ if self.current >= self.length:
+ return False
+ return True
+
+ def nextService(self):
+ if not self.length:
+ return
+ if self.current+1 < self.length:
+ self.current += 1
+ else:
+ self.current = 0
+
+ def prevService(self):
+ if not self.length:
+ return
+ if self.current-1 > -1:
+ self.current -= 1
+ else:
+ self.current = self.length - 1
+
+ def currentService(self):
+ if not self.length or self.current >= self.length:
+ return None
+ return self.services[self.current]
class InfoBarEPG:
""" EPG - Opens an EPG list when the showEPGList action fires """
def openBouquetEPG(self, bouquet, withCallback=True):
services = self.getBouquetServices(bouquet)
- if len(services):
+ if services:
self.epg_bouquet = bouquet
if withCallback:
self.dlg_stack.append(self.session.openWithCallback(self.closed, EPGSelection, services, self.zapToService, None, self.changeBouquetCB))
self.bouquetSel.up()
bouquet = self.bouquetSel.getCurrent()
services = self.getBouquetServices(bouquet)
- if len(services):
+ if services:
self.epg_bouquet = bouquet
epg.setServices(services)
elif cnt == 1:
self.openBouquetEPG(bouquets[0][1], withCallback)
+ def changeServiceCB(self, direction, epg):
+ if self.serviceSel:
+ if direction > 0:
+ self.serviceSel.nextService()
+ else:
+ self.serviceSel.prevService()
+ epg.setService(self.serviceSel.currentService())
+
+ def SingleServiceEPGClosed(self, ret=False):
+ self.serviceSel = None
+
def openSingleServiceEPG(self):
ref=self.session.nav.getCurrentlyPlayingServiceReference()
- self.session.open(EPGSelection, ref)
+ if ref:
+ if self.servicelist.getMutableList() is not None: # bouquet in channellist
+ current_path = self.servicelist.getRoot()
+ services = self.getBouquetServices(current_path)
+ self.serviceSel = SimpleServicelist(services)
+ if self.serviceSel.selectService(ref):
+ self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB = self.changeServiceCB)
+ else:
+ self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref)
+ else:
+ self.session.open(EPGSelection, ref)
def showEventInfoPlugins(self):
list = [(p.name, boundFunction(self.runPlugin, p)) for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EVENTINFO)]
if list:
list.append((_("show single service EPG..."), self.openSingleServiceEPG))
- self.session.openWithCallback(self.EventInfoPluginChosen, ChoiceBox, title=_("Please choose an extension..."), list = list)
+ self.session.openWithCallback(self.EventInfoPluginChosen, ChoiceBox, title=_("Please choose an extension..."), list = list, skin_name = "EPGExtensionsList")
else:
self.openSingleServiceEPG()
-
+
def runPlugin(self, plugin):
plugin(session = self.session, servicelist = self.servicelist)
iPlayableService.evEOF: self.__evEOF,
iPlayableService.evSOF: self.__evSOF,
})
- self.eofState = 0
- self.eofTimer = eTimer()
- self.eofTimer.timeout.get().append(self.doEof)
- self.eofInhibitTimer = eTimer()
- self.eofInhibitTimer.timeout.get().append(self.inhibitEof)
self.minSpeedBackward = useSeekBackHack and 16 or 0
return 1
elif action[:8] == "seekdef:":
key = int(action[8:])
- time = [-config.seek.selfdefined_13.value, False, config.seek.selfdefined_13.value,
+ time = (-config.seek.selfdefined_13.value, False, config.seek.selfdefined_13.value,
-config.seek.selfdefined_46.value, False, config.seek.selfdefined_46.value,
- -config.seek.selfdefined_79.value, False, config.seek.selfdefined_79.value][key-1]
+ -config.seek.selfdefined_79.value, False, config.seek.selfdefined_79.value)[key-1]
self.screen.doSeekRelative(time * 90000)
return 1
else:
def __serviceStarted(self):
self.seekstate = self.SEEK_STATE_PLAY
self.__seekableStatusChanged()
- if self.eofState != 0:
- self.eofTimer.stop()
- self.eofState = 0
def setSeekState(self, state):
service = self.session.nav.getCurrentService()
return False
if not self.isSeekable():
- if state not in [self.SEEK_STATE_PLAY, self.SEEK_STATE_PAUSE]:
+ if state not in (self.SEEK_STATE_PLAY, self.SEEK_STATE_PAUSE):
state = self.SEEK_STATE_PLAY
pauseable = service.pause()
seekable = self.getSeek()
if seekable is None:
return
- prevstate = self.seekstate
- if self.eofState == 1:
- self.eofState = 2
- self.inhibitEof()
- if self.seekstate == self.SEEK_STATE_EOF:
- if prevstate == self.SEEK_STATE_PAUSE:
- self.setSeekState(self.SEEK_STATE_PAUSE)
- else:
- self.setSeekState(self.SEEK_STATE_PLAY)
- self.eofInhibitTimer.start(200, True)
seekable.seekTo(pts)
def doSeekRelative(self, pts):
if seekable is None:
return
prevstate = self.seekstate
- if self.eofState == 1:
- self.eofState = 2
- self.inhibitEof()
+
if self.seekstate == self.SEEK_STATE_EOF:
if prevstate == self.SEEK_STATE_PAUSE:
self.setSeekState(self.SEEK_STATE_PAUSE)
else:
self.setSeekState(self.SEEK_STATE_PLAY)
- self.eofInhibitTimer.start(200, True)
seekable.seekRelative(pts<0 and -1 or 1, abs(pts))
if abs(pts) > 100 and config.usage.show_infobar_on_skip.value:
self.showAfterSeek()
self.setSeekState(self.makeStateSlowMotion(speed))
def seekBack(self):
- if self.seekstate == self.SEEK_STATE_PLAY:
+ seekstate = self.seekstate
+ if seekstate == self.SEEK_STATE_PLAY:
self.setSeekState(self.makeStateBackward(int(config.seek.enter_backward.value)))
- elif self.seekstate == self.SEEK_STATE_EOF:
+ elif seekstate == self.SEEK_STATE_EOF:
self.setSeekState(self.makeStateBackward(int(config.seek.enter_backward.value)))
self.doSeekRelative(-6)
- elif self.seekstate == self.SEEK_STATE_PAUSE:
+ elif seekstate == self.SEEK_STATE_PAUSE:
self.doSeekRelative(-3)
- elif self.isStateForward(self.seekstate):
- speed = self.seekstate[1]
- if self.seekstate[2]:
- speed /= self.seekstate[2]
+ elif self.isStateForward(seekstate):
+ speed = seekstate[1]
+ if seekstate[2]:
+ speed /= seekstate[2]
speed = self.getLower(speed, config.seek.speeds_forward.value)
if speed:
self.setSeekState(self.makeStateForward(speed))
else:
self.setSeekState(self.SEEK_STATE_PLAY)
- elif self.isStateBackward(self.seekstate):
- speed = -self.seekstate[1]
- if self.seekstate[2]:
- speed /= self.seekstate[2]
+ elif self.isStateBackward(seekstate):
+ speed = -seekstate[1]
+ if seekstate[2]:
+ speed /= seekstate[2]
speed = self.getHigher(speed, config.seek.speeds_backward.value) or config.seek.speeds_backward.value[-1]
self.setSeekState(self.makeStateBackward(speed))
- elif self.isStateSlowMotion(self.seekstate):
- speed = self.getHigher(self.seekstate[2], config.seek.speeds_slowmotion.value)
+ elif self.isStateSlowMotion(seekstate):
+ speed = self.getHigher(seekstate[2], config.seek.speeds_slowmotion.value)
if speed:
self.setSeekState(self.makeStateSlowMotion(speed))
else:
return False
def __evEOF(self):
- if self.eofState == 0 and self.seekstate != self.SEEK_STATE_EOF:
- self.eofState = 1
- time = self.calcRemainingTime()
- if not time:
- time = 3000 # Failed to calc, use default
- elif time == 0:
- time = 300 # Passed end, shortest wait
- elif time > 15000:
- self.eofState = -2 # Too long, block eof
- time = 15000
- else:
- time += 1000 # Add margin
- self.eofTimer.start(time, True)
-
- def inhibitEof(self):
- if self.eofState >= 1:
- self.eofState = -self.eofState
- self.eofTimer.stop()
- self.doEof()
-
- def doEof(self):
if self.seekstate == self.SEEK_STATE_EOF:
return
- if self.eofState == -2 or self.isStateBackward(self.seekstate):
- self.eofState = 0
- return
- # if we are seeking, we try to end up ~1s before the end, and pause there.
- eofstate = self.eofState
+ # if we are seeking forward, we try to end up ~1s before the end, and pause there.
seekstate = self.seekstate
- self.eofState = 0
- if not self.seekstate == self.SEEK_STATE_PAUSE:
+ if self.seekstate != self.SEEK_STATE_PAUSE:
self.setSeekState(self.SEEK_STATE_EOF)
- if eofstate == -1 or not seekstate in [self.SEEK_STATE_PLAY, self.SEEK_STATE_PAUSE]:
+
+ if seekstate not in (self.SEEK_STATE_PLAY, self.SEEK_STATE_PAUSE): # if we are seeking
seekable = self.getSeek()
if seekable is not None:
seekable.seekTo(-1)
- if eofstate == 1 and seekstate == self.SEEK_STATE_PLAY:
+ if seekstate == self.SEEK_STATE_PLAY: # regular EOF
self.doEofInternal(True)
else:
self.doEofInternal(False)
list.extend([(x[0](), x) for x in extensionsList])
keys += [""] * len(extensionsList)
- self.session.openWithCallback(self.extensionCallback, ChoiceBox, title=_("Please choose an extension..."), list = list, keys = keys)
+ self.session.openWithCallback(self.extensionCallback, ChoiceBox, title=_("Please choose an extension..."), list = list, keys = keys, skin_name = "ExtensionsList")
def extensionCallback(self, answer):
if answer is not None:
return name
def getPluginList(self):
- return [((boundFunction(self.getPluginName, p.name), boundFunction(self.runPlugin, p), lambda: True), None) for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EXTENSIONSMENU)]
+ list = [((boundFunction(self.getPluginName, p.name), boundFunction(self.runPlugin, p), lambda: True), None, p.name) for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EXTENSIONSMENU)]
+ list.sort(key = lambda e: e[2]) # sort by name
+ return list
def runPlugin(self, plugin):
if isinstance(self, InfoBarChannelSelection):
def isInstantRecordRunning(self):
print "self.recording:", self.recording
- if len(self.recording) > 0:
+ if self.recording:
for x in self.recording:
if x.isRunning():
return True
print "after:\n", self.recording
def setEndtime(self, entry):
- if entry is not None:
+ if entry is not None and entry >= 0:
self.selectedEntry = entry
self.endtime=ConfigClock(default = self.recording[self.selectedEntry].end)
dlg = self.session.openWithCallback(self.TimeDateInputClosed, TimeDateInput, self.endtime)
self.session.nav.RecordTimer.timeChanged(self.recording[self.selectedEntry])
def changeDuration(self, entry):
- if entry is not None:
+ if entry is not None and entry >= 0:
self.selectedEntry = entry
self.session.openWithCallback(self.inputCallback, InputBox, title=_("How many minutes do you want to record?"), text="5", maxSize=False, type=Input.NUMBER)
break
if SystemInfo["CanDownmixAC3"]:
- tlist = [(_("AC3 downmix") + " - " +[_("Off"), _("On")][config.av.downmix_ac3.value and 1 or 0], "CALLFUNC", self.changeAC3Downmix),
- ([_("Left"), _("Stereo"), _("Right")][self.audioChannel.getCurrentChannel()], "mode"),
+ tlist = [(_("AC3 downmix") + " - " +(_("Off"), _("On"))[config.av.downmix_ac3.value and 1 or 0], "CALLFUNC", self.changeAC3Downmix),
+ ((_("Left"), _("Stereo"), _("Right"))[self.audioChannel.getCurrentChannel()], "mode"),
("--", "")] + tlist
keys = [ "red", "green", "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] + [""]*n
selection += 3
else:
- tlist = [([_("Left"), _("Stereo"), _("Right")][self.audioChannel.getCurrentChannel()], "mode"), ("--", "")] + tlist
+ tlist = [((_("Left"), _("Stereo"), _("Right"))[self.audioChannel.getCurrentChannel()], "mode"), ("--", "")] + tlist
keys = [ "red", "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] + [""]*n
selection += 2
- self.session.openWithCallback(self.audioSelected, ChoiceBox, title=_("Select audio track"), list = tlist, selection = selection, keys = keys)
+ self.session.openWithCallback(self.audioSelected, ChoiceBox, title=_("Select audio track"), list = tlist, selection = selection, keys = keys, skin_name = "AudioTrackSelection")
else:
del self.audioTracks
list = choicelist.list
t = list[0][1]
list[0][1]=(t[0], t[1], t[2], t[3], t[4], t[5], t[6],
- _("AC3 downmix") + " - " +[_("On"), _("Off")][config.av.downmix_ac3.value and 1 or 0])
+ _("AC3 downmix") + " - " + (_("On"), _("Off"))[config.av.downmix_ac3.value and 1 or 0])
choicelist.setList(list)
if config.av.downmix_ac3.value:
config.av.downmix_ac3.value = False
keys = ["red", "green", "yellow"]
selection = self.audioChannel.getCurrentChannel()
tlist = ((_("left"), 0), (_("stereo"), 1), (_("right"), 2))
- self.session.openWithCallback(self.modeSelected, ChoiceBox, title=_("Select audio mode"), list = tlist, selection = selection, keys = keys)
+ self.session.openWithCallback(self.modeSelected, ChoiceBox, title=_("Select audio mode"), list = tlist, selection = selection, keys = keys, skin_name ="AudioModeSelection")
else:
del self.audioChannel
if self.session.nav.getCurrentService().audioTracks().getNumberOfTracks() > audio[1]:
keys = ["red", "", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ] + [""] * n
selection += 2
- self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice..."), list = tlist, selection = selection, keys = keys)
+ self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice..."), list = tlist, selection = selection, keys = keys, skin_name = "SubserviceSelection")
def subserviceSelected(self, service):
del self.bouquets
# <convert type="ServiceName">Reference</convert>
# </widget>
- def __init__(self, session, parent):
- Screen.__init__(self, session, parent = parent)
-
class InfoBarSummarySupport:
def __init__(self):
pass
</widget>
</screen>"""
- def __init__(self, session, parent):
- Screen.__init__(self, session)
-
class InfoBarMoviePlayerSummarySupport:
def __init__(self):
pass
else:
self.last_error = error
- errors = {
+ error = {
eDVBServicePMTHandler.eventNoResources: _("No free tuner!"),
eDVBServicePMTHandler.eventTuneFailed: _("Tune failed!"),
eDVBServicePMTHandler.eventNoPAT: _("No data on transponder!\n(Timeout reading PAT)"),
eDVBServicePMTHandler.eventSOF: None,
eDVBServicePMTHandler.eventEOF: None,
eDVBServicePMTHandler.eventMisconfiguration: _("Service unavailable!\nCheck tuner configuration!"),
- }
-
- error = errors.get(error) #this returns None when the key not exist in the dict
+ }.get(error) #this returns None when the key not exist in the dict
if error is not None:
Notifications.AddPopup(text = error, type = MessageBox.TYPE_ERROR, timeout = 5, id = "ZapError")
print "ok"
def updateList(self):
- first_time = len(self.list) == 0
+ first_time = not self.list
- self.list = []
- if len(language.getLanguageList()) == 0: # no language available => display only english
- self.list.append(LanguageEntryComponent("en", _cached("en_EN"), "en_EN"))
+ languageList = language.getLanguageList()
+ if not languageList: # no language available => display only english
+ list = [ LanguageEntryComponent("en", _cached("en_EN"), "en_EN") ]
else:
- for x in language.getLanguageList():
- self.list.append(LanguageEntryComponent(file = x[1][2].lower(), name = _cached("%s_%s" % x[1][1:3]), index = x[0]))
- #self.list.sort(key=lambda x: x[1][7])
+ list = [ LanguageEntryComponent(file = x[1][2].lower(), name = _cached("%s_%s" % x[1][1:3]), index = x[0]) for x in languageList]
+ self.list = list
+
+ #list.sort(key=lambda x: x[1][7])
print "updateList"
if first_time:
- self["languages"].list = self.list
+ self["languages"].list = list
else:
- self["languages"].updateList(self.list)
+ self["languages"].updateList(list)
print "done"
def changed(self):
})
# Run some functions when shown
- self.onShown.extend([
+ self.onShown.extend((
boundFunction(self.setTitle, windowTitle),
self.updateTarget,
self.showHideRename,
- ])
+ ))
self.onLayoutFinish.append(self.switchToFileListOnStart)
)
def createDirCallback(self, res):
- if res is not None and len(res):
+ if res:
path = os.path.join(self["filelist"].current_directory, res)
if not pathExists(path):
if not createDir(path):
def selectByStart(self):
# Don't do anything on initial call
- if not len(self.quickselect):
+ if not self.quickselect:
return
# Don't select if no dir
return str(type(self)) + "(" + self.text + ")"
class MovieLocationBox(LocationBox):
- skinName = "LocationBox"
-
def __init__(self, session, text, dir, minFree = None):
inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/lib", "/proc", "/sbin", "/sys", "/usr", "/var"]
LocationBox.__init__(self, session, text = text, currDir = dir, bookmarks = config.movielist.videodirs, autoAdd = True, editDir = True, inhibitDirs = inhibitDirs, minFree = minFree)
+ self.skinName = "LocationBox"
class TimeshiftLocationBox(LocationBox):
-
- skinName = "LocationBox" # XXX: though we could use a custom skin or inherit the hardcoded one we stick with the original :-)
-
def __init__(self, session):
inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/lib", "/proc", "/sbin", "/sys", "/usr", "/var"]
LocationBox.__init__(
autoAdd = True,
editDir = True,
inhibitDirs = inhibitDirs,
- minFree = 1024 # XXX: the same requirement is hardcoded in servicedvb.cpp
+ minFree = 1024 # the same requirement is hardcoded in servicedvb.cpp
)
+ self.skinName = "LocationBox"
def cancel(self):
config.usage.timeshift_path.cancel()
</widget>
</screen>"""
- def __init__(self, session, parent):
- Screen.__init__(self, session, parent)
-
class Menu(Screen):
ALLOW_SUSPEND = True
self.menuClosed(*res)
def menuClosed(self, *res):
- if len(res) and res[0]:
+ if res and res[0]:
self.close(True)
def addItem(self, destList, node):
else:
self.list = [ (_("no"), 1), (_("yes"), 0) ]
- if len(self.list):
+ if self.list:
self["selectedChoice"].setText(self.list[0][0])
self["list"] = MenuList(self.list)
if self.close_on_any_key:
self.close(True)
self["list"].instance.moveSelection(direction)
- if len(self.list):
+ if self.list:
self["selectedChoice"].setText(self["list"].getCurrent()[0])
self.stopTimer()
})
menu = [(_("delete..."), self.delete)]
-
- for p in plugins.getPlugins(PluginDescriptor.WHERE_MOVIELIST):
- menu.append((p.description, boundFunction(self.execPlugin, p)))
-
+ menu.extend([(p.description, boundFunction(self.execPlugin, p)) for p in plugins.getPlugins(PluginDescriptor.WHERE_MOVIELIST)])
+
if config.movielist.moviesort.value == MovieList.SORT_ALPHANUMERIC:
menu.append((_("sort by date"), boundFunction(self.sortBy, MovieList.SORT_RECORDED)))
else:
menu.append((_("alphabetic sort"), boundFunction(self.sortBy, MovieList.SORT_ALPHANUMERIC)))
- menu.append((_("list style default"), boundFunction(self.listType, MovieList.LISTTYPE_ORIGINAL)))
- menu.append((_("list style compact with description"), boundFunction(self.listType, MovieList.LISTTYPE_COMPACT_DESCRIPTION)))
- menu.append((_("list style compact"), boundFunction(self.listType, MovieList.LISTTYPE_COMPACT)))
- menu.append((_("list style single line"), boundFunction(self.listType, MovieList.LISTTYPE_MINIMAL)))
-
+ menu.extend((
+ (_("list style default"), boundFunction(self.listType, MovieList.LISTTYPE_ORIGINAL)),
+ (_("list style compact with description"), boundFunction(self.listType, MovieList.LISTTYPE_COMPACT_DESCRIPTION)),
+ (_("list style compact"), boundFunction(self.listType, MovieList.LISTTYPE_COMPACT)),
+ (_("list style single line"), boundFunction(self.listType, MovieList.LISTTYPE_MINIMAL))
+ ))
+
if config.movielist.description.value == MovieList.SHOW_DESCRIPTION:
menu.append((_("hide extended description"), boundFunction(self.showDescription, MovieList.HIDE_DESCRIPTION)))
else:
from Screen import Screen
class Mute(Screen):
- def __init__(self, session):
- Screen.__init__(self, session)
+ pass
self.l.setItemHeight(30)
def InterfaceEntryComponent(index,name,default,active ):
- res = [ (index) ]
- res.append(MultiContentEntryText(pos=(80, 5), size=(430, 25), font=0, text=name))
+ res = [
+ (index),
+ MultiContentEntryText(pos=(80, 5), size=(430, 25), font=0, text=name)
+ ]
num_configured_if = len(iNetwork.getConfiguredAdapters())
if num_configured_if >= 2:
if default is True:
self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
- if len(self.adapters) == 0:
+ if not self.adapters:
self.onFirstExecBegin.append(self.NetworkFallback)
self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
def createConfig(self):
self.nameservers = iNetwork.getNameserverList()
- self.nameserverEntries = []
-
- for nameserver in self.nameservers:
- self.nameserverEntries.append(NoSave(ConfigIP(default=nameserver)))
+ self.nameserverEntries = [ NoSave(ConfigIP(default=nameserver)) for nameserver in self.nameservers]
def createSetup(self):
self.list = []
-
- for i in range(len(self.nameserverEntries)):
- self.list.append(getConfigListEntry(_("Nameserver %d") % (i + 1), self.nameserverEntries[i]))
-
+
+ i = 1
+ for x in self.nameserverEntries:
+ self.list.append(getConfigListEntry(_("Nameserver %d") % (i), x))
+ i += 1
+
self["config"].list = self.list
self["config"].l.setList(self.list)
class NumericalTextInputHelpDialog(Screen):
def __init__(self, session, textinput):
Screen.__init__(self, session)
- for x in range(1, 10):
+ for x in (1, 2, 3, 4, 5, 6, 7, 8, 9):
self["key%d" % x] = Label(text=textinput.mapping[x].encode("utf-8"))
self.last_marked = 0
self["state"] = Label(text="")
class TimeshiftState(PVRState):
- def __init__(self, session):
- PVRState.__init__(self, session)
+ pass
+
if result is not None:
print "result:", result
self.currentLetter = result[1]
- self.list = []
- for x in self.servicesList[result[1]]:
- self.list.append(ParentalControlEntryComponent(x[0], x[1], parentalControl.getProtectionLevel(x[0]) != -1))
+ self.list = [ParentalControlEntryComponent(x[0], x[1], parentalControl.getProtectionLevel(x[0]) != -1) for x in self.servicesList[result[1]]]
self.servicelist.setList(self.list)
else:
parentalControl.save()
plugin(session=self.session)
def updateList(self):
- self.list = [ ]
self.pluginlist = plugins.getPlugins(PluginDescriptor.WHERE_PLUGINMENU)
- for plugin in self.pluginlist:
- self.list.append(PluginEntryComponent(plugin))
-
+ self.list = [PluginEntryComponent(plugin) for plugin in self.pluginlist]
+
self["list"].l.setList(self.list)
def delete(self):
self.pluginlist.append(plugin)
def updateList(self):
- self.list = []
+ list = []
expandableIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/expandable-plugins.png"))
expandedIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/expanded-plugins.png"))
verticallineIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/verticalline-plugins.png"))
for x in self.plugins.keys():
if x in self.expanded:
- self.list.append(PluginCategoryComponent(x, expandedIcon))
- for plugin in self.plugins[x]:
- self.list.append(PluginDownloadComponent(plugin[0], plugin[1]))
+ list.append(PluginCategoryComponent(x, expandedIcon))
+ list.extend([PluginDownloadComponent(plugin[0], plugin[1]) for plugin in self.plugins[x]])
else:
- self.list.append(PluginCategoryComponent(x, expandableIcon))
- self["list"].l.setList(self.list)
+ list.append(PluginCategoryComponent(x, expandableIcon))
+ self.list = list
+ self["list"].l.setList(list)
for selectPic in self.selectpics:
for pic in selectPic[1]:
self[pic].hide()
-
\ No newline at end of file
else:
list.append(getConfigListEntry(_("Port A"), nim.diseqcA))
- if mode in ["toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if mode in ("toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
list.append(getConfigListEntry(_("Port B"), nim.diseqcB))
if mode == "diseqc_a_b_c_d":
list.append(getConfigListEntry(_("Port C"), nim.diseqcC))
if self.nimConfig.configMode.value == "simple": #simple setup
self.diseqcModeEntry = getConfigListEntry(_("Mode"), self.nimConfig.diseqcMode)
self.list.append(self.diseqcModeEntry)
- if self.nimConfig.diseqcMode.value in ["single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if self.nimConfig.diseqcMode.value in ("single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
self.createSimpleSetup(self.list, self.nimConfig.diseqcMode.value)
if self.nimConfig.diseqcMode.value == "positioner":
self.createPositionerSetup(self.list)
if self.have_advanced and self.nim.config_mode == "advanced":
self.fillAdvancedList()
for x in self.list:
- if x in [self.turnFastEpochBegin, self.turnFastEpochEnd]:
+ if x in (self.turnFastEpochBegin, self.turnFastEpochEnd):
# workaround for storing only hour*3600+min*60 value in configfile
# not really needed.. just for cosmetics..
tm = localtime(x[1].value)
text = nimConfig.configMode.value
if self.showNim(x):
if x.isCompatible("DVB-S"):
- if nimConfig.configMode.value in ["loopthrough", "equal", "satposdepends"]:
+ if nimConfig.configMode.value in ("loopthrough", "equal", "satposdepends"):
text = { "loopthrough": _("loopthrough to"),
"equal": _("equal to"),
"satposdepends": _("second cable of motorized LNB") } [nimConfig.configMode.value]
elif nimConfig.configMode.value == "nothing":
text = _("nothing connected")
elif nimConfig.configMode.value == "simple":
- if nimConfig.diseqcMode.value in ["single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if nimConfig.diseqcMode.value in ("single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
text = _("Sats") + ": "
if nimConfig.diseqcA.orbital_position != 3601:
text += nimmanager.getSatName(int(nimConfig.diseqcA.value))
- if nimConfig.diseqcMode.value in ["toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]:
+ if nimConfig.diseqcMode.value in ("toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
if nimConfig.diseqcB.orbital_position != 3601:
text += "," + nimmanager.getSatName(int(nimConfig.diseqcB.value))
if nimConfig.diseqcMode.value == "diseqc_a_b_c_d":
self.list.append((slotid, x.friendly_full_description, text, x))
self["nimlist"].setList(self.list)
- self["nimlist"].updateList(self.list)
\ No newline at end of file
+ self["nimlist"].updateList(self.list)
return x & 0xFFFFFFFF
def ServiceInfoListEntry(a, b, valueType=TYPE_TEXT, param=4):
- res = [ ]
-
- #PyObject *type, *px, *py, *pwidth, *pheight, *pfnt, *pstring, *pflags;
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 30, 0, RT_HALIGN_LEFT, ""))
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 25, 0, RT_HALIGN_LEFT, a))
print "b:", b
if not isinstance(b, str):
if valueType == TYPE_VALUE_HEX:
b = ("0x%0" + str(param) + "x (%dd)") % (to_unsigned(b), b)
else:
b = str(b)
-
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 220, 0, 350, 25, 0, RT_HALIGN_LEFT, b))
- return res
+ return [
+ #PyObject *type, *px, *py, *pwidth, *pheight, *pfnt, *pstring, *pflags;
+ (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 30, 0, RT_HALIGN_LEFT, ""),
+ (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 25, 0, RT_HALIGN_LEFT, a),
+ (eListboxPythonMultiContent.TYPE_TEXT, 220, 0, 350, 25, 0, RT_HALIGN_LEFT, b)
+ ]
class ServiceInfoList(HTMLComponent, GUIComponent):
def __init__(self, source):
"transmission_mode": _("Transmission Mode"),
"guard_interval" : _("Guard Interval"),
"hierarchy_information": _("Hierarchy Information") }
- Labels = [ ]
- for i in tp_info.keys():
- Labels.append( (conv[i], tp_info[i], TYPE_VALUE_DEC) )
+ Labels = [(conv[i], tp_info[i], TYPE_VALUE_DEC) for i in tp_info.keys()]
self.fillList(Labels)
def pids(self):
if frontendDataOrg and len(frontendDataOrg):
frontendData = ConvertToHumanReadable(frontendDataOrg)
if frontendDataOrg["tuner_type"] == "DVB-S":
- return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ return (("NIM", ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
("Type", frontendData["system"], TYPE_TEXT),
("Modulation", frontendData["modulation"], TYPE_TEXT),
("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC),
("Pilot", frontendData.get("pilot", None), TYPE_TEXT),
("Rolloff", frontendData.get("rolloff", None), TYPE_TEXT))
elif frontendDataOrg["tuner_type"] == "DVB-C":
- return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ return (("NIM", ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
("Type", frontendData["tuner_type"], TYPE_TEXT),
("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
("Inversion", frontendData["inversion"], TYPE_TEXT),
("FEC inner", frontendData["fec_inner"], TYPE_TEXT))
elif frontendDataOrg["tuner_type"] == "DVB-T":
- return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ return (("NIM", ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
("Type", frontendData["tuner_type"], TYPE_TEXT),
("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
("Inversion", frontendData["inversion"], TYPE_TEXT),
class SetupError(Exception):
def __init__(self, message):
- self.message = message
+ self.msg = message
def __str__(self):
- return self.message
+ return self.msg
class SetupSummary(Screen):
skin = """
</screen>"""
def __init__(self, session, parent):
- Screen.__init__(self, session)
+ Screen.__init__(self, session, parent = parent)
self["SetupTitle"] = Label(_(parent.setup_title))
self["SetupEntry"] = Label("")
self["SetupValue"] = Label("")
- self.parent = parent
self.onShow.append(self.addWatcher)
self.onHide.append(self.removeWatcher)
</widget>
</screen>"""
- def __init__(self, session, parent):
- Screen.__init__(self, session)
-
from enigma import quitMainloop, iRecordableService
from Screens.MessageBox import MessageBox
from time import time
class TryQuitMainloop(MessageBox):
def __init__(self, session, retvalue=1, timeout=-1, default_yes = True):
self.retval=retvalue
- recordings = len(session.nav.getRecordings())
+ recordings = session.nav.getRecordings()
jobs = len(job_manager.getPendingJobs())
self.connected = False
reason = ""
def getRecordEvent(self, recservice, event):
if event == iRecordableService.evEnd:
recordings = self.session.nav.getRecordings()
- if not len(recordings): # no more recordings exist
+ if not recordings: # no more recordings exist
rec_time = self.session.nav.RecordTimer.getNextRecordingTime()
if rec_time > 0 and (rec_time - time()) < 360:
self.initTimeout(360) # wait for next starting timer
from enigma import eTimer
-class SubservicesQuickzap(InfoBarBase, InfoBarShowHide, InfoBarMenu, InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, InfoBarTimeshiftState, InfoBarExtensions, InfoBarSubtitleSupport, InfoBarAudioSelection, Screen):
+class SubservicesQuickzap(InfoBarBase, InfoBarShowHide, InfoBarMenu, \
+ InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, \
+ InfoBarTimeshiftState, InfoBarExtensions, InfoBarSubtitleSupport, \
+ InfoBarAudioSelection, Screen):
+
def __init__(self, session, subservices):
Screen.__init__(self, session)
- for x in [InfoBarBase, InfoBarShowHide, InfoBarMenu, InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, InfoBarTimeshiftState, InfoBarSubtitleSupport, InfoBarExtensions, InfoBarAudioSelection]:
+ for x in InfoBarBase, InfoBarShowHide, InfoBarMenu, \
+ InfoBarInstantRecord, InfoBarSeek, InfoBarTimeshift, \
+ InfoBarTimeshiftState, InfoBarSubtitleSupport, \
+ InfoBarExtensions, InfoBarAudioSelection:
x.__init__(self)
self.restoreService = self.session.nav.getCurrentlyPlayingServiceReference()
def showSelection(self):
self.updateSubservices()
tlist = []
- if self.n is not None:
- for x in range(self.n):
- i = self.subservices.getSubservice(x)
- tlist.append((i.getName(), x))
+ n = self.n or 0
+ if n:
+ idx = 0
+ while idx < n:
+ i = self.subservices.getSubservice(idx)
+ tlist.append((i.getName(), idx))
+ idx += 1
- keys = [ "", "1", "2", "3", "4", "5", "6", "7", "8", "9" ] + [""] * self.n
+ keys = [ "", "1", "2", "3", "4", "5", "6", "7", "8", "9" ] + [""] * n
self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice..."), list = tlist, selection = self.currentlyPlayingSubservice, keys = keys)
def subserviceSelected(self, service):
from Screens.Screen import Screen
class SubtitleDisplay(Screen):
- def __init__(self, session):
- Screen.__init__(self, session)
-
+ pass
+
# not really much to do...
self.__selected_subtitle = None
def fillList(self):
- del self.list[:]
- print "self.list", self.list
+ list = self.list
+ del list[:]
+ print "self.list", list
if self.subtitlesEnabled():
- self.list.append(getConfigListEntry(_("Disable Subtitles"), ConfigNothing(), None))
+ list.append(getConfigListEntry(_("Disable Subtitles"), ConfigNothing(), None))
sel = self.infobar.selected_subtitle
else:
sel = None
text = _("Enable")
if x[0] == 0:
if LanguageCodes.has_key(x[4]):
- self.list.append(getConfigListEntry(text+" DVB "+LanguageCodes[x[4]][0], ConfigNothing(), x))
+ list.append(getConfigListEntry(text+" DVB "+LanguageCodes[x[4]][0], ConfigNothing(), x))
else:
- self.list.append(getConfigListEntry(text+" DVB "+x[4], ConfigNothing(), x))
+ list.append(getConfigListEntry(text+" DVB "+x[4], ConfigNothing(), x))
elif x[0] == 1:
if x[4] == 'und': #undefined
- self.list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2]), ConfigNothing(), x))
+ list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2]), ConfigNothing(), x))
else:
if LanguageCodes.has_key(x[4]):
- self.list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+LanguageCodes[x[4]][0], ConfigNothing(), x))
+ list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+LanguageCodes[x[4]][0], ConfigNothing(), x))
else:
- self.list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+x[4], ConfigNothing(), x))
+ list.append(getConfigListEntry(text+" TTX "+_("Page")+" %x%02x"%(x[3],x[2])+" "+x[4], ConfigNothing(), x))
elif x[0] == 2:
- types = [" UTF-8 text "," SSA / AAS "," .SRT file "]
+ types = (" UTF-8 text "," SSA / AAS "," .SRT file ")
if x[4] == 'und': #undefined
- self.list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d" % x[1], ConfigNothing(), x))
+ list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d" % x[1], ConfigNothing(), x))
else:
if LanguageCodes.has_key(x[4]):
- self.list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles") + ' ' + LanguageCodes[x[4]][0], ConfigNothing(), x))
+ list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles") + ' ' + LanguageCodes[x[4]][0], ConfigNothing(), x))
else:
- self.list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d " % x[1] +x[4], ConfigNothing(), x))
+ list.append(getConfigListEntry(text+types[x[2]]+_("Subtitles")+" %d " % x[1] +x[4], ConfigNothing(), x))
# return _("Disable subtitles")
- self["config"].list = self.list
- self["config"].l.setList(self.list)
+ self["config"].list = list
+ self["config"].l.setList(list)
def __updatedInfo(self):
self.fillList()
ConfigListScreen.keyRight(self)
def ok(self):
- if len(self.list):
+ if self.list:
cur = self["config"].getCurrent()
self.enableSubtitle(cur[2])
self.close(1)
else:
self["job_task"].text = ""
self["summary_job_task"].text = j.getStatustext()
- if j.status in [j.FINISHED, j.FAILED]:
+ if j.status in (j.FINISHED, j.FAILED):
self.performAfterEvent()
self["backgroundable"].boolean = False
if j.status == j.FINISHED:
self.close(True)
def ok(self):
- if self.job.status in [self.job.FINISHED, self.job.FAILED]:
+ if self.job.status in (self.job.FINISHED, self.job.FAILED):
self.close(False)
def abort(self):
- if self.job.status in [self.job.FINISHED, self.job.FAILED]:
+ if self.job.status in (self.job.FINISHED, self.job.FAILED):
self.close(False)
if self["cancelable"].boolean == True:
self.job.cancel()
self.timeinput_time = conf_time
def createSetup(self, configlist):
- self.list = []
- self.list.append(getConfigListEntry(_("Date"), self.timeinput_date))
- self.list.append(getConfigListEntry(_("Time"), self.timeinput_time))
+ self.list = [
+ getConfigListEntry(_("Date"), self.timeinput_date),
+ getConfigListEntry(_("Time"), self.timeinput_time)
+ ]
configlist.list = self.list
configlist.l.setList(self.list)
self.key_blue_choice = self.EMPTY
def fillTimerList(self):
- del self.list[:]
-
- for timer in self.session.nav.RecordTimer.timer_list:
- self.list.append((timer, False))
-
- for timer in self.session.nav.RecordTimer.processed_timers:
- self.list.append((timer, True))
- self.list.sort(cmp = lambda x, y: x[0].begin < y[0].begin)
+ list = self.list
+ del list[:]
+ list.extend([(timer, False) for timer in self.session.nav.RecordTimer.timer_list])
+ list.extend([(timer, True) for timer in self.session.nav.RecordTimer.processed_timers])
+ list.sort(cmp = lambda x, y: x[0].begin < y[0].begin)
def showLog(self):
cur=self["timerlist"].getCurrent()
AFTEREVENT.AUTO: "auto"
}[self.timer.afterEvent]
- weekday_table = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
+ weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun")
# calculate default values
day = []
weekday = 0
- for x in range(0,7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
day.append(0)
if self.timer.repeated: # repeated
type = "repeated"
flags = self.timer.repeated
repeated = "user"
count = 0
- for x in range(0, 7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
if flags == 1: # weekly
print "Set to weekday " + str(x)
weekday = x
self.timerentry_name = ConfigText(default = self.timer.name, visible_width = 50, fixed_size = False)
self.timerentry_description = ConfigText(default = self.timer.description, visible_width = 50, fixed_size = False)
self.timerentry_tags = self.timer.tags[:]
- self.timerentry_tagsset = ConfigSelection(choices = [len(self.timerentry_tags) == 0 and "None" or " ".join(self.timerentry_tags)])
+ self.timerentry_tagsset = ConfigSelection(choices = [not self.timerentry_tags and "None" or " ".join(self.timerentry_tags)])
self.timerentry_repeated = ConfigSelection(default = repeated, choices = [("daily", _("daily")), ("weekly", _("weekly")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))])
self.timerentry_weekday = ConfigSelection(default = weekday_table[weekday], choices = [("mon",_("Monday")), ("tue", _("Tuesday")), ("wed",_("Wednesday")), ("thu", _("Thursday")), ("fri", _("Friday")), ("sat", _("Saturday")), ("sun", _("Sunday"))])
self.timerentry_day = ConfigSubList()
- for x in range(0,7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
self.timerentry_day.append(ConfigYesNo(default = day[x]))
# FIXME some service-chooser needed here
self.createSetup("config")
def keyLeft(self):
- if self["config"].getCurrent() in [self.channelEntry, self.tagsSet]:
+ if self["config"].getCurrent() in (self.channelEntry, self.tagsSet):
self.keySelect()
else:
ConfigListScreen.keyLeft(self)
self.newConfig()
def keyRight(self):
- if self["config"].getCurrent() in [self.channelEntry, self.tagsSet]:
+ if self["config"].getCurrent() in (self.channelEntry, self.tagsSet):
self.keySelect()
else:
ConfigListScreen.keyRight(self)
self.keyGo()
def finishedChannelSelection(self, *args):
- if len(args):
+ if args:
self.timerentry_service_ref = ServiceReference(args[0])
self.timerentry_service.setCurrentText(self.timerentry_service_ref.getServiceName())
self["config"].invalidate(self.channelEntry)
self.timer.begin, self.timer.end = self.getBeginEnd()
if self.timerentry_type.value == "repeated":
if self.timerentry_repeated.value == "daily":
- for x in range(0,7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
self.timer.setRepeated(x)
if self.timerentry_repeated.value == "weekly":
self.timer.setRepeated(self.timerentry_weekday.index)
if self.timerentry_repeated.value == "weekdays":
- for x in range(0,5):
+ for x in (0, 1, 2, 3, 4):
self.timer.setRepeated(x)
if self.timerentry_repeated.value == "user":
- for x in range(0,7):
+ for x in (0, 1, 2, 3, 4, 5, 6):
if self.timerentry_day[x].value:
self.timer.setRepeated(x)
if self.timer.eit is not None:
event = eEPGCache.getInstance().lookupEventId(self.timer.service_ref.ref, self.timer.eit)
- if event is not None:
+ if event:
n = event.getNumOfLinkageServices()
- if n > 0:
+ if n > 1:
tlist = []
ref = self.session.nav.getCurrentlyPlayingServiceReference()
parent = self.timer.service_ref.ref
tlist.append((i.getName(), i))
self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice to record..."), list = tlist, selection = selection)
return
-
+ elif n > 0:
+ parent = self.timer.service_ref.ref
+ self.timer.service_ref = ServiceReference(event.getLinkageService(parent, 0))
self.saveTimer()
self.close((True, self.timer))
def tagEditFinished(self, ret):
if ret is not None:
self.timerentry_tags = ret
- self.timerentry_tagsset.setChoices([len(ret) == 0 and "None" or " ".join(ret)])
+ self.timerentry_tagsset.setChoices([not ret and "None" or " ".join(ret)])
self["config"].invalidate(self.tagsSet)
class TimerLog(Screen):
self.updateText()
def fillLogList(self):
- self.list = [ ]
- for x in self.log_entries:
- self.list.append((str(strftime("%Y-%m-%d %H-%M", localtime(x[0])) + " - " + x[2]), x))
+ self.list = [(str(strftime("%Y-%m-%d %H-%M", localtime(x[0])) + " - " + x[2]), x) for x in self.log_entries]
def clearLog(self):
self.log_entries = []
self.updateText()
def updateText(self):
- if len(self.list) > 0:
+ if self.list:
self["logentry"].setText(str(self["loglist"].getCurrent()[1][2]))
else:
self["logentry"].setText("")
def selected(self):
self.close(self["timerlist"].getCurrentIndex())
-
\ No newline at end of file
-# -*- coding: iso-8859-1 -*-\r
-from Components.Language import language\r
-from Components.ActionMap import ActionMap\r
-from Components.Label import Label\r
-from Components.Pixmap import Pixmap\r
-from Components.MenuList import MenuList\r
-from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest\r
-from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_CENTER, RT_VALIGN_CENTER\r
-from Screen import Screen\r
-from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE\r
-from Tools.LoadPixmap import LoadPixmap\r
-\r
-class VirtualKeyBoardList(MenuList):\r
- def __init__(self, list, enableWrapAround=False):\r
- MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent)\r
- self.l.setFont(0, gFont("Regular", 22))\r
- self.l.setItemHeight(45)\r
-\r
-def VirtualKeyBoardEntryComponent(keys, selectedKey,shiftMode=False):\r
- key_backspace = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_backspace.png"))\r
- key_bg = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_bg.png"))\r
- key_clr = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_clr.png"))\r
- key_esc = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_esc.png"))\r
- key_ok = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_ok.png"))\r
- key_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_sel.png"))\r
- key_shift = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_shift.png"))\r
- key_shift_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_shift_sel.png"))\r
- key_space = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_space.png"))\r
- \r
- res = [ (keys) ]\r
- \r
- x = 0\r
- count = 0\r
- if shiftMode:\r
- shiftkey_png = key_shift_sel\r
- else:\r
- shiftkey_png = key_shift\r
- for key in keys:\r
- if key == "EXIT":\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_esc))\r
- elif key == "BACKSPACE":\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_backspace))\r
- elif key == "CLEAR":\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_clr))\r
- elif key == "SHIFT":\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=shiftkey_png))\r
- elif key == "SPACE":\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_space))\r
- elif key == "OK":\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_ok))\r
- #elif key == "<-":\r
- # res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_left))\r
- #elif key == "->":\r
- # res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_right))\r
- \r
- else:\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_bg))\r
- res.append(MultiContentEntryText(pos=(x, 0), size=(45, 45), font=0, text=key.encode("utf-8"), flags=RT_HALIGN_CENTER | RT_VALIGN_CENTER))\r
- \r
- if selectedKey == count:\r
- res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_sel))\r
- \r
- x += 45\r
- count += 1\r
- \r
- return res\r
-\r
-\r
-class VirtualKeyBoard(Screen):\r
-\r
- def __init__(self, session, title="", text=""):\r
- Screen.__init__(self, session)\r
- self.keys_list = []\r
- self.shiftkeys_list = []\r
- self.lang = language.getLanguage()\r
- if self.lang == 'de_DE':\r
- self.keys_list = [\r
- [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],\r
- [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ü", u"+"],\r
- [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ö", u"ä", u"#"],\r
- [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],\r
- [u"SHIFT", u"SPACE", u"@", u"ß", u"OK"]]\r
- \r
- self.shiftkeys_list = [\r
- [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],\r
- [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"Ü", u"*"],\r
- [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ö", u"Ä", u"'"],\r
- [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],\r
- [u"SHIFT", u"SPACE", u"?", u"\\", u"OK"]]\r
- \r
- elif self.lang == 'es_ES':\r
- #still missing keys (u"ùÙ")\r
- self.keys_list = [\r
- [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],\r
- [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ú", u"+"],\r
- [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ó", u"á", u"#"],\r
- [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],\r
- [u"SHIFT", u"SPACE", u"@", u"£", u"à", u"é", u"è", u"í", u"ì", u"ñ", u"ò", u"OK"]]\r
- \r
- self.shiftkeys_list = [\r
- [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],\r
- [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"Ú", u"*"],\r
- [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ó", u"Á", u"'"],\r
- [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],\r
- [u"SHIFT", u"SPACE", u"?", u"\\", u"À", u"É", u"È", u"Í", u"Ì", u"Ñ", u"Ò", u"OK"]]\r
- \r
- elif self.lang in ['sv_SE', 'fi_FI']:\r
- self.keys_list = [\r
- [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],\r
- [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"é", u"+"],\r
- [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ö", u"ä", u"#"],\r
- [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],\r
- [u"SHIFT", u"SPACE", u"@", u"ß", u"å", u"OK"]]\r
- \r
- self.shiftkeys_list = [\r
- [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],\r
- [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"É", u"*"],\r
- [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ö", u"Ä", u"'"],\r
- [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],\r
-\r
- [u"SHIFT", u"SPACE", u"?", u"\\", u"Å", u"OK"]]\r
- else:\r
- self.keys_list = [\r
- [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],\r
- [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"+", u"@"],\r
- [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"#", u"\\"],\r
- [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],\r
- [u"SHIFT", u"SPACE", u"OK"]]\r
- \r
- self.shiftkeys_list = [\r
- [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],\r
- [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"*"],\r
- [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"'", u"?"],\r
- [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],\r
- [u"SHIFT", u"SPACE", u"OK"]]\r
- \r
- self.shiftMode = False\r
- self.text = text\r
- self.selectedKey = 0\r
- \r
- self["header"] = Label(title)\r
- self["text"] = Label(self.text)\r
- self["list"] = VirtualKeyBoardList([])\r
- \r
- self["actions"] = ActionMap(["OkCancelActions", "WizardActions", "ColorActions"],\r
- {\r
- "ok": self.okClicked,\r
- "cancel": self.exit,\r
- "left": self.left,\r
- "right": self.right,\r
- "up": self.up,\r
- "down": self.down,\r
- "red": self.backClicked,\r
- "green": self.ok\r
- }, -2)\r
- \r
- self.onLayoutFinish.append(self.buildVirtualKeyBoard)\r
-\r
- def buildVirtualKeyBoard(self, selectedKey=0):\r
- list = []\r
- \r
- if self.shiftMode:\r
- self.k_list = self.shiftkeys_list\r
- for keys in self.k_list:\r
- if selectedKey < 12 and selectedKey > -1:\r
- list.append(VirtualKeyBoardEntryComponent(keys, selectedKey,True))\r
- else:\r
- list.append(VirtualKeyBoardEntryComponent(keys, -1,True))\r
- selectedKey -= 12\r
- else:\r
- self.k_list = self.keys_list\r
- for keys in self.k_list:\r
- if selectedKey < 12 and selectedKey > -1:\r
- list.append(VirtualKeyBoardEntryComponent(keys, selectedKey))\r
- else:\r
- list.append(VirtualKeyBoardEntryComponent(keys, -1))\r
- selectedKey -= 12\r
- \r
- self["list"].setList(list)\r
-\r
- \r
- def backClicked(self):\r
- self.text = self["text"].getText()[:-1]\r
- self["text"].setText(self.text)\r
- \r
- def okClicked(self):\r
- if self.shiftMode:\r
- list = self.shiftkeys_list\r
- else:\r
- list = self.keys_list\r
- \r
- selectedKey = self.selectedKey\r
-\r
- for x in list:\r
- if selectedKey < 12:\r
- text = x[selectedKey]\r
- break\r
- else:\r
- selectedKey -= 12\r
-\r
- text = text.encode("utf-8")\r
-\r
- if text == "EXIT":\r
- self.close(None)\r
- \r
- elif text == "BACKSPACE":\r
- self.text = self["text"].getText()[:-1]\r
- self["text"].setText(self.text)\r
- \r
- elif text == "CLEAR":\r
- self.text = ""\r
- self["text"].setText(self.text)\r
- \r
- elif text == "SHIFT":\r
- if self.shiftMode:\r
- self.shiftMode = False\r
- else:\r
- self.shiftMode = True\r
- \r
- self.buildVirtualKeyBoard(self.selectedKey)\r
- \r
- elif text == "SPACE":\r
- self.text += " "\r
- self["text"].setText(self.text)\r
- \r
- elif text == "OK":\r
- self.close(self["text"].getText())\r
- \r
- else:\r
- self.text = self["text"].getText()\r
- self.text += text\r
- self["text"].setText(self.text)\r
-\r
- def ok(self):\r
- self.close(self["text"].getText())\r
-\r
- def exit(self):\r
- self.close(None)\r
-\r
- def left(self):\r
- self.selectedKey -= 1\r
- \r
- if self.selectedKey == -1:\r
- self.selectedKey = 11\r
- elif self.selectedKey == 11:\r
- self.selectedKey = 23\r
- elif self.selectedKey == 23:\r
- self.selectedKey = 35\r
- elif self.selectedKey == 35:\r
- self.selectedKey = 47\r
- elif self.selectedKey == 47:\r
- self.selectedKey = 59\r
- \r
- self.showActiveKey()\r
-\r
- def right(self):\r
- self.selectedKey += 1\r
- \r
- if self.selectedKey == 12:\r
- self.selectedKey = 0\r
- elif self.selectedKey == 24:\r
- self.selectedKey = 12\r
- elif self.selectedKey == 36:\r
- self.selectedKey = 24\r
- elif self.selectedKey == 48:\r
- self.selectedKey = 36\r
- elif self.selectedKey == 60:\r
- self.selectedKey = 48\r
- \r
- self.showActiveKey()\r
-\r
- def up(self):\r
- self.selectedKey -= 12\r
- \r
- if self.selectedKey < 0:\r
- self.selectedKey += 60\r
- \r
- self.showActiveKey()\r
-\r
- def down(self):\r
- self.selectedKey += 12\r
- \r
- if self.selectedKey > 59:\r
- self.selectedKey -= 60\r
- \r
- self.showActiveKey()\r
-\r
- def showActiveKey(self):\r
- self.buildVirtualKeyBoard(self.selectedKey)\r
+# -*- coding: iso-8859-1 -*-
+from Components.Language import language
+from Components.ActionMap import ActionMap
+from Components.Label import Label
+from Components.Pixmap import Pixmap
+from Components.MenuList import MenuList
+from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
+from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_CENTER, RT_VALIGN_CENTER
+from Screen import Screen
+from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from Tools.LoadPixmap import LoadPixmap
+
+class VirtualKeyBoardList(MenuList):
+ def __init__(self, list, enableWrapAround=False):
+ MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent)
+ self.l.setFont(0, gFont("Regular", 22))
+ self.l.setItemHeight(45)
+
+def VirtualKeyBoardEntryComponent(keys, selectedKey,shiftMode=False):
+ key_backspace = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_backspace.png"))
+ key_bg = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_bg.png"))
+ key_clr = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_clr.png"))
+ key_esc = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_esc.png"))
+ key_ok = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_ok.png"))
+ key_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_sel.png"))
+ key_shift = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_shift.png"))
+ key_shift_sel = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_shift_sel.png"))
+ key_space = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/vkey_space.png"))
+
+ res = [ (keys) ]
+
+ x = 0
+ count = 0
+ if shiftMode:
+ shiftkey_png = key_shift_sel
+ else:
+ shiftkey_png = key_shift
+ for key in keys:
+ if key == "EXIT":
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_esc))
+ elif key == "BACKSPACE":
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_backspace))
+ elif key == "CLEAR":
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_clr))
+ elif key == "SHIFT":
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=shiftkey_png))
+ elif key == "SPACE":
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_space))
+ elif key == "OK":
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_ok))
+ #elif key == "<-":
+ # res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_left))
+ #elif key == "->":
+ # res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_right))
+
+ else:
+ res.extend((
+ MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_bg),
+ MultiContentEntryText(pos=(x, 0), size=(45, 45), font=0, text=key.encode("utf-8"), flags=RT_HALIGN_CENTER | RT_VALIGN_CENTER)
+ ))
+
+ if selectedKey == count:
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_sel))
+
+ x += 45
+ count += 1
+
+ return res
+
+
+class VirtualKeyBoard(Screen):
+
+ def __init__(self, session, title="", text=""):
+ Screen.__init__(self, session)
+ self.keys_list = []
+ self.shiftkeys_list = []
+ self.lang = language.getLanguage()
+ if self.lang == 'de_DE':
+ self.keys_list = [
+ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],
+ [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ü", u"+"],
+ [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ö", u"ä", u"#"],
+ [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],
+ [u"SHIFT", u"SPACE", u"@", u"ß", u"OK"]]
+
+ self.shiftkeys_list = [
+ [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],
+ [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"Ü", u"*"],
+ [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ö", u"Ä", u"'"],
+ [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],
+ [u"SHIFT", u"SPACE", u"?", u"\\", u"OK"]]
+
+ elif self.lang == 'es_ES':
+ #still missing keys (u"ùÙ")
+ self.keys_list = [
+ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],
+ [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"ú", u"+"],
+ [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ó", u"á", u"#"],
+ [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],
+ [u"SHIFT", u"SPACE", u"@", u"£", u"à", u"é", u"è", u"í", u"ì", u"ñ", u"ò", u"OK"]]
+
+ self.shiftkeys_list = [
+ [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],
+ [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"Ú", u"*"],
+ [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ó", u"Á", u"'"],
+ [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],
+ [u"SHIFT", u"SPACE", u"?", u"\\", u"À", u"É", u"È", u"Í", u"Ì", u"Ñ", u"Ò", u"OK"]]
+
+ elif self.lang in ('sv_SE', 'fi_FI'):
+ self.keys_list = [
+ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],
+ [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"é", u"+"],
+ [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"ö", u"ä", u"#"],
+ [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],
+ [u"SHIFT", u"SPACE", u"@", u"ß", u"å", u"OK"]]
+
+ self.shiftkeys_list = [
+ [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],
+ [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"É", u"*"],
+ [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"Ö", u"Ä", u"'"],
+ [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],
+
+ [u"SHIFT", u"SPACE", u"?", u"\\", u"Å", u"OK"]]
+ else:
+ self.keys_list = [
+ [u"EXIT", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"0", u"BACKSPACE"],
+ [u"q", u"w", u"e", u"r", u"t", u"z", u"u", u"i", u"o", u"p", u"+", u"@"],
+ [u"a", u"s", u"d", u"f", u"g", u"h", u"j", u"k", u"l", u"#", u"\\"],
+ [u"<", u"y", u"x", u"c", u"v", u"b", u"n", u"m", u",", ".", u"-", u"CLEAR"],
+ [u"SHIFT", u"SPACE", u"OK"]]
+
+ self.shiftkeys_list = [
+ [u"EXIT", u"!", u'"', u"§", u"$", u"%", u"&", u"/", u"(", u")", u"=", u"BACKSPACE"],
+ [u"Q", u"W", u"E", u"R", u"T", u"Z", u"U", u"I", u"O", u"P", u"*"],
+ [u"A", u"S", u"D", u"F", u"G", u"H", u"J", u"K", u"L", u"'", u"?"],
+ [u">", u"Y", u"X", u"C", u"V", u"B", u"N", u"M", u";", u":", u"_", u"CLEAR"],
+ [u"SHIFT", u"SPACE", u"OK"]]
+
+ self.shiftMode = False
+ self.text = text
+ self.selectedKey = 0
+
+ self["header"] = Label(title)
+ self["text"] = Label(self.text)
+ self["list"] = VirtualKeyBoardList([])
+
+ self["actions"] = ActionMap(["OkCancelActions", "WizardActions", "ColorActions"],
+ {
+ "ok": self.okClicked,
+ "cancel": self.exit,
+ "left": self.left,
+ "right": self.right,
+ "up": self.up,
+ "down": self.down,
+ "red": self.backClicked,
+ "green": self.ok
+ }, -2)
+
+ self.onLayoutFinish.append(self.buildVirtualKeyBoard)
+
+ def buildVirtualKeyBoard(self, selectedKey=0):
+ list = []
+
+ if self.shiftMode:
+ self.k_list = self.shiftkeys_list
+ for keys in self.k_list:
+ if selectedKey < 12 and selectedKey > -1:
+ list.append(VirtualKeyBoardEntryComponent(keys, selectedKey,True))
+ else:
+ list.append(VirtualKeyBoardEntryComponent(keys, -1,True))
+ selectedKey -= 12
+ else:
+ self.k_list = self.keys_list
+ for keys in self.k_list:
+ if selectedKey < 12 and selectedKey > -1:
+ list.append(VirtualKeyBoardEntryComponent(keys, selectedKey))
+ else:
+ list.append(VirtualKeyBoardEntryComponent(keys, -1))
+ selectedKey -= 12
+
+ self["list"].setList(list)
+
+
+ def backClicked(self):
+ self.text = self["text"].getText()[:-1]
+ self["text"].setText(self.text)
+
+ def okClicked(self):
+ if self.shiftMode:
+ list = self.shiftkeys_list
+ else:
+ list = self.keys_list
+
+ selectedKey = self.selectedKey
+
+ for x in list:
+ if selectedKey < 12:
+ text = x[selectedKey]
+ break
+ else:
+ selectedKey -= 12
+
+ text = text.encode("utf-8")
+
+ if text == "EXIT":
+ self.close(None)
+
+ elif text == "BACKSPACE":
+ self.text = self["text"].getText()[:-1]
+ self["text"].setText(self.text)
+
+ elif text == "CLEAR":
+ self.text = ""
+ self["text"].setText(self.text)
+
+ elif text == "SHIFT":
+ if self.shiftMode:
+ self.shiftMode = False
+ else:
+ self.shiftMode = True
+
+ self.buildVirtualKeyBoard(self.selectedKey)
+
+ elif text == "SPACE":
+ self.text += " "
+ self["text"].setText(self.text)
+
+ elif text == "OK":
+ self.close(self["text"].getText())
+
+ else:
+ self.text = self["text"].getText()
+ self.text += text
+ self["text"].setText(self.text)
+
+ def ok(self):
+ self.close(self["text"].getText())
+
+ def exit(self):
+ self.close(None)
+
+ def left(self):
+ self.selectedKey -= 1
+
+ if self.selectedKey == -1:
+ self.selectedKey = 11
+ elif self.selectedKey == 11:
+ self.selectedKey = 23
+ elif self.selectedKey == 23:
+ self.selectedKey = 35
+ elif self.selectedKey == 35:
+ self.selectedKey = 47
+ elif self.selectedKey == 47:
+ self.selectedKey = 59
+
+ self.showActiveKey()
+
+ def right(self):
+ self.selectedKey += 1
+
+ if self.selectedKey == 12:
+ self.selectedKey = 0
+ elif self.selectedKey == 24:
+ self.selectedKey = 12
+ elif self.selectedKey == 36:
+ self.selectedKey = 24
+ elif self.selectedKey == 48:
+ self.selectedKey = 36
+ elif self.selectedKey == 60:
+ self.selectedKey = 48
+
+ self.showActiveKey()
+
+ def up(self):
+ self.selectedKey -= 12
+
+ if self.selectedKey < 0:
+ self.selectedKey += 60
+
+ self.showActiveKey()
+
+ def down(self):
+ self.selectedKey += 12
+
+ if self.selectedKey > 59:
+ self.selectedKey -= 60
+
+ self.showActiveKey()
+
+ def showActiveKey(self):
+ self.buildVirtualKeyBoard(self.selectedKey)
self.currStep += 1
self.updateValues()
else:
+ if self.wizard[self.currStep].has_key("displaytext"):
+ displaytext = self.wizard[self.currStep]["displaytext"]
+ print "set LCD text"
+ for x in self.lcdCallbacks:
+ x(displaytext)
if len(self.stepHistory) == 0 or self.stepHistory[-1] != self.currStep:
self.stepHistory.append(self.currStep)
print "wizard step:", self.wizard[self.currStep]
self.wizards.append((wizard, precondition, priority))
def getWizards(self):
- list = []
- for x in self.wizards:
- if x[1] == 1: # precondition
- list.append((x[2], x[0]))
- return list
+ # x[1] is precondition
+ return [(x[2], x[0]) for x in self.wizards if x[1] == 1]
wizardManager = WizardManager()
self.updateText(firstset = True)
self.updateValues()
self.updateLanguageDescription()
-
-
-
-
\ No newline at end of file
except IOError:
print "setFPWakeupTime failed!"
+def setRTCtime(wutime):
+ try:
+ open("/proc/stb/fp/rtc", "w").write(str(wutime))
+ except IOError:
+ try:
+ fp = open("/dev/dbox/fp0")
+ ioctl(fp.fileno(), 0x101, pack('L', wutime)) # set wake up
+ except IOError:
+ print "setRTCtime failed!"
+
def getFPWakeuptime():
ret = 0
try:
self.mapping.append (u"pqrs7PQRS") # 7
self.mapping.append (u"tuvúù8TUVÚÙ") # 8
self.mapping.append (u"wxyz9WXYZ") # 9
- if self.lang in ['sv_SE', 'fi_FI']:
+ if self.lang in ('sv_SE', 'fi_FI'):
self.mapping.append (u".,?'+\"0-()@/:_$!") # 0
self.mapping.append (u" 1") # 1
self.mapping.append (u"abcåä2ABCÅÄ") # 2
lang = cc; // use first found language
if (cc == lang)
{
- m_event_name = convertDVBUTF8(sed->getEventName(), table, tsidonid);
+ m_event_name = convertDVBUTF8(replace_all(replace_all(sed->getEventName(), "\n", " "), "\t", " "), table, tsidonid);
m_short_description = convertDVBUTF8(sed->getText(), table, tsidonid);
retval=1;
}
}
}
}
- m_decoder->setAC3Delay(ac3_delay == -1 ? 0 : ac3_delay);
- m_decoder->setPCMDelay(pcm_delay == -1 ? 0 : pcm_delay);
+
+ std::string config_delay;
+ int config_delay_int = 0;
+ if(ePythonConfigQuery::getConfigValue("config.av.generalAC3delay", config_delay) == 0)
+ config_delay_int = atoi(config_delay.c_str());
+ m_decoder->setAC3Delay(ac3_delay == -1 ? config_delay_int : ac3_delay + config_delay_int);
+
+ if(ePythonConfigQuery::getConfigValue("config.av.generalPCMdelay", config_delay) == 0)
+ config_delay_int = atoi(config_delay.c_str());
+ else
+ config_delay_int = 0;
+ m_decoder->setPCMDelay(pcm_delay == -1 ? config_delay_int : pcm_delay + config_delay_int);
m_decoder->setVideoPID(vpid, vpidtype);
selectAudioStream();
switch (sourceinfo.containertype)
{
case ctMPEGTS:
- demux_type = "flutsdemux";
+ demux_type = "mpegtsdemux";
break;
case ctMPEGPS:
case ctVCD:
- demux_type = "flupsdemux";
+ demux_type = "mpegpsdemux";
break;
case ctMKV:
demux_type = "matroskademux";
case sGenre:
case sVideoType:
case sTimeCreate:
+ case sUser+10:
case sUser+12:
return resIsString;
case sCurrentTitle:
case sGenre:
tag = GST_TAG_GENRE;
break;
+ case sUser+10:
+ tag = GST_TAG_AUDIO_CODEC;
+ break;
case sVideoType:
tag = GST_TAG_VIDEO_CODEC;
break;
source = GST_MESSAGE_SRC(msg);
sourceName = gst_object_get_name(source);
-#if 0
+#if 1
if (gst_message_get_structure(msg))
{
gchar *string = gst_structure_to_string(gst_message_get_structure(msg));
eWarning("Gstreamer error: %s (%i) from %s", err->message, err->code, sourceName );
if ( err->domain == GST_STREAM_ERROR )
{
- if ( err->code == GST_STREAM_ERROR_CODEC_NOT_FOUND && g_strrstr(sourceName, "videosink") )
- m_event((iPlayableService*)this, evUser+11);
+ if ( err->code == GST_STREAM_ERROR_CODEC_NOT_FOUND )
+ {
+ if ( g_strrstr(sourceName, "videosink") )
+ m_event((iPlayableService*)this, evUser+11);
+ else if ( g_strrstr(sourceName, "audiosink") )
+ m_event((iPlayableService*)this, evUser+10);
+ }
else if ( err->code == GST_STREAM_ERROR_FAILED && g_strrstr(sourceName, "file-source") )
{
eWarning("error in tag parsing, linking mp3parse directly to file-sink, bypassing id3demux...");
config.misc.radiopic = ConfigText(default = resolveFilename(SCOPE_SKIN_IMAGE)+"radio.mvi")
config.misc.isNextRecordTimerAfterEventActionAuto = ConfigYesNo(default=False)
+config.misc.useTransponderTime = ConfigYesNo(default=True)
+
+def useTransponderTimeChanged(configElement):
+ enigma.eDVBLocalTimeHandler.getInstance().setUseDVBTime(configElement.value)
+config.misc.useTransponderTime.addNotifier(useTransponderTimeChanged)
profile("Twisted")
try:
self.execEnd(last=False)
def popCurrent(self):
- if len(self.dialog_stack):
+ if self.dialog_stack:
(self.current_dialog, do_show) = self.dialog_stack.pop()
self.execBegin(first=False, do_show=do_show)
else:
return dlg
def open(self, screen, *arguments, **kwargs):
- if len(self.dialog_stack) and not self.in_exec:
+ if self.dialog_stack and not self.in_exec:
raise RuntimeError("modal open are allowed only from a screen which is modal!")
# ...unless it's the very first screen.
self.standby()
def standby(self):
- if not Screens.Standby.inStandby and self.session.current_dialog and self.session.current_dialog.ALLOW_SUSPEND:
+ if not Screens.Standby.inStandby and self.session.current_dialog and self.session.current_dialog.ALLOW_SUSPEND and self.session.in_exec:
self.session.open(Screens.Standby.Standby)
profile("Scart")
CiHandler.setSession(session)
- screensToRun = [ ]
-
- for p in plugins.getPlugins(PluginDescriptor.WHERE_WIZARD):
- screensToRun.append(p.__call__)
+ screensToRun = [ p.__call__ for p in plugins.getPlugins(PluginDescriptor.WHERE_WIZARD) ]
profile("wizards")
screensToRun += wizardManager.getWizards()
screen = screensToRun[0][1]
- if len(screensToRun):
+ if screensToRun:
session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen)
else:
session.open(screen)
runReactor()
profile("wakeup")
- from time import time
- from Tools.DreamboxHardware import setFPWakeuptime, getFPWakeuptime
+ from time import time, strftime, localtime
+ from Tools.DreamboxHardware import setFPWakeuptime, getFPWakeuptime, setRTCtime
#get currentTime
nowTime = time()
wakeupList = [
]
wakeupList.sort()
recordTimerWakeupAuto = False
- if len(wakeupList):
- startTime = wakeupList.pop(0)
+ if wakeupList:
+ from time import strftime
+ startTime = wakeupList[0]
if (startTime[0] - nowTime) < 330: # no time to switch box back on
wptime = nowTime + 30 # so switch back on in 30 seconds
else:
wptime = startTime[0] - 300
+ if not config.misc.useTransponderTime.value:
+ print "dvb time sync disabled... so set RTC now to current linux time!", strftime("%Y/%m/%d %H:%M", localtime(nowTime))
+ setRTCtime(nowTime)
+ print "set wakeup time to", strftime("%Y/%m/%d %H:%M", localtime(wptime))
setFPWakeuptime(wptime)
recordTimerWakeupAuto = startTime[1] == 0 and startTime[2]
config.misc.isNextRecordTimerAfterEventActionAuto.value = recordTimerWakeupAuto
msgstr ""
"Project-Id-Version: Enigma2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2008-11-26 14:22+0100\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-08 13:07+0100\n"
"Last-Translator: Ingmar Jørgensen <dreambox@ingmar.dk>\n"
"Language-Team: jazzydane <dreambox@ingmar.dk>\n"
"MIME-Version: 1.0\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Avancerede indstillinger og opsætning."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Efter tryk på OK, vent venligst!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Lav backup af din Dreambox opsætning."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Rediger kildeadressen til opgradering."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 vil genstarte efter gendannelse"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Online opdatering af din Dreambox software."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Tryk OK på din fjernbetjening for at fortsætte."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Gendan din Dreambox opsætning."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Gendan din Dreambox med ny firmware."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Gendan dine backups efter dato."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Scan efter lokale pakker og installer dem."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Vælg din backup enhed.\n"
+"Nuværende enkhed: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Se, installer og fjern nuværende eller installerede pakker."
msgid " "
msgstr " "
msgstr "Avanceret"
msgid "Advanced Options"
-msgstr ""
+msgstr "Avancerede indstillinger"
msgid "Advanced Video Setup"
msgstr "Avanceret Video Instilling"
msgid "Advanced restore"
-msgstr ""
+msgstr "Avanceret gendannelse"
msgid "After event"
msgstr "Efter film"
msgid "An empty filename is illegal."
msgstr "Et tomt filnavn er ugyldigt."
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Der opstod en ukendt fejl!"
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Er du sikker på, at du vil gendanne\n"
+"følgende backup:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Er du sikker på, at du vil gendanne dit Enigma2 backup?\n"
+"Enigma2 vil genstarte efter gendannelsen"
msgid "Artist"
msgstr "Kunstner"
msgstr "Kopi Type"
msgid "Backup done."
-msgstr ""
+msgstr "Backup gennemført."
msgid "Backup failed."
-msgstr ""
+msgstr "Backup mislykkedes."
msgid "Backup is done. Please press OK to see the result."
msgstr "Kopien er færdig. Tryk OK for at se resultat."
msgid "Backup running"
-msgstr ""
+msgstr "Backup kører"
msgid "Backup running..."
-msgstr ""
+msgstr "Backup kører..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Lav backup af systemindstillinger"
msgid "Band"
msgstr "Bånd"
msgstr "Kanal Vælger"
msgid "Channel not in services list"
-msgstr ""
+msgstr "Kanalen er ikke kanal oplistningen"
msgid "Channel:"
msgstr "Kanal:"
msgstr "Vælg Tuner"
msgid "Choose backup files"
-msgstr ""
+msgstr "Vælg backup filer"
msgid "Choose backup location"
-msgstr ""
+msgstr "Vælg backup placering"
msgid "Choose bouquet"
msgstr "Vælg pakke"
msgstr "Vælg folder du vil bruge"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Vælg kilde for opgradering"
msgid "Choose your Skin"
msgstr "Vælg dit Skin"
msgid "Circular left"
-msgstr ""
+msgstr "Venstre-cirkulær"
msgid "Circular right"
-msgstr ""
+msgstr "Højre-cirkulær"
msgid "Cleanup"
msgstr "Oprydning"
msgid "Common Interface"
msgstr "CA Modul"
+msgid "Common Interface Assignment"
+msgstr ""
+
msgid "Compact Flash"
msgstr "Kompakt Flash"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Kompleks (tillader blanding af lydspor og billedformater)"
+msgid "Config"
+msgstr ""
+
msgid "Configuration Mode"
msgstr "Konfigurations Type"
#, python-format
msgid "Couldn't record due to conflicting timer %s"
-msgstr ""
+msgstr "Kan ikke optage på grund af konfliktende timere %s"
msgid "Create DVD-ISO"
msgstr "Opret DVD-ISO"
msgstr "Beskrivelse"
msgid "Deselect"
-msgstr ""
+msgstr "Fravælg"
msgid "Destination directory"
msgstr "Destinations mappe"
msgstr "Vis 4:3 indhold som"
msgid "Display >16:9 content as"
-msgstr ""
+msgstr "Vis > 16:9 indhold som"
msgid "Display Setup"
msgstr "Display Indstillinger"
msgstr "Vil du installere standard satellit lister?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Vil du installere pakken:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Vil du afspille DVD i drevet?"
msgstr "Vil du gennemse denne DVD inden brænding?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Vil du genstarte din Dreambox?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Vil du fjerne pakken:\n"
msgid "Do you want to restore your settings?"
msgstr "Vil du genskabe dine indstillinger?"
msgstr "Vil du genoptage denne afspilning?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Vil du opdatere din Dreambox?"
msgid ""
"Do you want to update your Dreambox?\n"
"Efter tryk på OK, vent venligst!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Vil du opgradere pakken:\n"
msgid "Do you want to view a tutorial?"
msgstr "Vil du se en oversigt?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
-msgstr ""
+msgstr "Færdig - Installeret, opgraferet eller fjernet %d pakker med %d fejl"
msgid "Download"
msgstr "Download"
msgid "Edit DNS"
msgstr "Ændre DNS"
+msgid "Edit IPKG source URL..."
+msgstr ""
+
msgid "Edit Title"
msgstr "Rediger titel"
msgid "Gateway"
msgstr "Router Adresse"
+msgid "General AC3 Delay"
+msgstr ""
+
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
msgid "Genre"
msgstr "Genre"
msgid "Hierarchy mode"
msgstr "Hieraki type"
-msgid "Horizontal"
+msgid "High bitrate support"
msgstr ""
+msgid "Horizontal"
+msgstr "Horisontal"
+
msgid "How many minutes do you want to record?"
msgstr "Hvor mange minutter vil du optage?"
msgstr "Indgang"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Installer et nyt image med en USB stick"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Installer et nyt image med din web browser"
msgid "Install local IPKG"
+msgstr "Installer lokal IPKG"
+
+msgid "Install settings, skins, software..."
+msgstr ""
+
+msgid "Install software updates..."
msgstr ""
msgid "Installing"
msgstr "Inverter display"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Italiensk"
msgstr "Breddegrad"
msgid "Latvian"
-msgstr ""
+msgstr "Lettisk"
msgid "Leave DVD Player?"
msgstr "Forlade DVD Afspiller?"
msgid "Left"
msgstr "Venstre"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr ""
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Sorte striber i top og bund af billede"
msgstr "Lås:"
msgid "Log results to harddisk"
-msgstr ""
+msgstr "Log resultaterne til harddisken"
msgid "Long Keypress"
msgstr "Langt Tastetryk"
msgstr "Lave dette mærke til kun et mærke"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Styring af din modtagers software"
msgid "Manual Scan"
msgstr "Manuel Søgning"
msgstr "Manuel transponder"
msgid "Manufacturer"
-msgstr ""
+msgstr "Fabrikant"
msgid "Margin after record"
msgstr "Margin efter optagelse"
msgstr "Besked"
msgid "Message..."
-msgstr ""
+msgstr "Besked..."
msgid "Mkfs failed"
msgstr "Mkfs fejlede"
msgid "No details for this image file"
msgstr "Ingen detaljer for denne image fil"
+msgid "No displayable files on this medium found!"
+msgstr ""
+
msgid "No event info found, recording indefinitely."
msgstr "Ingen Program-Data fundet, optagelse startet."
msgstr "Pakke kontrol"
msgid "Packet manager"
-msgstr ""
+msgstr "Pakkestyring"
msgid "Page"
msgstr "Side"
msgid "Play Audio-CD..."
msgstr "Afspil Lyd-CD"
+msgid "Play DVD"
+msgstr ""
+
+msgid "Play Music..."
+msgstr ""
+
msgid "Play recorded movies..."
msgstr "Afspil optagede film..."
msgstr "Vælg venligst en underkanal..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Vælg venligst medie der skal benyttes som backup placering"
msgid "Please select tag to filter..."
msgstr "Vælg venligst tag til filtrering..."
msgstr "Vent venligt på aktivering af din netværks opsætning..."
msgid "Please wait while scanning is in progress..."
-msgstr ""
+msgstr "Vent venligst mens scanningsprocessen er i gang...."
msgid "Please wait while we configure your network..."
msgstr "Vent venligts, mens vi opsætter dit netværk..."
#, python-format
msgid "Press OK to get further details for %s"
-msgstr ""
+msgstr "Tryk på OK for at se yderligere detaljer for %s"
msgid "Press OK to scan"
msgstr "Tryk OK for at søge"
msgstr "Primær DNS"
msgid "Priority"
-msgstr ""
+msgstr "Prioritet"
msgid "Properties of current title"
msgstr "Egenskaber for den aktuelle titel"
msgid "Providers"
msgstr "Udbydere"
-msgid "Quick"
+msgid "Python frontend for /tmp/mmi.socket"
msgstr ""
+msgid "Quick"
+msgstr "Kvik"
+
msgid "Quickzap"
msgstr "Hurtigskift"
msgstr "Ram Disk"
msgid "Random"
-msgstr ""
+msgstr "Tilfældig"
msgid "Really close without saving settings?"
msgstr "Vil du virkelig lukke uden at gemme indstillinger?"
#, python-format
msgid "Record time limited due to conflicting timer %s"
-msgstr ""
+msgstr "Optagelsestid begrænset på grund af konfliktende timer %s"
msgid "Recorded files..."
msgstr "Optagede filer..."
msgstr "Opdaterings Rate vælger."
msgid "Reload"
-msgstr ""
+msgstr "Genindlæs"
msgid "Remove Bookmark"
msgstr "Fjern bogmærke"
msgstr "Fjerne nuværende valgte titel"
msgid "Remove finished."
-msgstr ""
+msgstr "Sletning afsluttet"
msgid "Remove plugins"
msgstr "Fjerne plugins"
msgstr "Fjern den ukomplette .NFI fil?"
msgid "Remove timer"
-msgstr ""
+msgstr "Fjern timer"
msgid "Remove title"
msgstr "Fjerne titel"
msgid "Removing"
-msgstr ""
+msgstr "Sletter"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
msgstr "Gendanne"
msgid "Restore backups..."
-msgstr ""
+msgstr "Gendan backup..."
msgid "Restore running"
-msgstr ""
+msgstr "Gendanelse afvikles"
msgid "Restore running..."
-msgstr ""
+msgstr "Gendanelse afvikles..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Gendan system opsætning"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
msgid "Scan "
msgstr "Søgning"
+msgid "Scan Files..."
+msgstr ""
+
msgid "Scan QAM128"
msgstr "Søge QAM128"
msgstr "Søg"
msgid "Select"
-msgstr ""
+msgstr "Vælg"
msgid "Select HDD"
msgstr "Vælg Filsystem"
+msgid "Select IPKG source to edit..."
+msgstr ""
+
msgid "Select Location"
msgstr "Vælg Lokation"
msgstr "Vælg optagekanal"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Vælg filer til backup. Nuværende valgte:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Vælg filer/mapper til backup..."
msgid "Select image"
msgstr "Vælg image"
msgid "Select video input"
msgstr "Vælg video indgang"
+msgid "Select video input with up/down buttons"
+msgstr ""
+
msgid "Select video mode"
msgstr "Vælg video type"
msgstr "Langsom bevægelse hastigheder"
msgid "Software manager"
-msgstr ""
+msgstr "Software styring"
msgid "Software manager..."
-msgstr ""
+msgstr "Software styring..."
msgid "Software restore"
-msgstr ""
+msgstr "Software gendannelse"
msgid "Software update"
-msgstr ""
+msgstr "Software opdatering"
msgid "Some plugins are not available:\n"
msgstr "Nogle plugins er ikke tilstede:\n"
msgstr "Andet steds"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Desværre, MediaScanner er ikke installeret!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Beklager, ingen backup fundet!"
msgid ""
"Sorry your Backup destination does not exist\n"
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Din placering af backup er desværre ikke skrivbar.\n"
+"Vælg venligst en anden."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Din placering af backup er desværre ikke skrivbar.\n"
+"\n"
+"Vælg venligst en anden."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
msgstr "Stoppe test"
msgid "Stop testing plane after # failed transponders"
-msgstr ""
+msgstr "Stop afprøvning af flade efter # fejlende transpondere"
msgid "Stop testing plane after # successful transponders"
-msgstr ""
+msgstr "Stop afprøvning af flade efter # fungerende transpondere"
msgid "Store position"
msgstr "Gemme Position"
msgstr "DVB T udbyder"
msgid "Test DiSEqC settings"
-msgstr ""
+msgstr "Afprøv DiSEqC indstillinger"
msgid "Test Type"
-msgstr ""
+msgstr "Afprøv type"
msgid "Test mode"
msgstr "Test type"
"\n"
"Vil du skrive USB flash til denne stick?"
+msgid "The following files were found..."
+msgstr ""
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
#, python-format
msgid "The results have been written to %s."
-msgstr ""
+msgstr "Resultaterne skal skrives til %s."
msgid "The sleep timer has been activated."
msgstr "Sleep timeren er blevet aktiveret."
"Der kan være for lidt plads på den valgte Partition.\n"
"Vil du virkelig fortsætte?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr ""
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "Denne .NFI fil indehodler ikke et gyldigt %s image!"
"Denne DVD RW er allerede formatteret - reformattering vil slette alt indhold "
"på disken."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr ""
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Denne Dreambox kan ikke afkode %s video strams!"
msgid "Try to find used transponders in cable network.. please wait..."
msgstr "Prøver at finde transpondere i kabel netværk.. vent venligst..."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr ""
+
msgid "Tue"
msgstr "Tir"
msgstr "To"
msgid "Type"
-msgstr ""
+msgstr "Type"
msgid "Type of scan"
msgstr "Søge type"
msgstr "Ukommiteret DiSEqC kommando"
msgid "Unicable"
-msgstr ""
+msgstr "Unikabel"
msgid "Unicable LNB"
-msgstr ""
+msgstr "Unikabel LNB"
msgid "Unicable Martix"
-msgstr ""
+msgstr "Unikabel matrix"
msgid "Universal LNB"
msgstr "Universal LNB"
msgstr "Opdaterer... Vent venligst... Dette kan tage adskillige minutter..."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Opgradering afsluttet"
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr "Opgradering færdig. Vil du Genstarte din DreamBox?"
msgstr "VMGM (intro trailer)"
msgid "Vertical"
-msgstr ""
+msgstr "Vertikal"
msgid "Video Fine-Tuning"
msgstr "Video Fin-Justering..."
msgid "Video mode selection."
msgstr "Video type vælger."
+msgid "View Movies..."
+msgstr ""
+
+msgid "View Photos..."
+msgstr ""
+
msgid "View Rass interactive..."
msgstr "Se Rass interaktivi..."
+msgid "View Video CD..."
+msgstr ""
+
msgid "View teletext..."
msgstr "Se teletekst..."
"\n"
"Really do a factory reset?"
msgstr ""
+"Når du anvender fabrik gendannelse mister du ALLE dine indstillingsdata\n"
+"(Inclusive buketter, kanallister, satellit data ...)\n"
+"Efter afsluttet fabriksgendannelse genstartes DeamBoxen automatisk!\n"
+"\n"
+"Udfør fabriks gendannelse?"
msgid "Where do you want to backup your settings?"
msgstr "Hvor vil du lave en kopi af dine indstillinger?"
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Du hae valgt dine backup indstillinger. Tryk venligst på OK for at starte "
+"backuppen nu"
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"Du har valgt at gendanne dine indstillinger. Enigma2 vil genstarte efter "
+"gendannelsen. Tryk venligst på OK for at starte gendannelsen nu."
#, python-format
msgid "You have to wait %s!"
"Din backup er lykkedes. Vi vil nu forsætte forklaringen på opdaterings "
"processen."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Din Dreambox slukker nu. Vent venligst..."
msgid "[move mode]"
msgstr "[Flytte type]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr ""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
msgid "abort alternatives edit"
msgstr "Afbryd alternativ redigering"
msgid "activate current configuration"
msgstr "aktiver den aktuelle opsætning"
+msgid "add Provider"
+msgstr ""
+
+msgid "add Service"
+msgstr ""
+
msgid "add a nameserver entry"
msgstr "tilføj en navneserver angivelse"
"Er du sikker på at du vil gendanne\n"
"følgende backup:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
msgstr "lydspor (%s) format"
msgstr "lyd spor"
msgid "auto"
-msgstr ""
+msgstr "auto"
msgid "back"
msgstr "Tilbage"
msgid "day"
msgstr "dag"
+msgid "delete"
+msgstr "Slet"
+
msgid "delete cut"
msgstr "Slet klip"
msgid "init module"
msgstr "Initialiser modul"
+msgid "init modules"
+msgstr ""
+
msgid "insert mark here"
msgstr "Indsæt mærke her"
msgid "no"
msgstr "Nej"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "Ingen HDD fundet"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "Ingen modul fundet"
msgstr "Ikke låst"
msgid "not used"
-msgstr ""
+msgstr "ikke anvendt"
msgid "nothing connected"
msgstr "Intet tilsluttet"
msgid "select .NFI flash file"
msgstr "vælg .NFI flash fil"
+msgid "select CAId"
+msgstr ""
+
msgid "select image from server"
msgstr "vælg image fra server"
msgstr "Skift til spilleliste"
msgid "switch to the next angle"
-msgstr ""
+msgstr "skift til næste vinkel"
msgid "switch to the next audio track"
msgstr "Skift til næste lyd spor"
msgstr "Skift til næste undertekst sprog"
msgid "template file"
-msgstr ""
+msgstr "skabelon fil"
msgid "textcolor"
msgstr "tekstfarve"
msgstr "Hvidliste"
msgid "working"
-msgstr ""
+msgstr "fungerer"
msgid "yellow"
msgstr "gul"
msgid "zapped"
msgstr "Zappet"
-#~ msgid ""
-#~ "\n"
-#~ "Enigma2 will restart after the restore"
-#~ msgstr ""
-#~ "\n"
-#~ "Enigma2 vil genstarte efter gendannelse"
-
#~ msgid "\"?"
#~ msgstr "\"?"
#~ msgid "An error has occured. (%s)"
#~ msgstr "En fejl er opstået. (%s)"
+#~ msgid "An error occured!"
+#~ msgstr "Der opstod en fejl!"
+
#~ msgid ""
#~ "Are you sure you want to enable WLAN support?\n"
#~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n"
#~ msgid "color"
#~ msgstr "farve"
-#~ msgid "delete"
-#~ msgstr "Slet"
-
#~ msgid "equal to Socket A"
#~ msgstr "Som Tuner A"
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
+"POT-Creation-Date: 2009-02-26 14:15+0100\n"
"PO-Revision-Date: 2008-11-18 13:00+0100\n"
"Last-Translator: Andreas Frisch <andreas.frisch@multimedia-labs.de>\n"
"Language-Team: none\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Erweiterte Optionen und Einstellungen."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Nach dem Sie OK gedrückt haben, bitte warten!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Sichern Ihrer Dreambox Einstellungen."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Upgrade Quell-Adresse bearbeiten."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 wird nach der Wiederherstellung neu starten"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Online update Ihrer Dreambox Software."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Drücken Sie OK um fortzufahren."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Wiederherstellen Ihrer Dreambox Einstellungen."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Wiederherstellen Ihrer Dreambox mit einer neuen Firmware."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Wiederherstellen Ihrer nach Datum sortierten Sicherungen."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Suche nach lokalen Paketen und installiere sie."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Wählen Sie ihr Sicherungs-Laufwerk.\n"
+"Aktuelles Laufwerk: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Anzeigen, Installieren und Entfernen verfügbarer oder installierter Pakete."
msgid " "
msgstr ""
msgstr "* Verfügbar für die Eingabe der Netzwerk SSID oder Passwortes"
msgid ".NFI Download failed:"
-msgstr ""
+msgstr ".NFI Download fehlgeschlagen:"
msgid ""
".NFI file passed md5sum signature check. You can safely flash this image!"
msgstr ""
+"Die Signatur-Überprüfung der .NFI-Datei war erfolgreich. Sie können diese "
+"Datei ohne Bedenken installieren!"
msgid "/usr/share/enigma2 directory"
msgstr "/usr/share/enigma2 Verzeichnis"
msgstr "Erweitert"
msgid "Advanced Options"
-msgstr ""
+msgstr "Erweiterte Optionen"
msgid "Advanced Video Setup"
msgstr "Erweiterte Video-Einstellungen"
msgid "Advanced restore"
-msgstr ""
+msgstr "Erweiterte Wiederherstellung"
msgid "After event"
msgstr "Nach dem Ereignis"
msgstr "Alle"
msgid "All Satellites"
-msgstr ""
+msgstr "Alle Satelliten"
msgid "Alpha"
msgstr "Transparenz"
msgid "An empty filename is illegal."
msgstr "Leerer Dateiname nicht erlaubt."
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Es ist ein unbekannter Fehler aufgetreten!"
"Are you sure you want to activate this network configuration?\n"
"\n"
msgstr ""
-"Sind Sie sicher, das diese Netzwerkkonfiguration aktiviert werden soll?\n"
+"Sind Sie sicher, dass diese Netzwerkkonfiguration aktiviert werden soll?\n"
"\n"
msgid ""
msgstr "Sicherungs-Modus"
msgid "Backup done."
-msgstr ""
+msgstr "Sicherung durchgeführt."
msgid "Backup failed."
-msgstr ""
+msgstr "Sicherung fehlgeschlagen."
msgid "Backup is done. Please press OK to see the result."
msgstr ""
"Sicherung wurde durchgeführt. Bitte drücken Sie OK, um das Ergebnis zu sehen."
msgid "Backup running"
-msgstr ""
+msgstr "Sicherung läuft"
msgid "Backup running..."
-msgstr ""
+msgstr "Sicherung läuft..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Systemeinstellungen sichern"
msgid "Band"
msgstr "Band"
msgstr "Kanalliste"
msgid "Channel not in services list"
-msgstr ""
+msgstr "Kanal nicht in der Kanalliste"
msgid "Channel:"
msgstr "Kanal:"
msgstr "Tuner wählen"
msgid "Choose backup files"
-msgstr ""
+msgstr "Wähle zu sichernde Dateien"
msgid "Choose backup location"
-msgstr ""
+msgstr "Wähle Sicherungsort"
msgid "Choose bouquet"
msgstr "Bouquet wählen"
msgstr "Zielverzeichnis wählen"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Wähle Upgrade-Quelle"
msgid "Choose your Skin"
msgstr "Wähle das Aussehen der Bedienoberfläche"
msgstr "In Konflikt stehender Timer"
msgid "Connected to"
-msgstr ""
+msgstr "Verbunden mit"
msgid "Connected to Fritz!Box!"
msgstr "Mit Fritz!Box verbunden!"
msgid "Could not connect to Dreambox .NFI Image Feed Server:"
msgstr ""
+"Verbindung zum Dreambox .NFI Image Feed Server konnte nicht hergestellt "
+"werden:"
msgid "Could not load Medium! No disc inserted?"
msgstr "Konnte das Medium nicht laden! Keine DVD eingelegt?"
#, python-format
msgid "Couldn't record due to conflicting timer %s"
-msgstr ""
+msgstr "Aufnahme wegen in Konflikt stehenedem timer %s fehlgeschlagen"
msgid "Create DVD-ISO"
msgstr "DVD-ISO erstellen"
#, python-format
msgid "Creating directory %s failed."
-msgstr ""
+msgstr "Erzeugen des Verzeichnisses %s fehlgeschlagen."
msgid "Creating partition failed"
msgstr "Partitionserzeugung fehlgeschlagen"
msgstr "Beschreibung"
msgid "Deselect"
-msgstr ""
+msgstr "Markierung aufheben"
msgid "Destination directory"
msgstr "Zielverzeichnis"
#, python-format
msgid "Directory %s nonexistent."
-msgstr ""
+msgstr "Verzeichnis %s existiert nicht."
msgid "Disable"
msgstr "Aus"
msgstr "4:3-Inhalt anzeigen als"
msgid "Display >16:9 content as"
-msgstr ""
+msgstr ">16:9-Inhalt anzeigen als"
msgid "Display Setup"
msgstr "Display-Einstellungen"
msgid ""
"Do you really want to REMOVE\n"
"the plugin \"%s\"?"
-msgstr ""
+msgstr "Wollen Sie das plugin \"%s\" wirklich entfernen?"
msgid ""
"Do you really want to check the filesystem?\n"
"This could take lots of time!"
msgstr ""
-"Möchten Sie wirklich das Dateisystem überprüfen?\n"
+"Möchten Sie das Dateisystem wirklich überprüfen?\n"
"Die Überprüfung könnte einige Zeit in Anspruch nehmen."
#, python-format
msgid ""
"Do you really want to download\n"
"the plugin \"%s\"?"
-msgstr ""
+msgstr "Wollen Sie das plugin \"%s\" wirklich herunterladen?"
msgid ""
"Do you really want to initialize the harddisk?\n"
#, python-format
msgid "Do you really want to remove directory %s from the disk?"
-msgstr ""
+msgstr "Wollen Sie das Verzeichnis %s wirklich von der Festplatte löschen?"
#, python-format
msgid "Do you really want to remove your bookmark of %s?"
-msgstr ""
+msgstr "Wollen Sie Ihren Bookmark %s wirklich löschen?"
msgid ""
"Do you want to backup now?\n"
msgstr "Wollen Sie nun Standardkanallisten installieren?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Wollen Sie das Paket installieren:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Wollen Sie die DVD im Laufwerk abspielen?"
msgstr "Wollen Sie vor dem Brennen eine Vorschau der DVD ansehen?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Wollen Sie die Dreambox neu starten?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Wollen Sie das Paket entfernen:\n"
msgid "Do you want to restore your settings?"
msgstr "Wollen Sie die Einstellungen wiederherstellen?"
msgstr "Möchten Sie die Wiedergabe an der letzten Stelle fortsetzen?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Wollen Sie Ihre Dreambox aktualisieren?"
msgid ""
"Do you want to update your Dreambox?\n"
"Nach dem Druck auf OK bitte warten!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Wollen Sie das Paket aktualisieren:\n"
msgid "Do you want to view a tutorial?"
msgstr "Wollen Sie ein Tutorial sehen?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
msgstr ""
+"Beendet - %d Pakete mit %d Fehlern installiert, aktualisiert oder entfernt"
msgid "Download"
msgstr "Herunterladen"
msgid "Download .NFI-Files for USB-Flasher"
-msgstr ""
+msgstr ".NFI-Files für USB-Flasher runterladen"
msgid "Download Plugins"
msgstr "Plugins herunterladen"
msgid "Download of USB flasher boot image failed: "
-msgstr ""
+msgstr "Herunterladen des USB flasher boot image fehlgeschlagen: "
msgid "Downloadable new plugins"
msgstr "Herunterladbare neue Plugins"
msgid "Edit DNS"
msgstr "Bearbeite DNS"
+msgid "Edit IPKG source URL..."
+msgstr ""
+
msgid "Edit Title"
msgstr "Titel schneiden"
msgstr "Anfängliche Rücklaufgeschwindigkeit eingeben"
msgid "Enter WLAN network name/SSID:"
-msgstr ""
+msgstr "WLAN Netzwerkname/SSID eingeben:"
msgid "Enter WLAN passphrase/key:"
msgstr "WLAN Schlüssel/Passwort eingeben:"
msgstr "Fehler"
msgid "Error executing plugin"
-msgstr ""
+msgstr "Ausführen des plugins fehlgeschlagen"
#, python-format
msgid ""
msgstr ""
msgid "Flashing failed"
-msgstr ""
+msgstr "Flashen fehlgeschlagen"
msgid "Format"
msgstr "Formatieren"
msgstr "Freitag"
msgid "Frisian"
-msgstr ""
+msgstr "Friesisch"
msgid "Fritz!Box FON IP address"
msgstr "Fritz!Box FON IP-Adresse"
msgid "Hierarchy mode"
msgstr "Hierarchiemodus"
+msgid "High bitrate support"
+msgstr "Kann hohe Datenraten verarbeiten"
+
msgid "Horizontal"
msgstr ""
msgstr "Eingabe"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Neues Image mittels USB Stick installieren"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Neues Image mittels Webbrowser installieren"
msgid "Install local IPKG"
+msgstr ".ipk Datei installieren"
+
+msgid "Install settings, skins, software..."
+msgstr ""
+
+msgid "Install software updates..."
msgstr ""
msgid "Installing"
#, python-format
msgid "Invalid directory selected: %s"
-msgstr ""
+msgstr "Ungültiges Verzeichnis ausgewählt: %s"
msgid "Inversion"
msgstr "Inversion"
msgid "Left"
msgstr "Links"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr ""
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr ""
msgstr "Aus dieser Markierung nur eine Markierung machen"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Verwalten Sie die Software Ihrer Dreambox."
msgid "Manual Scan"
msgstr "Manuelle Suche"
msgstr "Manueller Transponder"
msgid "Manufacturer"
-msgstr ""
+msgstr "Hersteller"
msgid "Margin after record"
msgstr "Nachlauf hinter Aufnahme"
msgstr "Nachricht"
msgid "Message..."
-msgstr ""
+msgstr "Nachricht..."
msgid "Mkfs failed"
msgstr "Mkfs fehlgeschlagen"
msgid "NFI image flashing completed. Press Yellow to Reboot!"
msgstr ""
+"NFI Image flashen beendet.\n"
+"Drücken Sie gelb um die Dreambox neu zu starten!"
msgid "NOW"
msgstr "JETZT"
"Festplatte nicht initialisiert."
msgid "No Networks found"
-msgstr ""
+msgstr "Keine Netzwerke gefunden"
msgid "No backup needed"
msgstr "Keine Sicherung benötigt"
"(Zeit lief beim Lesen der PAT ab)"
msgid "No details for this image file"
+msgstr "Keine Details zum Image verfügbar"
+
+msgid "No displayable files on this medium found!"
msgstr ""
msgid "No event info found, recording indefinitely."
"Not enough diskspace. Please free up some diskspace and try again. (%d MB "
"required, %d MB available)"
msgstr ""
+"Nicht genügend freier Speicherplatz. Bitte löschen Sie nicht mehr benötigte "
+"Dateien und versuchen es erneut. (%d MB benötigt, %d MB verfügbar)"
msgid ""
"Nothing to scan!\n"
msgstr "PiP-Einstellung"
msgid "PicturePlayer"
-msgstr ""
+msgstr "Bildbetrachter"
#. TRANSLATORS: (aspect ratio policy: black bars on left/right) in doubt, keep english term.
msgid "Pillarbox"
msgid "Play Audio-CD..."
msgstr "Audio-CD abspielen"
+msgid "Play DVD"
+msgstr ""
+
+msgid "Play Music..."
+msgstr ""
+
msgid "Play recorded movies..."
msgstr "Aufgenommene Filme abspielen..."
msgid "Please choose .NFI image file from feed server to download"
msgstr ""
+"Bitte wählen Sie eine .NFI Image Datei zum Herunterladen vom Feed-Server"
msgid "Please choose an extension..."
msgstr "Bitte eine Erweiterung auswählen..."
msgstr "Bitte einen Dateinamen eingeben (leer = Dateiname ist aktuelles Datum)"
msgid "Please enter name of the new directory"
-msgstr ""
+msgstr "Bitte den Namen des neuen Verzeichnisses eingeben"
msgid "Please enter the correct pin code"
msgstr "Bitte den korrekten Pincode eingeben"
msgstr "Bitte OK drücken"
msgid "Please select .NFI flash image file from medium"
-msgstr ""
+msgstr "Bitte wählen Sie eine .NFI flash image Datei vom Datenträger"
msgid "Please select a playlist to delete..."
msgstr "Bitte wählen Sie eine Wiedergabeliste zum Löschen..."
msgstr "Bitte einen Unterkanal auswählen..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Bitte wählen Sie einen Datenträger für eine Sicherung"
msgid "Please select tag to filter..."
msgstr ""
msgid "Please select target directory or medium"
-msgstr ""
+msgstr "Bitte wählen Sie ein Ziel-Verzeichnis bzw. Datenträger"
msgid "Please select the movie path..."
msgstr "Bitte den Filmpfad angeben..."
msgstr "Bitte warten während die Netzwerkkonfiguration aktiviert wird..."
msgid "Please wait while scanning is in progress..."
-msgstr ""
+msgstr "Bitte warten während des Suchvorgangs..."
msgid "Please wait while we configure your network..."
msgstr "Bitte warten während das Netzwerk konfiguriert wird..."
msgstr "OK drücken zum Aktivieren."
msgid "Press OK to edit the settings."
-msgstr ""
+msgstr "Drücken Sie OK um die Einstellungen zu bearbeiten"
#, python-format
msgid "Press OK to get further details for %s"
-msgstr ""
+msgstr "Drücken Sie OK um weitere Details zu %s zu erhalten"
msgid "Press OK to scan"
msgstr "Zum Starten der Suche OK drücken."
msgstr "Primärer DNS"
msgid "Priority"
-msgstr ""
+msgstr "Priorität"
msgid "Properties of current title"
msgstr "Eigenschaften des ausgewählten Titels"
msgid "Providers"
msgstr "Anbieter"
-msgid "Quick"
+msgid "Python frontend for /tmp/mmi.socket"
msgstr ""
+msgid "Quick"
+msgstr "Schnell"
+
msgid "Quickzap"
msgstr "Schnellumschalter"
msgstr "Ramdisk"
msgid "Random"
-msgstr ""
+msgstr "zufällig"
msgid "Really close without saving settings?"
msgstr "Änderungen gehen verloren. Wirklich schließen?"
msgstr "Wollen Sie trotzdem ausschalten?"
msgid "Reboot"
-msgstr ""
+msgstr "Neustart"
msgid "Reception Settings"
msgstr "Empfangseinstellungen"
#, python-format
msgid "Record time limited due to conflicting timer %s"
-msgstr ""
+msgstr "Aufnahmezeit aufgrund des in Konflikt stehenden Timers %s begrenzt"
msgid "Recorded files..."
msgstr "Aufgenommene Dateien..."
msgstr "Auswahl der Bildwiederholungsrate."
msgid "Reload"
-msgstr ""
+msgstr "aktualisieren"
msgid "Remove Bookmark"
msgstr "Bookmark entfernen"
msgstr "entferne aktuell ausgewählten Titel"
msgid "Remove finished."
-msgstr ""
+msgstr "Entfernen abgeschlossen."
msgid "Remove plugins"
msgstr "Plugins entfernen"
msgstr "entferne inkomplette .NFI Datei?"
msgid "Remove timer"
-msgstr ""
+msgstr "Entferne Timer"
msgid "Remove title"
msgstr "Titel entfernen"
msgid "Removing"
-msgstr ""
+msgstr "Entfernen"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
-msgstr ""
+msgstr "Entfernen des Verzeichnisses %s fehlgeschlagen. (nicht leer?)"
msgid "Rename"
msgstr "Umbenennen"
msgstr "Zurückspielen"
msgid "Restore backups..."
-msgstr ""
+msgstr "Sicherungen wiederherstellen"
msgid "Restore running"
-msgstr ""
+msgstr "Sicherung läuft"
msgid "Restore running..."
-msgstr ""
+msgstr "Sicherung läuft..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Systemeinstellungen wiederherstellen"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
msgid "Scan "
msgstr "Suche "
+msgid "Scan Files..."
+msgstr ""
+
msgid "Scan QAM128"
msgstr "Durchsuche QAM128"
msgid "Select HDD"
msgstr "Festplattenauswahl"
+msgid "Select IPKG source to edit..."
+msgstr ""
+
msgid "Select Location"
msgstr "Lokation auswählen"
msgstr "Kanal auswählen, von dem aufgenommen werden soll"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Zu sichernde Dateien auswählen. Aktuell gewählt:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Dateien/Verzeichnisse zum Sichern auswählen..."
msgid "Select image"
msgstr "Wähle Image"
msgid "Select video input"
msgstr "Wähle Video-Eingang"
+msgid "Select video input with up/down buttons"
+msgstr ""
+
msgid "Select video mode"
msgstr "Wähle Video-Modus"
msgstr "Zeige Infos"
msgid "Show WLAN Status"
-msgstr "Zeige WLAN Status"
+msgstr "Zeige WLAN-Status"
msgid "Show blinking clock in display during recording"
msgstr "Blinkende Uhr im Display während Aufnahmen"
msgstr "Andere Stelle"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Entschuldigung, der MediaScanner ist nicht installiert!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Entschuldigung, keine Sicherungen gefunden!"
msgid ""
"Sorry your Backup destination does not exist\n"
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Entschuldigung, Ihr Sicherungsverzeichnis ist nicht beschreibbar.\n"
+"Bitte wählen Sie ein anderes."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Entschuldigung, Ihr Sicherungsverzeichnis ist nicht beschreibbar.\n"
+"\n"
+"Bitte wählen Sie ein anderes."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
msgstr "Region"
msgid "Test DiSEqC settings"
-msgstr ""
+msgstr "Teste DiSEqC Einstellungen"
msgid "Test Type"
-msgstr ""
+msgstr "Testtyp"
msgid "Test mode"
msgstr "Testmodus"
"\n"
"Soll der USB-Flasher auf diesen Stick installiert werden?"
+msgid "The following files were found..."
+msgstr ""
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
#, python-format
msgid "The path %s already exists."
-msgstr ""
+msgstr "Der Pfad %s existiert bereits."
msgid "The pin code has been changed successfully."
msgstr "Der Pincode wurde erfolgreich geändert."
#, python-format
msgid "The results have been written to %s."
-msgstr ""
+msgstr "Die Ergebnisse des Tests wurden in der Datei %s gespeichert."
msgid "The sleep timer has been activated."
msgstr "Der Ausschalt-Timer wurde aktiviert"
"The wireless LAN plugin is not installed!\n"
"Please install it."
msgstr ""
+"das Wireless LAN plugin ist nicht installiert!\n"
+"Bitte installieren Sie es."
msgid ""
"The wizard can backup your current settings. Do you want to do a backup now?"
"der gewählten Partition vorhanden ist.\n"
"Wollen Sie wirklich fortfahren?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr ""
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr ""
"This .NFI file does not have a md5sum signature and is not guaranteed to "
"work. Do you really want to burn this image to flash memory?"
msgstr ""
+"Diese .NFI Datei besitzt keine md5sum Signatur und es kann nicht "
+"sichergestellt werden, dass sie funktioniert.Wollen Sie die Datei trotzdem "
+"in den Flash-Speicher schreiben?"
msgid ""
"This .NFI file has a valid md5 signature. Continue programming this image to "
"flash memory?"
msgstr ""
+"Diese .NFI Datei besitzt eine gültige md5 Signatur. Wollen Sie mit dem "
+"Beschreiben des Flash-Speichers fortfahren?"
msgid ""
"This DVD RW medium is already formatted - reformatting will erase all "
"Dieses wiederbeschreibbare Medium ist bereits formatiert - durch eine "
"Neuformatierung wird der gesamte Inhalt gelöscht"
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr ""
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Diese Dreambox kann keine Videos vom Typ %s wiedergeben!"
msgstr "Timeshift nicht möglich!"
msgid "Timeshift path..."
-msgstr ""
+msgstr "Timeshift Verzeichnis..."
msgid "Timezone"
msgstr "Zeitzone"
msgid "Try to find used transponders in cable network.. please wait..."
msgstr "Suche benutzte Transponder im Kabel Netzwerk.. bitte warten..."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr ""
+
msgid "Tue"
msgstr "Di"
msgstr "Zwei"
msgid "Type"
-msgstr ""
+msgstr "Typ"
msgid "Type of scan"
msgstr "Art der Suche"
msgstr "USB-Stick"
msgid "USB stick wizard"
-msgstr ""
+msgstr "USB Stick Assistent"
msgid "Ukrainian"
msgstr ""
"dauern."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Upgrade beendet."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr "Aktualisierung beendet. Möchten Sie Ihre Dreambox nun neu starten?"
msgstr "Adresse automatisch beziehen (DHCP)"
msgid "Use Interface"
-msgstr "Netwerkadapter aktivieren"
+msgstr "Netzwerkadapter aktivieren"
msgid "Use Power Measurement"
msgstr "Verwende Stromaufnahmen-Messung"
msgstr ""
msgid "Vertical"
-msgstr ""
+msgstr "Vertikal"
msgid "Video Fine-Tuning"
msgstr "Video-Feineinstellung"
msgid "Video mode selection."
msgstr "Auswahl des Videomodus."
+msgid "View Movies..."
+msgstr ""
+
+msgid "View Photos..."
+msgstr ""
+
msgid "View Rass interactive..."
msgstr "Rass Interaktiv anzeigen..."
+msgid "View Video CD..."
+msgstr ""
+
msgid "View teletext..."
msgstr "Videotext anzeigen..."
"\n"
"Really do a factory reset?"
msgstr ""
+"Wenn Sie die Werkseinstellungen wiederherstellen, verlieren Sie sämtliche "
+"Konfigurationsdateien\n"
+"(einschließlich Kanalliste, Tuner-Konfiguration...)\n"
+"Nach der Wiederherstellung wird die Dreambox automatisch neu starten\n"
+"\n"
+"Werkseinstellungen wirklich wiederherstellen?"
msgid "Where do you want to backup your settings?"
msgstr "Wohin möchten Sie die Einstellungen sichern?"
msgid "Where to save temporary timeshift recordings?"
-msgstr ""
+msgstr "Wo wollen Sie temporäre Timeshift Aufnahmen speichern?"
msgid "Wireless"
msgstr "Funk"
msgstr "Schreiben fehlgeschlagen!"
msgid "Writing NFI image file to flash completed"
-msgstr ""
+msgstr "Flash-Schreibvorgang der NFI Image Datei abgeschlossen."
msgid "YPbPr"
msgstr "YPbPr"
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Sie haben sich entschieden Ihre Einstellungen zu sichern. Drücken Sie OK um "
+"den Vorgang zu starten."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"Ihre Sicherung ist geglückt. Die Dreambox wird nun den weiteren "
"Aktualisierungs-Prozess erklären."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Ihre Dreambox schaltet sich nun aus. Bitte warten Sie einen Moment..."
"Ihre Netzwerkkonfiguration wurde aktiviert.\n"
"Ein zweiter konfigurierter Netzwerkadapter wurde gefunden.\n"
"\n"
-"Wollen Sie den zweiten Netzwerkadapter deaktivieren ?"
+"Wollen Sie den zweiten Netzwerkadapter deaktivieren?"
msgid "Zap back to service before positioner setup?"
msgstr ""
"Zurückschalten zum Sender der vor dem\n"
-"öffnen der Motor-Einstellungen lief?"
+"Ã\96ffnen der Motor-Einstellungen lief?"
msgid "Zap back to service before satfinder?"
msgstr ""
"Zurückschalten zum Sender der vor dem\n"
-"öffnen des Satfinders lief?"
+"Ã\96ffnen des Satfinders lief?"
msgid "[alternative edit]"
msgstr "[Alternativen-Bearbeitung]"
msgstr "Hintergrundbild"
msgid "backgroundcolor"
-msgstr ""
+msgstr "Hintergrundfarbe"
msgid "better"
msgstr "besser"
msgid "black"
-msgstr ""
+msgstr "schwarz"
msgid "blacklist"
msgstr "Negativliste"
msgid "blue"
-msgstr ""
+msgstr "blau"
#, python-format
msgid "burn audio track (%s)"
msgstr ""
msgid "failed"
-msgstr ""
+msgstr "fehlgeschlagen"
msgid "fileformats (BMP, PNG, JPG, GIF)"
-msgstr ""
+msgstr "Dateiformate (BMP, PNG, JPG, GIF"
msgid "filename"
msgstr "Dateiname"
msgstr "schalte in Standby"
msgid "green"
-msgstr ""
+msgstr "grün"
msgid "hear radio..."
msgstr "Radio hören..."
msgstr "Hilfe..."
msgid "hidden network"
-msgstr ""
+msgstr "verstecktes Netzwerk"
msgid "hide extended description"
msgstr "erweiterte Beschreibung ausblenden"
msgstr "Kein Signal"
msgid "not used"
-msgstr ""
+msgstr "nicht verwendet"
msgid "nothing connected"
msgstr "Nichts angeschlossen"
msgstr "Eintrag abspielen"
msgid "play from next mark or playlist entry"
-msgstr ""
+msgstr "Wiedergabe ab der nächsten Markierung/Listeneintrag"
msgid "play from previous mark or playlist entry"
-msgstr ""
+msgstr "Wiedergabe ab der letzten Markierung/Listeneintrag"
msgid "please press OK when ready"
msgstr "Bitte OK drücken wenn bereit"
msgstr "nimmt auf..."
msgid "red"
-msgstr ""
+msgstr "rot"
msgid "remove a nameserver entry"
msgstr "DNS Servereintrag entfernen"
msgstr "zeige erweiterte Beschreibung"
msgid "show first selected tag"
-msgstr ""
+msgstr "Zeige erstgewähltes tag"
msgid "show second selected tag"
-msgstr ""
+msgstr "Zeige zweitgewähltes tag"
msgid "show shutdown menu"
msgstr "Ausschaltmenü anzeigen"
msgstr "Tausche PiP mit Hauptbild"
msgid "switch to bookmarks"
-msgstr ""
+msgstr "gehe zu bookmarks"
msgid "switch to filelist"
msgstr "In Dateiliste wechseln"
msgstr "In Wiedergabeliste wechseln"
msgid "switch to the next angle"
-msgstr ""
+msgstr "Zur nächsten Kameraperspektive wechseln"
msgid "switch to the next audio track"
msgstr "Zum nächsten Audio-Titel wechseln"
msgstr ""
msgid "textcolor"
-msgstr ""
+msgstr "Textfarbe"
msgid "this recording"
msgstr "Diese Aufnahme"
msgstr ""
msgid "yellow"
-msgstr ""
+msgstr "gelb"
msgid "yes"
msgstr "ja"
#~ msgid ""
#~ "\n"
-#~ "Enigma2 will restart after the restore"
+#~ "System will restart after the restore!"
#~ msgstr ""
#~ "\n"
-#~ "Enigma2 wird nach der Wiederherstellung neu starten"
+#~ "Das System wird nach der Wiederherstellung neu starten!"
#~ msgid "AGC:"
#~ msgstr "AGC:"
#~ msgid "All..."
#~ msgstr "Alle..."
+#~ msgid "An error occured!"
+#~ msgstr "Es ist ein Fehler aufgetreten!"
+
#~ msgid ""
#~ "Are you sure you want to enable WLAN support?\n"
#~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n"
msgid "Hierarchy mode"
msgstr ""
+#: ../lib/python/Screens/Ci.py:334
+msgid "High bitrate support"
+msgstr ""
+
#: ../lib/python/Tools/Transponder.py:31
msgid "Horizontal"
msgstr ""
-# Spanish translations for tuxbox-enigma package.\r
-# Copyright (C) 2006 THE tuxbox-enigma'S COPYRIGHT HOLDER\r
-# This file is distributed under the same license as the tuxbox-enigma package.\r
-# Automatically generated, 2006.\r
-# \r
+# Spanish translations for tuxbox-enigma package.
+# Copyright (C) 2006 THE tuxbox-enigma'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the tuxbox-enigma package.
+# Automatically generated, 2006.
+#
msgid ""
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2009-02-10 13:13+0100\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-12 14:28+0100\n"
"Last-Translator: José Juan Zapater <josej@zapater.fdns.net>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Opciones avanzadas y configuración."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Después de pulsar OK, espere!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Backup de su configuración Dreambox."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Editar la dirección fuente de actualización."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 reiniciará después de la restauración"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Actualización online de su software Dreambox."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Pulse OK en su mando para continuar."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Restaurar su configuración Dreambox."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Restaurar su Dreambox con un nuevo firmware."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Restaurar su backup for fecha."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Buscar paquetes locales e instálalos."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Seleccione su dispositivo de backup.\n"
+"Dispositivo actual:"
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Ver, instalar y eliminar paquetes disponibles o instalados."
msgid " "
msgstr " "
msgstr "Avanzado"
msgid "Advanced Options"
-msgstr ""
+msgstr "Opciones avanzadas"
msgid "Advanced Video Setup"
msgstr "Configuración de video avanzada"
msgid "Advanced restore"
-msgstr ""
+msgstr "Restauración avanzada"
msgid "After event"
msgstr "Después del evento"
msgid "An empty filename is illegal."
msgstr "Un nombre de fichero vacío es ilegal."
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "¡Ocurrió un error desconocido!"
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Está seguro que quiere restaurar\n"
+"el siguiente backup:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"¿Está seguro que quiere restaurar su backup Enigma2?Enigma2 reiniciará "
+"después de restaurar"
msgid "Artist"
msgstr "Artista"
msgstr "Modo Backup"
msgid "Backup done."
-msgstr ""
+msgstr "Backup hecho."
msgid "Backup failed."
-msgstr ""
+msgstr "Backup fallido."
msgid "Backup is done. Please press OK to see the result."
msgstr "Backup hecho. Pulse OK para ver los resultados."
msgid "Backup running"
-msgstr ""
+msgstr "Ejecutando Backup"
msgid "Backup running..."
-msgstr ""
+msgstr "Ejecutando Backup..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Configuración sistema de Backup"
msgid "Band"
msgstr "Banda"
msgstr "Elije Sintonizador"
msgid "Choose backup files"
-msgstr ""
+msgstr "Elije ficheros de backup"
msgid "Choose backup location"
-msgstr ""
+msgstr "Elije localización del backup"
msgid "Choose bouquet"
msgstr "Elegir lista"
msgstr "Elegir carpeta destino"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Elije fuente de actualización"
msgid "Choose your Skin"
msgstr "Elija su Piel"
msgid "Common Interface"
msgstr "Interface común"
+msgid "Common Interface Assignment"
+msgstr ""
+
msgid "Compact Flash"
msgstr "Compact Flash"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Complejo (permite mexclar pistas de audio y aspectos)"
+msgid "Config"
+msgstr ""
+
msgid "Configuration Mode"
msgstr "Modo Configuración"
msgstr "Descripción"
msgid "Deselect"
-msgstr ""
+msgstr "Deseleccionar"
msgid "Destination directory"
msgstr "Directorio destino"
msgstr "¿Quiere instalar las listas de satélite por defecto?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Quiere instalar el paquete:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Ejecutar el DVD de la unidad?"
msgstr "¿Quiere prever este DVD antes de grabarlo?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "¿Quiere reiniciar su Dreambox?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Quiere eliminar el paquete:\n"
msgid "Do you want to restore your settings?"
msgstr "¿Quiere restaurar su configuración?"
msgstr "¿Quiere continuar esta reproducción?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "¿Quiere actualizar su Dreambox?"
msgid ""
"Do you want to update your Dreambox?\n"
"¡Después de pulsar OK, espere!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Quiere actualizar el paquete:\n"
msgid "Do you want to view a tutorial?"
msgstr "¿Quiere ver un tutorial?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
-msgstr ""
+msgstr "Hecho - Instalado, actualizado o eliminados %d paquetes con %d errores"
msgid "Download"
msgstr "Descargar"
msgid "Edit DNS"
msgstr "Editar DNS"
+msgid "Edit IPKG source URL..."
+msgstr "Editar la URL de la fuente IPKG..."
+
msgid "Edit Title"
msgstr "Editar Título"
msgid "Gateway"
msgstr "Puerta de enlace"
+msgid "General AC3 Delay"
+msgstr ""
+
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
msgid "Genre"
msgstr "Género"
msgid "Hierarchy mode"
msgstr "Modo jerárquico"
+msgid "High bitrate support"
+msgstr ""
+
msgid "Horizontal"
msgstr "Horizontal"
msgstr "Entrada"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Instalar una nueva imagen con un pendrive"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Instalar una nueva imagen con su navegador web"
msgid "Install local IPKG"
-msgstr ""
+msgstr "Instalar un IPKG local"
+
+msgid "Install settings, skins, software..."
+msgstr "Instalar configuración, skins, software..."
+
+msgid "Install software updates..."
+msgstr "Instalar actualización de software..."
msgid "Installing"
msgstr "Instalando"
msgstr "Visualización invertida"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Italiano"
msgstr "Latitud"
msgid "Latvian"
-msgstr ""
+msgstr "Letón"
msgid "Leave DVD Player?"
msgstr "Dejar el Reproductor de DVD?"
msgid "Left"
msgstr "Izda"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Permite ver/editar ficheros en su Dreambox"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgstr "Hacer una marca normal"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Manejar el software de su receptor"
msgid "Manual Scan"
msgstr "Búsqueda Manual"
msgid "No details for this image file"
msgstr "No hay detalles para este fichero de imagen"
+msgid "No displayable files on this medium found!"
+msgstr "¡No hay ficheros visualizables en su medio!"
+
msgid "No event info found, recording indefinitely."
msgstr "No hay info del evento, grabando indefinidamente."
msgstr "Manejo de paquete"
msgid "Packet manager"
-msgstr ""
+msgstr "Manejador de paquetes"
msgid "Page"
msgstr "Página"
msgid "Play Audio-CD..."
msgstr "Reproducir Audio-CD..."
+msgid "Play DVD"
+msgstr "Reproducir DVD"
+
+msgid "Play Music..."
+msgstr "Reproducir Música"
+
msgid "Play recorded movies..."
msgstr "Reproducir películas grabadas..."
msgstr "Por favor, seleccione un subcanal..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Seleccione medio para usar como localización del backup"
msgid "Please select tag to filter..."
msgstr "Seleccione una etiqueta para filtrar..."
msgid "Providers"
msgstr "Proveedores"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "Frontend Python para /tmp/mmi.socket"
+
msgid "Quick"
msgstr "Rápido"
msgstr "Selección de velocidad de refresco."
msgid "Reload"
-msgstr ""
+msgstr "Recargar"
msgid "Remove Bookmark"
msgstr "Borrar Marcador"
msgstr "Borrar el título seleccionado"
msgid "Remove finished."
-msgstr ""
+msgstr "Borrado finalizado."
msgid "Remove plugins"
msgstr "Borrar complmentos"
msgstr "Borrar el título"
msgid "Removing"
-msgstr ""
+msgstr "Borrando"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
msgstr "Restaurar"
msgid "Restore backups..."
-msgstr ""
+msgstr "Restaurar backups..."
msgid "Restore running"
-msgstr ""
+msgstr "Ejecutando la restauración"
msgid "Restore running..."
-msgstr ""
+msgstr "Ejecutando la restauración..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Configuración del sistema de restauración"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
msgid "Scan "
msgstr "Escanear"
+msgid "Scan Files..."
+msgstr "Escanear Ficheros..."
+
msgid "Scan QAM128"
msgstr "Escanear QAM128"
msgstr "Posicionar"
msgid "Select"
-msgstr ""
+msgstr "Seleccionar"
msgid "Select HDD"
msgstr "Seleccionar disco duro"
+msgid "Select IPKG source to edit..."
+msgstr "Seleccionar fuente IPKG para editar..."
+
msgid "Select Location"
msgstr "Seleccionar Localización"
msgstr "Seleccione canal a grabar"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Seleccione ficheros para backup. Actualmente seleccionado:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Selecciona ficheros/carpetas para backup..."
msgid "Select image"
msgstr "Seleccionar imagen"
msgid "Select video input"
msgstr "Seleccionar la entrada de video"
+msgid "Select video input with up/down buttons"
+msgstr "Seleccione entrada de vídeo con los botones arriba/abajo"
+
msgid "Select video mode"
msgstr "Seleccionar el modo de video"
msgstr "Velocidades lentas"
msgid "Software manager"
-msgstr ""
+msgstr "Manejador de software"
msgid "Software manager..."
-msgstr ""
+msgstr "Manejador de software..."
msgid "Software restore"
-msgstr ""
+msgstr "Restaurar software"
msgid "Software update"
-msgstr ""
+msgstr "Actualizar software"
msgid "Some plugins are not available:\n"
msgstr "Algunos complementos no están disponibles:\n"
msgstr "En alguna parte"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Lo siento, pero MediaScanner no está instalado!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Lo siento, no he encontrado backups!"
msgid ""
"Sorry your Backup destination does not exist\n"
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Lo siento, pero su destino de backup no es escribible.\n"
+"Elija otro."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Lo siento, pero su destino de backup no es escribible.\n"
+"\n"
+"Elija otro."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
"\n"
"¿Quiere escribir el USB flasher a esta memoria USB?"
+msgid "The following files were found..."
+msgstr "Los siguientes ficheros fueron encontrados..."
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
"No debe haber suficiente especio en la partición seleccionada.\n"
"¿Seguro que quiere continuar?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr "Hay un error descargando la lista de paquetes. Intente de nuevo."
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "¡Este fichero .NFI no contiene una imagen válida %s!"
"El disco DVD-RW está ya formateado - reformatear borrará todos los "
"contenidos del disco."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Este Dreambox no puede decodificar %s streams!"
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "¡Este Dreambox no puede reproducir videos %s!"
msgid "Try to find used transponders in cable network.. please wait..."
msgstr "Intenta encontrar los transponders en la red de cable.. espere..."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Intentando descargar una nueva lista de paquetes. Espere..."
+
msgid "Tue"
msgstr "Mar"
msgstr "Actualizando... Espere... Esto puede tardar varios minutos..."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Actualización finalizada."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr "Actualización finalizada. ¿Quiere reiniciar su Dreambox?"
msgid "Video mode selection."
msgstr "Selección de modo de vídeo."
+msgid "View Movies..."
+msgstr "Ver Películas..."
+
+msgid "View Photos..."
+msgstr "Ver Fotos..."
+
msgid "View Rass interactive..."
msgstr "Ver Rass interactivo..."
+msgid "View Video CD..."
+msgstr "Ver Video CD..."
+
msgid "View teletext..."
msgstr "Ver teletexto..."
"\n"
"Really do a factory reset?"
msgstr ""
+"Cuando haga un reseteo de fábrica, perderá todos los datos de configuración\n"
+"(incluyendo listas, canales, datos del satélite...)\n"
+"Después de un reseteo, su receptor se reiniciará automáticamente!\n"
+"\n"
+"¿Quiere hacer un reset de fábrica?"
msgid "Where do you want to backup your settings?"
msgstr "¿Donde quiere backup su configuración?"
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Ha elegido hacer un backup de su configuración. Pulse OK para comenzar el "
+"backup ahora."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"Ha elegido restaurar su configuración. Enigma2 reiniciará después de "
+"restaurar. Pulse OK para comenzar a restaurar ahora."
#, python-format
msgid "You have to wait %s!"
"El backup ha terminado. Nosotros continuamos explicando el proceso de "
"actualización."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"Su colección exede el tamaño de un medio de capa simple, necesitará un DVD "
+"blanco de doble capa!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Su dreambox está reiniciando. Espere un momento..."
msgid "[move mode]"
msgstr "[modo mover]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr ""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
msgid "abort alternatives edit"
msgstr "abortar la edición alternativa"
msgid "activate current configuration"
msgstr "activar configuración actual"
+msgid "add Provider"
+msgstr ""
+
+msgid "add Service"
+msgstr ""
+
msgid "add a nameserver entry"
msgstr "añadir un servidor de nombres"
"está seguro que quiere restaurar\n"
"el siguiente backup:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
msgstr "format de pista de audio (%s)"
msgid "day"
msgstr "día"
+msgid "delete"
+msgstr "borrar"
+
msgid "delete cut"
msgstr "borrar corte"
msgid "init module"
msgstr "iniciar módulo"
+msgid "init modules"
+msgstr ""
+
msgid "insert mark here"
msgstr "insertar marca aquí"
msgid "no"
msgstr "no"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "disco no encontrado"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "módulo no encontrado"
msgid "select .NFI flash file"
msgstr "seleccione fichero flash .NFI"
+msgid "select CAId"
+msgstr ""
+
msgid "select image from server"
msgstr "seleccione imagen desde el servidor"
msgid "zapped"
msgstr "zapeado"
+#~ msgid "\n"
+#~ msgstr "\n"
+
#~ msgid ""
#~ "\n"
-#~ "Enigma2 will restart after the restore"
+#~ "System will restart after the restore!"
#~ msgstr ""
#~ "\n"
-#~ "Enigma2 reiniciará después de la restauración"
+#~ "El sistema reiniciará después de restaurar!"
#~ msgid "\"?"
#~ msgstr "\"?"
#~ msgid "color"
#~ msgstr "color"
-#~ msgid "delete"
-#~ msgstr "borrar"
-
#~ msgid "empty/unknown"
#~ msgstr "vacío/desconocido"
-# Signed-off.by: Dario Croci <spaeleus@croci.org>
+# Signed-off-by: Dario Croci <spaeleus@croci.org>
#
msgid ""
msgstr ""
-"Project-Id-Version: enigma2 Italian Locale\n"
+"Project-Id-Version: enigma2 v2.6 Italian Locale\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2009-02-15 18:29+0100\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-24 07:22+0100\n"
"Last-Translator: Spaeleus <spaeleus@croci.org>\n"
"Language-Team: WWW.LINSAT.NET <spaeleus@croci.org>\n"
"MIME-Version: 1.0\n"
"\n"
"Modificare indirizzo sorgenti aggiornamento."
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 sarà riavviato dopo il ripristino!"
+
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr "* Disponibile solo su inserimento SSID nascosto o chiave di rete"
msgid ".NFI Download failed:"
-msgstr "Scaricamento .nfi fallito:"
+msgstr "Download .nfi fallito:"
msgid ""
".NFI file passed md5sum signature check. You can safely flash this image!"
"numerici per accedere alle altre schermate."
msgid "Advanced"
-msgstr ""
+msgstr "Avanzato"
msgid "Advanced Options"
msgstr "Opzioni avanzate"
msgid "An empty filename is illegal."
msgstr "Nome di file vuoto: non consentito!"
-msgid "An error occured!"
-msgstr "Si è verificato un errore!"
-
msgid "An unknown error occured!"
msgstr "Si è verificato un errore sconosciuto!"
msgstr "Backup"
msgid "Backup Location"
-msgstr ""
+msgstr "Destinazione backup"
msgid "Backup Mode"
-msgstr ""
+msgstr "Modalità Backup"
msgid "Backup done."
msgstr "Backup eseguito."
msgstr "Cavo"
msgid "Cache Thumbnails"
-msgstr "Cache Miniature"
+msgstr "\"Cache\" Miniature"
msgid "Call monitoring"
msgstr "Controllo chiamata"
msgstr "Selezionare il bouquet"
msgid "Choose source"
-msgstr ""
+msgstr "Selezionare Origine"
msgid "Choose target folder"
msgstr "Cartella destinazione"
msgstr "Comando DiSEqC 'Committed'"
msgid "Common Interface"
-msgstr "Common Interface"
+msgstr "\"Common Interface\""
+
+msgid "Common Interface Assignment"
+msgstr "Assegnazione \"Common Interface\""
msgid "Compact Flash"
msgstr "Compact Flash"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Complessa (permette mix tracce audio e aspetti)"
+msgid "Config"
+msgstr "Configurazione"
+
msgid "Configuration Mode"
msgstr "Configurazione"
"Do you want to backup now?\n"
"After pressing OK, please wait!"
msgstr ""
+"Effettuare il Backup ora?\n"
+"Premere OK e attendere!"
msgid "Do you want to burn this collection to DVD medium?"
msgstr "Masterizzare la raccolta su supporto DVD?"
#, python-format
msgid "Done - Installed or upgraded %d packages with %d errors"
-msgstr ""
+msgstr "Fatto! Installati o aggiornati %d pacchetti con %d errori"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
msgstr "Download"
msgid "Download .NFI-Files for USB-Flasher"
-msgstr "Scaricare file .nfi per Flasher USB"
+msgstr "Download file .nfi per Flasher USB"
msgid "Download Plugins"
-msgstr "Scaricare Plugin"
+msgstr "Download Plugin"
msgid "Download of USB flasher boot image failed: "
-msgstr "Scaricamento immagine di avvio Flasher USB fallito: "
+msgstr "Download immagine di avvio Flasher USB fallito: "
msgid "Downloadable new plugins"
msgstr "Nuovi plugin scaricabili"
msgid "Edit DNS"
msgstr "Mod. DNS"
+msgid "Edit IPKG source URL..."
+msgstr "Modificare URL sorgenti IPKG"
+
msgid "Edit Title"
msgstr "Mod. Titolo"
msgid "Gateway"
msgstr "Gateway"
+msgid "General AC3 Delay"
+msgstr "Ritardo Generale AC3"
+
+msgid "General AC3 delay"
+msgstr "Ritardo Generale AC3"
+
+msgid "General PCM Delay"
+msgstr "Ritardo Generale PCM"
+
+msgid "General PCM delay"
+msgstr "Ritardo Generale PCM"
+
msgid "Genre"
msgstr "Genere"
msgid "Hierarchy mode"
msgstr "Modalità gerarchica"
+msgid "High bitrate support"
+msgstr "Supporto \"Hight bitrate\""
+
msgid "Horizontal"
msgstr "Orizzontale"
msgid "Install local IPKG"
msgstr "Installare IPKG locale"
+msgid "Install settings, skins, software..."
+msgstr "Installazione Setting, Skin, Software..."
+
+msgid "Install software updates..."
+msgstr "Installazione Aggiornamenti Software..."
+
msgid "Installing"
msgstr "Installazione in corso"
msgstr "Latitudine"
msgid "Latvian"
-msgstr ""
+msgstr "Lettone"
msgid "Leave DVD Player?"
msgstr "Uscire dal Player DVD?"
msgid "Left"
msgstr "Sinistro"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Vedere/Modificare File sul Dreambox"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgid "No details for this image file"
msgstr "Nessun dettaglio disponibile per questo file"
+msgid "No displayable files on this medium found!"
+msgstr "Nessun File riproducibile Trovato sul Supporto!"
+
msgid "No event info found, recording indefinitely."
msgstr "Nessuna informazione sull'evento, registrazione illimitata."
msgid "Play Audio-CD..."
msgstr "Rirodurre CD Audio..."
+msgid "Play DVD"
+msgstr "Riprodurre DVD"
+
+msgid "Play Music..."
+msgstr "Riprodurre Musica..."
+
msgid "Play recorded movies..."
msgstr "Riprodurre Registrazioni"
msgid "Providers"
msgstr "Provider"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "\"Frontend\" Python per /tmp/mmi.socket"
+
msgid "Quick"
msgstr "Veloce"
msgstr "Salvare la playlist"
msgid "Scaling Mode"
-msgstr "Modalità scaling"
+msgstr "Modalità \"Scaling\""
msgid "Scan "
msgstr "Ricerca"
+msgid "Scan Files..."
+msgstr "Ricercare File..."
+
msgid "Scan QAM128"
msgstr "Ricerca su QAM128"
msgid "Select HDD"
msgstr "Selezionare HDD"
+msgid "Select IPKG source to edit..."
+msgstr "Selezionare una sorgente IPKG da modificare"
+
msgid "Select Location"
msgstr "Selezionare destinazione"
msgid "Select video input"
msgstr "Selezionare l'ingresso video"
+msgid "Select video input with up/down buttons"
+msgstr "Selezionare l'ingresso video con i tasti Sù/Giù"
+
msgid "Select video mode"
msgstr "Selezionare la modalità video"
msgstr "Azione: "
msgid "Slideshow Interval (sec.)"
-msgstr "Intevallo presentazione (sec.)"
+msgstr "Intevallo \"Slideshow\" (sec.)"
#, python-format
msgid "Slot %d"
"\n"
"Please choose an other one."
msgstr ""
+"Destinazione backup inesistente!\n"
+"\n"
+"Selezionarne un'altra!"
msgid ""
"Sorry your backup destination is not writeable.\n"
"enigma2 - Dreambox\n"
"Dario Croci - www.linsat.net\n"
"Supporto: spaeleus@croci.org.\n"
-"- 15 febbraio 2009 -"
+"- 24 marzo 2009 -"
msgid "TS file is too large for ISO9660 level 1!"
msgstr "File TS troppo grande per ISO9660 livello 1!"
"\n"
"Installare il flasher USB su questa penna?"
+msgid "The following files were found..."
+msgstr "Trovati i seguenti File..."
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
"Potrebbe non esserci spazio sufficiente sulla partizione prescelta.\n"
"Continuare comunque?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr "Errore in download lista pacchetti! Riprovare."
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "Il file .nfi non contiene un'immagine %s valida!"
"Il DVD-RW è già formattato - una nuova formattazione cancellerà tutto il "
"contenuto del disco!"
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Impossibile decodificare Flussi Video %s!"
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Impossibile decodificare il flusso video %s!"
msgid "Try to find used transponders in cable network.. please wait..."
msgstr "Ricerca dei transponder utilizzati sulla rete via cavo... Attendere."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Tentativo download nuova lista pacchetti. Attendere"
+
msgid "Tue"
msgstr "Mar"
msgstr "Aggiornare"
msgid "Updates your receiver's software"
-msgstr ""
+msgstr "Aggiornare il software del ricevitore"
msgid "Updating finished. Here is the result:"
msgstr "Aggiornamento terminato. Esito:"
msgstr "Aggiornamento terminato!"
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Aggiornamento terminato. Riavviare il DreamBox?"
msgid "Upgrading"
msgstr "Aggiornamento in corso"
msgid "Video mode selection."
msgstr "Selezione modalità video"
+msgid "View Movies..."
+msgstr "Riprodurre Registrazioni..."
+
+msgid "View Photos..."
+msgstr "Visualizzare Foto..."
+
msgid "View Rass interactive..."
msgstr "Rass interattivi"
+msgid "View Video CD..."
+msgstr "Riprodurre CD Video"
+
msgid "View teletext..."
msgstr "Televideo"
"You have chosen to backup to your harddisk. Please press OK to start the "
"backup now."
msgstr ""
+"Si scelto di effettuare un backup su harddisk. Premere OK per iniziare ora."
msgid ""
"You have chosen to backup your settings. Please press OK to start the backup "
msgstr ""
"Backup eseguito con successo! Ora proseguirà il processo di aggiornamento."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"La Collezione supera la capacità di un disco Singolo Strato. Sarà necessario "
+"utilizzare un DVD vergine Doppio Strato!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Il DreamBox si sta arrestando. Attendere..."
msgid "[move mode]"
msgstr "[modalità muovere]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr "Assegnazione Canali/Provider a moduli \"Common Interface\""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr "Assegnazione Canali/Provider/CAIDs a moduli \"Common Interface\""
+
msgid "abort alternatives edit"
msgstr "Annullare edit alternative"
msgid "activate current configuration"
msgstr "Attivare configurazione corrente"
+msgid "add Provider"
+msgstr "Agg. Provider"
+
+msgid "add Service"
+msgstr "Agg. Canale"
+
msgid "add a nameserver entry"
msgstr "Aggiungere voce Nameserver"
"are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Ripristinare\n"
+"il seguente Backup?\n"
+
+msgid "assigned CAIds"
+msgstr "CAIds assegnati"
+
+msgid "assigned Services/Provider"
+msgstr "Canali/Provider Assegnati"
#, python-format
msgid "audio track (%s) format"
msgstr "Indietro"
msgid "background image"
-msgstr "immagine di sfondo"
+msgstr "Immagine di sfondo"
msgid "backgroundcolor"
-msgstr "Colore di sfondo"
+msgstr "Colore sfondo"
msgid "better"
msgstr "Migliore"
msgid "day"
msgstr "Giorno"
+msgid "delete"
+msgstr "Cancellare"
+
msgid "delete cut"
msgstr "Cancellare taglio"
msgstr "Fallito"
msgid "fileformats (BMP, PNG, JPG, GIF)"
-msgstr "Formati file (BMP, PNG, JPG, GIF)"
+msgstr "Formati File (BMP, PNG, JPG, GIF)"
msgid "filename"
-msgstr "Nome file"
+msgstr "Nome File"
msgid "fine-tune your display"
msgstr "Regolazione fine schermo"
msgid "init module"
msgstr "Inizializzazione modulo"
+msgid "init modules"
+msgstr "Init Moduli"
+
msgid "insert mark here"
msgstr "Inserire contrassegno"
msgid "no"
msgstr "No"
+msgid "no CAId selected"
+msgstr "Nessun CAId selezionato!"
+
+msgid "no CI slots found"
+msgstr "Nessun Slot CI trovato!"
+
msgid "no HDD found"
msgstr "Nessun HDD trovato!"
+msgid "no module"
+msgstr "Nessun Modulo"
+
msgid "no module found"
msgstr "Nessun modulo trovato!"
msgid "select .NFI flash file"
msgstr "Selezionare il file flash .nfi"
+msgid "select CAId"
+msgstr "Selezionare CAId"
+
msgid "select image from server"
msgstr "Selezionare immagine dal server"
msgstr "EPG"
msgid "show Infoline"
-msgstr "Mostrare Informazioni"
+msgstr "Mostrare Info"
msgid "show all"
msgstr "Mostrare tutto"
msgstr "Skip avanti (inserire intervallo)"
msgid "slide picture in loop"
-msgstr "Scorrere immagini in loop"
+msgstr "Riproduzione Continua"
msgid "sort by date"
msgstr "Ordine per data"
msgstr "File modello"
msgid "textcolor"
-msgstr "Colore testo"
+msgstr "Colore Testo"
msgid "this recording"
msgstr "Questa registrazione"
#~ "\n"
#~ "Il Sistema sarà riavviato dopo il ripristino!"
-#~ msgid ".NFI Flasher bootable USB stick successfully created."
-#~ msgstr "Creazione penna USB per Flasher .nfi terminata con successo"
-
-#~ msgid "AGC"
-#~ msgstr "AGC"
-
-#~ msgid "AGC:"
-#~ msgstr "AGC:"
-
-#~ msgid "Copying USB flasher boot image to stick..."
-#~ msgstr "Copia immagine di avvio Flasher USB in corso..."
-
-#~ msgid "Decompressing USB stick flasher boot image..."
-#~ msgstr "Decompressione immagine di avvio USB Flasher in corso..."
-
-#~ msgid "Downloading image description..."
-#~ msgstr "Scaricamento descrizione immagine in corso..."
-
-#~ msgid "Fix USB stick"
-#~ msgstr "Conf. Penna"
-
-#~ msgid "Font size"
-#~ msgstr "Dim. Carattere"
-
-#~ msgid ""
-#~ "Now please insert the USB stick (minimum size is 64 MB) that you want to "
-#~ "format and use as .NFI image flasher. Press OK after you've put the stick "
-#~ "back in."
-#~ msgstr ""
-#~ "Ora inserire la penna USB (min. 64 MB) che sarà formattata per essere "
-#~ "utilizzata come flasher di immagini .nfi. Premere OK dopo aver inserito "
-#~ "la penna."
-
-#~ msgid "Partitioning USB stick..."
-#~ msgstr "Partizione penna USB in corso..."
-
-#~ msgid "Please wait for md5 signature verification..."
-#~ msgstr "Attendere la verifica della firma md5..."
-
-#~ msgid "Really delete this timer?"
-#~ msgstr "Cancellare questo timer?"
-
-#~ msgid "Remounting stick partition..."
-#~ msgstr "\"Remount\" partizione penna in corso..."
-
-#~ msgid ""
-#~ "The .NFI Image flasher USB stick is now ready to use. Please download an ."
-#~ "NFI image file from the feed server and save it on the stick. Then reboot "
-#~ "and hold the 'Down' key on the front panel to boot the .NFI flasher from "
-#~ "the stick!"
-#~ msgstr "La penna USB - Flasher Immagini .nfi è pronta per l'uso. Scaricare "
-
-#~ msgid "Title:"
-#~ msgstr "Titolo:"
-
-#~ 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 ""
-#~ "Ora, per maggiore sicurezza, rimuovere la penna USB e ricollegarla solo "
-#~ "quando verrà richiesto. Premere OK dopo aver rimosso la penna."
-
-#~ msgid "Waiting for USB stick to settle..."
-#~ msgstr "Configurazione penna USB in corso..."
-
-#~ msgid "Writing image file to NAND Flash"
-#~ msgstr "Scrittura file immagine su Flash NAND"
-
-#~ msgid "by Exif"
-#~ msgstr "by Exif"
-
-#~ msgid "color"
-#~ msgstr "colore"
-
-#~ msgid "font face"
-#~ msgstr "Carattere"
-
-#~ msgid "headline"
-#~ msgstr "Intest."
-
-#~ msgid "highlighted button"
-#~ msgstr "Puls. evidenziato"
-
-#~ msgid "no Picture found"
-#~ msgstr "Nessuna immagine trovata!"
-
-#~ msgid "rebooting..."
-#~ msgstr "Riavvio in corso..."
-
-#~ msgid "spaces (top, between rows, left)"
-#~ msgstr "Margini (alto, tra le righe, sinistro)"
-
-#~ msgid "text"
-#~ msgstr "Testo"
-
-#~ msgid "year"
-#~ msgstr "Anno"
+#~ msgid "An error occured!"
+#~ msgstr "Si è verificato un errore!"
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2008-11-25 00:26+0200\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-08 14:06+0200\n"
"Last-Translator: Audronis, Grincevicius <audrgrin@takas.lt>\n"
"Language-Team: Adga / enigma2 (c) <audrgrin@takas.lt>\n"
"MIME-Version: 1.0\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Išplėstiniai pasirinkimai ir nustatymai."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Paspaudus OK, prašome laukti!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Jūsų Dreambox nustatymų atsarginė kopija."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Redaguoti atnaujinimo šaltinio adresą."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 pasileis iš naujo po atkūrimo"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Internetinis jūsų Dreambox programinės įrangos atnaujinimas."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Spauskite OK ant jūsų distancinio valdymo pulto, kad tęsti."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Atkurti jūsų Dreambox nustatymus."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Atkurti jūsų Dreambox su nauja programine įranga."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Atkurti jūsų atsarginę kopiją pagal datą."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Skanuoti vietinius paketus ir įdiegti juos."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Pasirinkite jūsų atsarginės kopijos įrenginį.\n"
+"Dabartinis įrenginys: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Peržiūrėkite, įdiekite ir pašalinkite esamus arba įdiegtus paketus."
msgid " "
msgstr " "
"Disable TV and try again?\n"
msgstr ""
"Laikmatis nutraukė įrašymą!\n"
-"Atjungti TV ir pakartoti iš pradžių?\n"
+"Išjungti TV ir pakartoti iš pradžių?\n"
msgid "A/V Settings"
msgstr "Garso ir vaizdo nustatymai"
msgstr "Išplėstinis"
msgid "Advanced Options"
-msgstr ""
+msgstr "Papildomi nustatymai"
msgid "Advanced Video Setup"
msgstr "Išplėstiniai vaizdo nustatymai"
msgid "Advanced restore"
-msgstr ""
+msgstr "Papildomas atkūrimas"
msgid "After event"
msgstr "Po įvykio"
msgid "An empty filename is illegal."
msgstr "Tuščias failo pavadinimas negalimas"
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Įvyko nežinoma klaida!"
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Ar jūs tikrai, norite atkurti\n"
+"atsarginę kopiją:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Jūs esate įsitikinęs, kad norite atkurti savo Enigma2 atsarginę kopiją?\n"
+"Enigma2 iš naujo pasileis po atkūrimo"
msgid "Artist"
msgstr "Atlikėjas"
msgstr "Išsaugojimo būdas"
msgid "Backup done."
-msgstr ""
+msgstr "Atsarginė kopija padaryta."
msgid "Backup failed."
-msgstr ""
+msgstr "Atsarginė kopija nepavyko."
msgid "Backup is done. Please press OK to see the result."
msgstr "Išsaugota. Prašome paspausti OK rezultato peržiūrai."
msgid "Backup running"
-msgstr ""
+msgstr "Atsarginė kopija vykdoma"
msgid "Backup running..."
-msgstr ""
+msgstr "Atsarginė kopija vykdoma..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Atsarginė sisteminių nustatymų kopija"
msgid "Band"
msgstr "Juosta"
msgstr "Atšaukti"
msgid "Cannot parse feed directory"
-msgstr "Negali rasti perdavimo direktorijos"
+msgstr "Negalima nagrinėti serverio direktorijos"
msgid "Capacity: "
msgstr "Talpa: "
msgstr "Pakeisti kanalo PIN"
msgid "Change service pins"
-msgstr "Pakeisti kanalo pins"
+msgstr "Pakeisti kanalo pin'us"
msgid "Change setup pin"
msgstr "Pakeisti nustatymų PIN"
msgstr "Kanalo pasirinkimas"
msgid "Channel not in services list"
-msgstr ""
+msgstr "Kanalo nėra kanalų sąraše"
msgid "Channel:"
msgstr "Kanalas:"
msgstr "Išsirinkite imtuvą"
msgid "Choose backup files"
-msgstr ""
+msgstr "Pasirinkite atsarginės kopijos failus"
msgid "Choose backup location"
-msgstr ""
+msgstr "Pasirinkite atsarginės kopijos vietą"
msgid "Choose bouquet"
msgstr "Išsirinkite paketą"
msgstr "Išsirinkite aplanką"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Pasirinkite atnaujinimo šaltinį"
msgid "Choose your Skin"
msgstr "Išsirinkite savo temą"
msgid "Circular left"
-msgstr ""
+msgstr "Apskritiminė kairė"
msgid "Circular right"
-msgstr ""
+msgstr "Apskritiminė dešinė"
msgid "Cleanup"
msgstr "Išvalyti"
msgid "Common Interface"
msgstr "Įstatomi moduliai"
+msgid "Common Interface Assignment"
+msgstr ""
+
msgid "Compact Flash"
msgstr "Kompaktinė atmintinė"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Kompleksas (leidžia sumaišyti garso takelius ir aspektus),"
+msgid "Config"
+msgstr ""
+
msgid "Configuration Mode"
msgstr "Konfigūravimo būdas"
#, python-format
msgid "Couldn't record due to conflicting timer %s"
-msgstr ""
+msgstr "Neįrašyta dėl prieštaringo laikmačio %s"
msgid "Create DVD-ISO"
msgstr "Sukurti DVD-ISO"
msgstr "Praleisti laiką pasirinktinai '7'/'9'-mygtukams"
msgid "Customize"
-msgstr "Vartotojo nustatymai"
+msgstr "Vartotojo pasirinkimai"
msgid "Cut"
msgstr "Iškirpti"
msgstr "Danų"
msgid "Date"
-msgstr "Duomenys"
+msgstr "Data"
msgid "Deep Standby"
msgstr "Visiškai išjungti"
msgid "Default services lists"
-msgstr "Nustatytas kanalų sąrašas"
+msgstr "Numatytas kanalų sąrašas"
msgid "Default settings"
msgstr "Numatyti nustatymai"
msgstr "Pašalinti "
msgid "Delete failed!"
-msgstr "Pašalinimas klaidingas!"
+msgstr "Trinimas klaidingas!"
#, python-format
msgid ""
"Delete no more configured satellite\n"
"%s?"
msgstr ""
-"Pašalinti nesukonfigūruotą palydovą \n"
+"Trinti nesukonfigūruotą palydovą \n"
" %s?"
msgid "Description"
msgstr "Aprašymas"
msgid "Deselect"
-msgstr ""
+msgstr "Nepasirinkti"
msgid "Destination directory"
msgstr "Direktorijos vieta"
msgstr "DiSEqC A/B/C/D"
msgid "DiSEqC mode"
-msgstr "DiSEqC pasirinkimas"
+msgstr "DiSEqC būdas"
msgid "DiSEqC repeats"
msgstr "DiSEqC pakartojimai"
msgstr "Rodyti kaip 4:3 "
msgid "Display >16:9 content as"
-msgstr ""
+msgstr "Monitorius >16:9 turinys kaip"
msgid "Display Setup"
-msgstr "Monitoriaus nustatymas"
+msgstr "Monitoriaus parametrai"
#, python-format
msgid ""
msgstr "Jūs norite įdiegti numatytus palydovų sąrašus?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Jūs norite įdiegti package:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Jūs norite paleisti DVD?"
msgstr "Jūs norite peržiūrėti šį DVD prieš išdeginimą?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Jūs norite perjungti savo Dreambox?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Jūs norite pašalinti paketą:\n"
msgid "Do you want to restore your settings?"
msgstr "Jūs norite atkurti nustatymus?"
msgstr "Jūs norite tęsti šį atkūrimą?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Jūs norite atnaujinti savo Dreambox?"
msgid ""
"Do you want to update your Dreambox?\n"
"Spauskite OK ir palaukite!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Jūs norite atnaujinti paketą:\n"
msgid "Do you want to view a tutorial?"
msgstr "Ar norite peržiūrėti aprašymą?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
-msgstr ""
+msgstr "Baigta - Įdiegti, patobulinti ar pašalinti %d paketai su %d klaidomis"
msgid "Download"
msgstr "Parsisiuntimas"
msgid "Edit DNS"
msgstr "Redaguoti DNS"
+msgid "Edit IPKG source URL..."
+msgstr ""
+
msgid "Edit Title"
msgstr "Redaguoti pavadinimą"
msgstr "Eiti į greitą atsukimą "
msgid "Enter WLAN network name/SSID:"
-msgstr "Įveskite WLAN tinklo pavadinimą/SSID:"
+msgstr "Įrašykite WLAN tinklo pavadinimą/SSID:"
msgid "Enter WLAN passphrase/key:"
-msgstr "Įveskite WLAN leidimo frazę/raktą:"
+msgstr "Įrašykite WLAN leidimo frazę/raktą:"
msgid "Enter main menu..."
msgstr "Eiti į pagrindinį meniu..."
msgstr "Penktadienis"
msgid "Frisian"
-msgstr ""
+msgstr "Frizų"
msgid "Fritz!Box FON IP address"
msgstr "Fritz!Box FON IP adresas"
msgid "Gateway"
msgstr "Šliuzas"
+msgid "General AC3 Delay"
+msgstr ""
+
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
msgid "Genre"
msgstr "Žanras"
msgid "Hierarchy mode"
msgstr "Hierarchijos režimas"
-msgid "Horizontal"
+msgid "High bitrate support"
msgstr ""
+msgid "Horizontal"
+msgstr "Horizontalus"
+
msgid "How many minutes do you want to record?"
msgstr "Kiek minučių norite daryti įrašą?"
msgstr "Įėjimas"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Įdiekite naują atvaizdą su USB įrenginiu"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Įdiekite naują atvaizdą su savo tinklo naršykle"
msgid "Install local IPKG"
-msgstr ""
+msgstr "Įdiekite vietinį IPKG"
+
+msgid "Install settings, skins, software..."
+msgstr "Įdiekite nustatymus, temas, programinę įrangą..."
+
+msgid "Install software updates..."
+msgstr "Įdiekite programinius atnaujinimus..."
msgid "Installing"
msgstr "Įdiegiama"
msgstr "Monitoriaus pervertimas"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Italų"
msgstr "Platuma"
msgid "Latvian"
-msgstr ""
+msgstr "Latvių"
msgid "Leave DVD Player?"
msgstr "Išeiti iš DVD grotuvo?"
msgid "Left"
msgstr "Kairė"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Leidžia jums žiūrėti/redaguoti failus jūsų Dreambox'e"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgstr "Lock:"
msgid "Log results to harddisk"
-msgstr ""
+msgstr "Log rezultatus į kietą diską"
msgid "Long Keypress"
msgstr "Ilgas mygtuko spaudimas"
msgstr "Padarykite šį žymeklį kaip žymekliu"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Valdykite savo imtuvo programinę įrangą"
msgid "Manual Scan"
msgstr "Rankinė paieška"
msgstr "Rankinis transponderis"
msgid "Manufacturer"
-msgstr ""
+msgstr "Gamintojas"
msgid "Margin after record"
msgstr "Sujungti po įrašymo"
msgstr "Pranešimas"
msgid "Message..."
-msgstr ""
+msgstr "Žinutė..."
msgid "Mkfs failed"
msgstr "Mkfs nepavyko"
msgid "No details for this image file"
msgstr "Nėra informacijos apie šį atvaizdą"
+msgid "No displayable files on this medium found!"
+msgstr "Jokių failų čia nerasta!"
+
msgid "No event info found, recording indefinitely."
msgstr "Informacija apie įvykius nerasta, tęsiamas įrašymas."
msgstr "PIDs"
msgid "Package list update"
-msgstr "Paketų sąrašo atnaujinimas"
+msgstr "Paketo sąrašo atnaujinimas"
msgid "Packet management"
msgstr "Paketų valdymas"
msgid "Packet manager"
-msgstr ""
+msgstr "Paketo valdymas"
msgid "Page"
msgstr "Puslapis"
msgid "Play Audio-CD..."
msgstr "Paleisti Garso-CD..."
+msgid "Play DVD"
+msgstr "Leisti DVD"
+
+msgid "Play Music..."
+msgstr "Groti muziką..."
+
msgid "Play recorded movies..."
msgstr "Leisti įrašytus filmus..."
msgstr "Prašome išsirinkti papildymus..."
msgid "Please choose he package..."
-msgstr "Prašom išsirinkti, paketą..."
+msgstr "Prašome pasirinkti, paketą..."
msgid "Please choose the default services lists you want to install."
msgstr ""
msgstr "Prašome išsirinkti subkanalą..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Prašome pasirinkti tai, kaip atsarginės kopijos vietą"
msgid "Please select tag to filter..."
msgstr "Prašome išsirinkti kortelę filtravimui..."
msgstr "Prašome laukti jūsų tinklo konfigūracijos aktyvavimo..."
msgid "Please wait while scanning is in progress..."
-msgstr ""
+msgstr "Prašome laukti kol vyksta skanavimas..."
msgid "Please wait while we configure your network..."
msgstr "Prašome laukti kol konfigūruojamas jūsų tinklas..."
#, python-format
msgid "Press OK to get further details for %s"
-msgstr ""
+msgstr "Spauskite OK, kad gautumėte tolimesnes detales dėl %s"
msgid "Press OK to scan"
msgstr "Spauskite OK paieškai."
msgstr "Pirminis DNS"
msgid "Priority"
-msgstr ""
+msgstr "Pirmenybė"
msgid "Properties of current title"
msgstr "Dabartinio pavadinimo ypatybės"
msgid "Providers"
msgstr "Tiekėjai"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "Python pradinė fazė dėl /tmp/mmi.socket"
+
msgid "Quick"
-msgstr ""
+msgstr "Greitas"
msgid "Quickzap"
msgstr "Greitas perjungimas"
msgstr "Ram Diskas"
msgid "Random"
-msgstr ""
+msgstr "Atsitiktinis"
msgid "Really close without saving settings?"
msgstr "Tikrai uždaryti be nustatymų išsaugojimo ?"
msgstr "Iš tikrųjų išjungti dabar?"
msgid "Reboot"
-msgstr "Perkrauti"
+msgstr "Paleisti iš naujo"
msgid "Reception Settings"
msgstr "Priėmimo nustatymai"
#, python-format
msgid "Record time limited due to conflicting timer %s"
-msgstr ""
+msgstr "Įrašymo laikas apribotas dėl prieštaringo laikmačio %s"
msgid "Recorded files..."
msgstr "Įrašyti failai..."
msgstr "Atnaujinkite normos pasirinkimą"
msgid "Reload"
-msgstr ""
+msgstr "Užkrauti"
msgid "Remove Bookmark"
msgstr "Pašalinti žymę"
msgstr "Pašalinkite dabartinį pasirinktą pavadinimą"
msgid "Remove finished."
-msgstr ""
+msgstr "Pašalinimas baigtas."
msgid "Remove plugins"
msgstr "Pašalinti priedus"
msgstr "Pašalinti neužbaigtą .NFI failą?"
msgid "Remove timer"
-msgstr ""
+msgstr "Pašalinkite laikmatį"
msgid "Remove title"
msgstr "Pašalinti "
msgid "Removing"
-msgstr ""
+msgstr "Pašalinimas"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
msgstr "Atkurti"
msgid "Restore backups..."
-msgstr ""
+msgstr "Atkurkite atsargines kopijas..."
msgid "Restore running"
-msgstr ""
+msgstr "Vyksta atkūrimas"
msgid "Restore running..."
-msgstr ""
+msgstr "Vyksta atkūrimas..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Atkurkite sisteminius nustatymus"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
"settings now."
msgstr ""
-"Nustatymų atkūrimas baigtas. Prašome spausti OK, norint aktyvuoti nustatymus "
-"dabar."
+"Nustatymų atkūrimas baigtas. Prašome spausti OK, norėdami aktyvuoti "
+"nustatymus dabar."
msgid "Resume from last position"
msgstr "Tęsti nuo paskutinės pozicijos"
msgid "Scan "
msgstr "Skanuoti"
+msgid "Scan Files..."
+msgstr "Skanuoti failus..."
+
msgid "Scan QAM128"
msgstr "Skanuoti QAM128"
msgstr "Ieškoti"
msgid "Select"
-msgstr ""
+msgstr "Pasirinkite"
msgid "Select HDD"
msgstr "Pasirinkite kietą diską"
+msgid "Select IPKG source to edit..."
+msgstr ""
+
msgid "Select Location"
msgstr "Pasirinkite vietą"
msgstr "Pasirinkite kanalą įrašymui"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Išsirinkite failus atsarginei kopijai. Dabar išsirinkta:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Išsirinkite failus/aplankus dėl atsarginės kopijos..."
msgid "Select image"
-msgstr "Išsirinkite atvaizdą"
+msgstr "Pasirinkite atvaizdą"
msgid "Select refresh rate"
msgstr "Pasirinkite atnujinimo normą"
msgid "Select video input"
msgstr "Pasirinkite vaizdo įėjimą"
+msgid "Select video input with up/down buttons"
+msgstr "Pasirinkite vaizdo įėjimą su mygtukais aukštyn/žemyn"
+
msgid "Select video mode"
msgstr "Pasirinkite vaizdo būdą"
msgid "Selected source image"
-msgstr "Išsirinktas šaltinio atvaizdas"
+msgstr "Pasirinktas atvaizdo šaltinis"
msgid "Send DiSEqC"
msgstr "Siųskite DiSEqC"
msgstr "Pasirinkti numatytą sąsają"
msgid "Set interface as default Interface"
-msgstr "Nustatytas interfeisas kaip numatytas interfeisas"
+msgstr "Nustatykite sąsają kaip numatytą sąsają"
msgid "Set limits"
msgstr "Nustatykite ribas"
msgstr "Palėtinto judėjimo greitis"
msgid "Software manager"
-msgstr ""
+msgstr "Programinės įrangos valdymas"
msgid "Software manager..."
-msgstr ""
+msgstr "Programinės įrangos valdymas ..."
msgid "Software restore"
-msgstr ""
+msgstr "Programinės įrangos atkūrimas"
msgid "Software update"
-msgstr ""
+msgstr "Programinės įrangos atnaujinimas"
msgid "Some plugins are not available:\n"
msgstr "Kai kurių priedų nėra:\n"
msgstr "Dar kur nors"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Gaila MediaScanner nėra įdiegtas!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Gaila, jokios atsarginės kopijos nerastos!"
msgid ""
"Sorry your Backup destination does not exist\n"
msgstr ""
"Atsiprašome, bet nurodytos atsarginės kopijos čia nėra.\n"
"\n"
-"Pasirinkite prašome kitą!"
+"Prašome pasirinkti kitą!"
msgid ""
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Gaila, jūsų atsarginės kopijos pasirinkimas nėra tinkamas rašymui.\n"
+"Prašome pasirinkti kitą."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Gaila, jūsų atsarginės kopijos pasirinkimas nėra tinkamas rašymui.\n"
+"\n"
+"Prašome pasirinkti kitą."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
msgstr "Stereo"
msgid "Stop"
-msgstr "Stoti"
+msgstr "Stabdyti"
msgid "Stop Timeshift?"
msgstr "Sustabdyti laiko perstumimą?"
msgstr "Stabdyti testavimą"
msgid "Stop testing plane after # failed transponders"
-msgstr ""
+msgstr "Stabdykite testavimą po to kai # klaidingi transponderiai"
msgid "Stop testing plane after # successful transponders"
-msgstr ""
+msgstr "Stabdykite testavimą po to kai # pavykę transponderiai"
msgid "Store position"
msgstr "Išsaugoti padėtį"
msgstr "Antžeminis tiekėjas"
msgid "Test DiSEqC settings"
-msgstr ""
+msgstr "Testuoti DiSEqC nustatymus"
msgid "Test Type"
-msgstr ""
+msgstr "Testo tipas"
msgid "Test mode"
msgstr "Testuoti"
"\n"
"Jūs norite įrašyti USB diegėją į šį raktelį?"
+msgid "The following files were found..."
+msgstr "Kiti failai buvo surasti..."
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
#, python-format
msgid "The results have been written to %s."
-msgstr ""
+msgstr "Rezultatai buvo įrašyti į %s."
msgid "The sleep timer has been activated."
msgstr "Budėjimo laikmatis jau aktyvuotas."
"Gali trukti laisvos vietos pasirinktame skaidinyje.\n"
"Ar norite tęsti?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr ""
+"Įvyko klaida, parsisiunčiant paketo sąrašą. Prašome pabandyti dar kartą."
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "Šis .NFI failas neturi galiojančio %s atvaizdo!"
"Šis DVD RW diskas jau yra suformatuotas - formatavimas iš naujo, ištrins "
"visą disko turinį."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Šis Dreambox negali iššifruoti %s srautų!"
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Šis Dreambox negali iškoduoti %s vaizdo srautų!"
msgid "Try to find used Transponders in cable network.. please wait..."
msgstr ""
-"Pabandykite surasti Transponderius kabeliniuose tinkluose.. prašome laukti..."
+"Bandoma surasti Transponderius kabeliniuose tinkluose.. prašome laukti..."
msgid "Try to find used transponders in cable network.. please wait..."
msgstr ""
-"Pabandykite surasti Transponderius kabeliniuose tinkluose.. prašome laukti..."
+"Bandoma surasti Transponderius kabeliniuose tinkluose.. prašome laukti..."
+
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Bandoma parsisiųsti naują paketo sąrašą. Prašome laukti..."
msgid "Tue"
msgstr "Ant"
msgstr "Du"
msgid "Type"
-msgstr ""
+msgstr "Tipas"
msgid "Type of scan"
msgstr "Skanavimo būdas"
msgstr "Perjungimo komanda DiSEqC"
msgid "Unicable"
-msgstr ""
+msgstr "Unicable"
msgid "Unicable LNB"
-msgstr ""
+msgstr "Unicable LNB"
msgid "Unicable Martix"
-msgstr ""
+msgstr "Unicable Martix"
msgid "Universal LNB"
msgstr "Universali LNB"
msgstr "Atnaujinama... Prašome palaukti... tai gali trukti keletą minučių..."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Atnaujinimas baigtas."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr "Atnaujinimas baigtas. Ar jūs norite perjungti imtuvą?"
msgstr "VMGM (įvadas)"
msgid "Vertical"
-msgstr ""
+msgstr "Vertikalus"
msgid "Video Fine-Tuning"
msgstr "Tikslus vaizdo suderinimas"
msgid "Video mode selection."
msgstr "Vaizdo būdo pasirinkimas."
+msgid "View Movies..."
+msgstr "Žiūrėti kino filmus..."
+
+msgid "View Photos..."
+msgstr "Žiūrėti fotografijas..."
+
msgid "View Rass interactive..."
msgstr "Žiūrėti Rass interaktyviai..."
+msgid "View Video CD..."
+msgstr "Žiūrėti vaizdo CD..."
+
msgid "View teletext..."
msgstr "Žiūrėti teletekstą..."
"\n"
"Really do a factory reset?"
msgstr ""
+"Jeigu jūs atkursite gamyklinius nustatymus, jūs prarasite VISUS savo "
+"konfigūracijos duomenis\n"
+"(įskaitant paketus, kanalus, palydovinius duomenis...) \n"
+"Po to, kai bus atkurti gamykliniai nustatymai imtuvas pasileis iš naujo "
+"automatiškai!\n"
+"\n"
+"Iš tikrųjų norite atkurti?"
msgid "Where do you want to backup your settings?"
msgstr "Kur Jūs norite išsaugoti nustatymų atsarginę kopiją?"
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Jūs nusprendėte padaryti atsarginę kopiją savo nustatymų. Prašome spausti "
+"OK, kad pradėtumėte atsarginę kopiją dabar."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"Jūs nusprendėte atkurti savo nustatymus. Enigma2 iš naujo pasileis po "
+"atkūrimo. Prašome spausti OK, kad pradėtumėte atkūrimą dabar."
#, python-format
msgid "You have to wait %s!"
"process."
msgstr "Atsarginė kopija sukurta. Dabar mes tęsime atnaujinimą. "
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"Jūsų kolekcija viršyja vieno sluoksnio DVD disko dydį, jums reikės tuščio "
+"dvigubo sluoksnio DVD!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Jūsų imtuvas išsijungia. Būkite šalia..."
msgid "[move mode]"
msgstr "[perkėlimas]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr ""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
msgid "abort alternatives edit"
msgstr "nutraukti kitų redagavimą"
msgid "activate current configuration"
msgstr "aktyvuokite dabartinę konfigūraciją"
+msgid "add Provider"
+msgstr ""
+
+msgid "add Service"
+msgstr ""
+
msgid "add a nameserver entry"
msgstr "pridėkite serverio pavadinimo įėjimą"
"Jūs tikrai norite atkurti\n"
"atsarginė kopija:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
msgstr "Garso takelio (%s) formatas"
msgstr "garso takeliai"
msgid "auto"
-msgstr ""
+msgstr "auto"
msgid "back"
msgstr "atgal"
msgstr "išdeginkite garso takelį (%s)"
msgid "change recording (duration)"
-msgstr "pakeisti įrašymą (trukmę)"
+msgstr "keisti įrašymą (trukmę)"
msgid "change recording (endtime)"
msgstr "keisti įrašymą (pabaigos laiką)"
msgid "day"
msgstr "diena"
+msgid "delete"
+msgstr "trinti"
+
msgid "delete cut"
msgstr "trinti iškirpimą"
msgstr "valandos"
msgid "immediate shutdown"
-msgstr "Išjungimas"
+msgstr "neatidėliotinas išjungimas"
#, python-format
msgid ""
msgid "init module"
msgstr "aptikti modulį"
+msgid "init modules"
+msgstr ""
+
msgid "insert mark here"
msgstr "įterpkite žymeklį čia"
msgid "no"
msgstr "ne"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "Kietas diskas nerastas"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "modulis nerastas"
msgid "no standby"
-msgstr "ne budėti"
+msgstr "nebudėti"
msgid "no timeout"
msgstr "nedaryti pertraukos"
msgstr "neužrakintas"
msgid "not used"
-msgstr ""
+msgstr "nenaudojamas"
msgid "nothing connected"
msgstr "niekas nepajungta"
msgid "select .NFI flash file"
msgstr "išsirinkite .NFI diegimo failą"
+msgid "select CAId"
+msgstr ""
+
msgid "select image from server"
msgstr "išsirinkite atvaizdą iš serverio"
msgstr "perjungti į grojaraštį"
msgid "switch to the next angle"
-msgstr ""
+msgstr "perjunkite į kitą kampą"
msgid "switch to the next audio track"
msgstr "perjungti į kitą garso takelį"
msgstr "perjungti į kitą subtitrų kalbą"
msgid "template file"
-msgstr ""
+msgstr "šablono failas"
msgid "textcolor"
msgstr "teksto spalva"
msgstr "baltas sąrašas"
msgid "working"
-msgstr ""
+msgstr "dirba"
msgid "yellow"
msgstr "geltonas"
msgid "zapped"
msgstr "įjungta"
+#~ msgid "\n"
+#~ msgstr "\n"
+
#~ msgid ""
#~ "\n"
-#~ "Enigma2 will restart after the restore"
+#~ "System will restart after the restore!"
#~ msgstr ""
#~ "\n"
-#~ "Enigma2 iš naujo pasileis po atkūrimo"
+#~ "Sistema po atkūrimo pasileis iš naujo!"
+
+#~ msgid ""
+#~ "\n"
+#~ "View, install and remove available or installed package."
+#~ msgstr ""
+#~ "\n"
+#~ "Peržiūrėti, įdiekti ir pašalinti pasiekiamą ar įdiegtą paketą."
#~ msgid "\"?"
#~ msgstr "\"?"
+#~ msgid "#00000000"
+#~ msgstr "#00000000"
+
+#~ msgid "#41000000"
+#~ msgstr "#41000000"
+
+#~ msgid "#50000000"
+#~ msgstr "#50000000"
+
+#~ msgid "#77ffffff"
+#~ msgstr "#77ffffff"
+
+#~ msgid "#999999"
+#~ msgstr "#999999"
+
+#~ msgid "#cccccc"
+#~ msgstr "#cccccc"
+
+#~ msgid "#dddddd"
+#~ msgstr "#dddddd"
+
+#~ msgid "..."
+#~ msgstr "..."
+
#~ msgid ".NFI Flasher bootable USB stick successfully created."
#~ msgstr ".NFI diegėjo paleidimo USB raktelis sėkmingai sukurtas."
+#~ msgid "A (really) simple RSS reader"
+#~ msgstr "Iš tikrųjų paprastas RSS skaitytojas"
+
#~ msgid "AGC"
#~ msgstr "AGC"
#~ msgid "Adress"
#~ msgstr "IP adresas"
+#~ msgid "Advanced options"
+#~ msgstr "Papildomi nustatymai"
+
+#~ msgid "Alert"
+#~ msgstr "Pavojus"
+
+#~ msgid "Alert at shutdown"
+#~ msgstr "Perspėti prieš išjungiant"
+
#~ msgid "All..."
#~ msgstr "Visi..."
+#~ msgid "Allow ipkg to overwrite files from another package during an install"
+#~ msgstr "Leiskite ipkg perrašyti failus iš kito paketo įdiegiant"
+
+#~ msgid "Allow ipkg to reinstall a package"
+#~ msgstr "Leiskite ipkg iš naujo įdiegti paketą"
+
+#~ msgid "Allow ipkg to remove package and all that depend on it"
+#~ msgstr "Leiskite ipkg pašalinti paketą ir viską, kas susiję su tai"
+
#~ msgid "Allow zapping via webif"
#~ msgstr "Leisti jungti per webif"
#~ msgid "An error has occured. (%s)"
#~ msgstr "Įvyko klaida. (%s)"
+#~ msgid "An error occured!"
+#~ msgstr "Klaida įvyko!"
+
#~ msgid ""
#~ "Are you sure you want to enable WLAN support?\n"
#~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n"
#~ "Jūs esate įsitikinęs, kad jūs norite įjungti savo vietinį tinklą? \n"
#~ "\n"
+#~ msgid "Audio track (%s) format"
+#~ msgstr "Garso takelio (%s) formatas"
+
+#~ msgid "Audio track (%s) language"
+#~ msgstr "Garso takelio (%s) kalba"
+
+#~ msgid "Audio-CD"
+#~ msgstr "Garso CD"
+
#~ msgid "Automatic SSID lookup"
#~ msgstr "Automatinė SSID paieška"
#~ msgid "Autowrite timer"
#~ msgstr "Automatinis laikamačio perrašymas"
+#~ msgid "BER :"
+#~ msgstr "BER :"
+
+#~ msgid "Background color"
+#~ msgstr "Foninė spalva"
+
+#~ msgid "Backup and Restore"
+#~ msgstr "Atsarginė kopija ir atkūrimas"
+
+#~ msgid "Barry Allen Menu"
+#~ msgstr "Barry Allen meniu"
+
+#~ msgid "Barry Allen Menu: %s"
+#~ msgstr "Barry Allen meniu: %s"
+
+#~ msgid "Blue Panel"
+#~ msgstr "Mėlyna Panėlė"
+
+#~ msgid "Bookmarks menu"
+#~ msgstr "Adresų meniu"
+
#~ msgid "Burn"
#~ msgstr "Išdeginti"
#~ msgid "Burn To DVD..."
#~ msgstr "Išdeginti į DVD..."
+#~ msgid "Burn audio track (%s)"
+#~ msgstr "Išdeginkite garso takelį (%s)"
+
+#~ msgid "CAMD options..."
+#~ msgstr "CAMD nustatymai..."
+
+#~ msgid "Choice action"
+#~ msgstr "Pasirinkite veiksmą"
+
#~ msgid "Choose Location"
#~ msgstr "Išsirinkite vietą"
+#~ msgid "Common interface"
+#~ msgstr "Įstatomi moduliai"
+
+#~ msgid "Common interface selection"
+#~ msgstr "Įstatomo modulio pasirinkimas"
+
#, fuzzy
#~ msgid "Configuration for the Webinterface"
#~ msgstr "Konfigūravimo būdas"
#~ msgid "Connect to the Internet with your local LAN"
#~ msgstr "Prisijunkite prie interneto su vietiniu tinklu"
+#~ msgid "Console"
+#~ msgstr "Konsolė"
+
#~ msgid "Copying USB flasher boot image to stick..."
#~ msgstr "Kopijuojamas USB diegėjo paleidimo atvaizdas į raktelį..."
+#~ msgid "Current sleep timer disabled"
+#~ msgstr "Einamasis budėjimo laikmatis išjungtas"
+
+#~ msgid "Current sleep timer enabled"
+#~ msgstr "Einamasis budėjimo laikmatis ijungtas"
+
+#~ msgid "Current timer status:"
+#~ msgstr "Einamojo laikmačio būsena:"
+
+#~ msgid "CutList Editor"
+#~ msgstr "Iškirpimo sąrašo redaktorius"
+
+#~ msgid "Cutlist editor"
+#~ msgstr "Sąrašo iškirpimo redaktorius"
+
#~ msgid "DVD ENTER key"
#~ msgstr "DVD SURINKTI raktą"
+#~ msgid "DVD File Browser"
+#~ msgstr "DVD failų naršyklė"
+
#~ msgid "DVD down key"
#~ msgstr "DVD žemyn raktas"
+#~ msgid "DVD file browser"
+#~ msgstr "DVD failų naršyklė"
+
#~ msgid "DVD left key"
#~ msgstr "DVD kairėn raktas"
+#~ msgid "DVD player"
+#~ msgstr "DVD grotuvas"
+
#~ msgid "DVD right key"
#~ msgstr "DVD dešinėn raktas"
+#~ msgid "DVD title list"
+#~ msgstr "DVD pavadinimo sąrašas"
+
#~ msgid "DVD up key"
#~ msgstr "DVD aukštyn raktas"
+#~ msgid "DVDPlayer"
+#~ msgstr "DVD grotuvas"
+
#~ msgid "Decompressing USB stick flasher boot image..."
#~ msgstr "Dekompresuojamas USB raktelis, diegėjo paleidžiamasis atvaizdas..."
+#~ msgid "Default Satlists"
+#~ msgstr "Numatytieji palydovų sąrašai"
+
+#~ msgid "Default Services Scanner"
+#~ msgstr "Numatytas palydovų skanavimas"
+
+#~ msgid "Default Settings"
+#~ msgstr "Numatytieji nustatymai"
+
#~ msgid "Default-Wizard"
#~ msgstr "Numatytas vedlys"
#~ msgid "Device Setup..."
#~ msgstr "Įrenginių nustatymas..."
+#~ msgid "Directory browser"
+#~ msgstr "Direktorijų naršyklė"
+
#~ msgid "Discontinuous playback at speeds above"
#~ msgstr "Trukinėjantis atkūrimas prie didelių greičių"
#~ msgid "Discontinuous playback frame repeat count"
#~ msgstr "Trukinėjantis atkūrimas pasikartojančia struktūra"
+#~ msgid "Display Fritzbox-Fon calls on screen"
+#~ msgstr "Rodyti Fritzbox-Fon skambučius ekrane"
+
#~ msgid ""
#~ "Do you really want to REMOVE\n"
#~ "the plugin \""
#~ msgid "Do you really want to exit?"
#~ msgstr "Jūs tikrai norite išeiti?"
+#~ msgid "Do you want to reboot you DreamBox?"
+#~ msgstr "Jūs norite paleisti iš naujo DreamBox?"
+
+#~ msgid "Do you want to restart shell?"
+#~ msgstr "Jūs norite paleisti iš naujo Enigma2?"
+
#~ msgid "Downloading image description..."
#~ msgstr "Atvaizdo apibūdinimo parsisiuntimas..."
+#~ msgid "Dream Package"
+#~ msgstr "Dream paketas"
+
+#~ msgid "Edit Interface"
+#~ msgstr "Redaguoti sąsają"
+
#~ msgid "Edit current title"
#~ msgstr "Suredaguokite dabartinį pavadinimą"
#~ msgid "Enable WLAN"
#~ msgstr "Įjungti belaidį tinklą"
+#~ msgid "Enable teletext caching"
+#~ msgstr "Įjungti teleteksto kaupimą"
+
#~ msgid ""
#~ "Enable the local network of your Dreambox.\n"
#~ "\n"
#~ "Įjunkite vietinį tinklą savo imtuve.\n"
#~ "\n"
+#~ msgid "Enabled sleep timer"
+#~ msgstr "Įjungti budėjimo laikmatį"
+
#~ msgid "End"
#~ msgstr "Pabaiga"
+#~ msgid "Enter pin"
+#~ msgstr "Įrašykite kodą"
+
#~ msgid "Exit wizard and configure later manually"
#~ msgstr "Išjunkite nustatymų vedlį ir konfigūruokite vėliau rankiniu būdu "
+#~ msgid "FEC :"
+#~ msgstr "FEC :"
+
+#~ msgid "FEC:"
+#~ msgstr "FEC:"
+
+#~ msgid "FP Upgrade"
+#~ msgstr "FP atnaujinimas"
+
+#~ msgid "FP upgrade required"
+#~ msgstr "FP reikalingas atnaujinimas"
+
+#~ msgid "FQ :"
+#~ msgstr "FQ :"
+
#~ msgid "Factoryreset"
#~ msgstr "Gamykliniai nustatymai"
+#~ msgid "File Manager"
+#~ msgstr "Failų valdymas"
+
+#~ msgid "File list"
+#~ msgstr "Failų sąrašas"
+
+#~ msgid "File list menu"
+#~ msgstr "Failų sąrašo meniu"
+
+#~ msgid "File-Manager"
+#~ msgstr "Failo valdymas"
+
+#~ msgid "File-manager"
+#~ msgstr "Failo valdymas"
+
+#~ msgid "FileManager"
+#~ msgstr "Failų valdymas"
+
+#~ msgid "Filesystem Check"
+#~ msgstr "Failų sistemos tikrinimas"
+
#~ msgid "Fix USB stick"
#~ msgstr "Taisyti USB"
#~ msgid "Font size"
#~ msgstr "Šrifto dydis"
+#~ msgid "Forward"
+#~ msgstr "Atsukimas"
+
+#~ msgid "Frequency:"
+#~ msgstr "Dažnis:"
+
+#~ msgid "FritzCall"
+#~ msgstr "FritzCall"
+
+#~ msgid "FritzCall Setup"
+#~ msgstr "FritzCall nustatymas"
+
+#~ msgid "Harddisk wait"
+#~ msgstr "Kietas diskas laukia"
+
+#~ msgid "Help"
+#~ msgstr "Pagalba"
+
+#~ msgid "Hide error message: No data on transponder! (Timeout reading PAT)"
+#~ msgstr ""
+#~ "Slėpti klaidingą žinutę: Nėra duomenų iš transponderio! (Pertrauka, "
+#~ "skaitomas PAT)"
+
+#~ msgid "Hide error message: No free tuner!"
+#~ msgstr "Slėpti klaidingą žinutę: Nėra laisvo imtuvo!"
+
+#~ msgid "Hide error message: Service invalid! (Timeout reading PMT)"
+#~ msgstr ""
+#~ "Slėpti klaidingą žinutę: Klaidingas kanalas! (Pertrauka, skaitomas PMT)"
+
+#~ msgid "Hide error message: Service not found! (SID not found in PAT)"
+#~ msgstr "Slėpti klaidingą žinutę: Kanalas nesurastas! (SID, nesurastas PAT)"
+
+#~ msgid "Hide error message: Tune failed!"
+#~ msgstr "Slėpti klaidingą žinutę: Suderinimas nepavyko!"
+
+#~ msgid "IPKG"
+#~ msgstr "IPKG"
+
+#~ msgid "IPKG frontend"
+#~ msgstr "IPKG pradinė fazė"
+
+#~ msgid "IPKG source"
+#~ msgstr "IPKG šaltinis"
+
+#~ msgid "IPKG upgrade..."
+#~ msgstr "IPKG atnaujinimas..."
+
+#~ msgid "Image Wizard"
+#~ msgstr "Atvaizdo vedlys"
+
+#~ msgid "Immediately"
+#~ msgstr "Nedelsiant"
+
+#~ msgid "Info"
+#~ msgstr "Informacija"
+
+#~ msgid "Initialization"
+#~ msgstr "Inicializavimas"
+
+#~ msgid "Install"
+#~ msgstr "Įdiegti"
+
+#~ msgid "Install local package"
+#~ msgstr "Įdiekite vietinį paketą"
+
+#~ msgid "Install plugin finished."
+#~ msgstr "Priedo įdiegimas baigtas."
+
+#~ msgid "Interactive"
+#~ msgstr "Interaktyvus"
+
#~ msgid "Jump to video title 1 (play movie from start)"
#~ msgstr "Šuolis į vaizdo pavadinimą 1 (rodo kino filmą nuo pradžios)"
+#~ msgid "Language"
+#~ msgstr "Kalba"
+
+#~ msgid "Language Selection"
+#~ msgstr "Kalbos pasirinkimas"
+
+#~ msgid "Lets you view current RSS entries"
+#~ msgstr "Leidžia jums žiūrėti einamuosius RSS įvykius"
+
+#~ msgid "List of configured interfaces"
+#~ msgstr "Sukonfigūruotų interfeisų sąrašas"
+
#~ msgid "Load movie-length"
#~ msgstr "Keisti filmo ilgį"
+#~ msgid "MMI"
+#~ msgstr "MMI"
+
+#~ msgid "Main Setup"
+#~ msgstr "Svarbiausi nustatymai"
+
+#~ msgid "Media Player"
+#~ msgstr "Media grotuvas"
+
+#~ msgid "MediaScanner"
+#~ msgstr "Media skaneris"
+
+#~ msgid "Medialist menu"
+#~ msgstr "Media sąrašo meniu"
+
+#~ msgid "Mediaplayer"
+#~ msgstr "Media grotuvas"
+
+#~ msgid "Movie player"
+#~ msgstr "Filmų grotuvas"
+
+#~ msgid "Music"
+#~ msgstr "Muzika"
+
#~ msgid "Nameserver Setup..."
#~ msgstr "Serverio nustatymas..."
+#~ msgid "Network"
+#~ msgstr "Tinklas"
+
+#~ msgid "Network Adapter test"
+#~ msgstr "Tinklo adapterio testas"
+
+#~ msgid "Network Configuration"
+#~ msgstr "Tinklo konfigūravimas"
+
+#~ msgid "Network Wizard"
+#~ msgstr "Tinklo vedlys"
+
+#~ msgid "Network wizard"
+#~ msgstr "Tinklo vedlys"
+
#~ msgid "New DVD"
#~ msgstr "Naujas DVD"
+#~ msgid "No new plugins found"
+#~ msgstr "Naujų programų nerasta"
+
#~ msgid ""
#~ "No working local networkadapter found.\n"
#~ "Please verify that you have attached a network cable and your Network is "
#~ "suformatuoti ir naudoti kaip.NFI atvaizdo diegėją. Spauskite OK po to, "
#~ "kai jūs įdėjote raktelį."
+#~ msgid "OSD Setup by Vali"
+#~ msgstr "OSD nustatymas pagal Vali"
+
+#~ msgid "OSDsetup"
+#~ msgstr "OSD nustatymas"
+
+#~ msgid "Old Softwareupdate"
+#~ msgstr "Senas programinės įrangos atnaujinimas"
+
+#~ msgid "Open settings packages management."
+#~ msgstr "Atidarykite paketų nustatymo valdymą."
+
#~ msgid "Other..."
#~ msgstr "Kitas..."
+#~ msgid "Package installer"
+#~ msgstr "Paketo įdiegėjas"
+
+#~ msgid "Package management"
+#~ msgstr "Paketo valdymas"
+
#~ msgid "Partitioning USB stick..."
#~ msgstr "Padalijamas USB raktelis..."
+#~ msgid "Pause"
+#~ msgstr "Pauzė"
+
+#~ msgid "Picture Player"
+#~ msgstr "Paveikslėlių grotuvas"
+
+#~ msgid "Picture player"
+#~ msgstr "Paveikslėlių grotuvas"
+
+#~ msgid "Picture viewer (BMP, PNG, JPG, GIF)"
+#~ msgstr "Paveikslėlių peržiūra (BMP, PNG, JPG, GIF)"
+
+#~ msgid "Play DVDs"
+#~ msgstr "Leisti DVD"
+
+#~ msgid "Play back media files"
+#~ msgstr "Atkurkite media failus"
+
+#~ msgid "Play list"
+#~ msgstr "Grojaraštis"
+
+#~ msgid "Play list menu"
+#~ msgstr "Grojaraščio meniu"
+
#~ msgid ""
#~ "Please attach your Zydas ZD1211B chipset compatibe WLAN USB Stick to your "
#~ "Dreambox and press the OK button on your remote control to enable the "
#~ msgid "Please select keyword to filter..."
#~ msgstr "Prašome išsirinkti raktinį žodį dėl filtravimo..."
+#~ msgid "Please select plugin and press OK for install"
+#~ msgstr "Prašome išsirinkti papildomą programą ir spauskite OK, kad įdiegti"
+
+#~ msgid "Please select plugin and press OK for remove"
+#~ msgstr ""
+#~ "Prašome išsirinkti papildomą programą ir spauskite OK, kad pašalinti"
+
#, fuzzy
#~ msgid ""
#~ "Please select the network interface that you want to use for your "
#~ msgid "Please wait for md5 signature verification..."
#~ msgstr "Prašome laukti md5 parašo patikrinimo..."
+#~ msgid "Plugins list..."
+#~ msgstr "Papildomų programų sąrašas..."
+
#, fuzzy
#~ msgid "Port"
#~ msgstr "Jungtis A"
#~ "OK.\n"
#~ "\n"
+#~ msgid "Project Settings"
+#~ msgstr "Projektiniai nustatymai"
+
+#~ msgid "RSS Reader"
+#~ msgstr "RSS skaitytojas"
+
+#~ msgid "RassInteractive"
+#~ msgstr "Interaktyvus Rass"
+
#~ msgid "Really delete this timer?"
#~ msgstr "Tikrai pašalinti šį laikmatį?"
#~ msgid "Remounting stick partition..."
#~ msgstr "Perjungiamas raktelio padalinimas..."
+#~ msgid "Remove plugin finished."
+#~ msgstr "Priedo pašalinimas baigtas."
+
+#~ msgid "Repeat playlist"
+#~ msgstr "Pakartoti grojaraštį"
+
+#~ msgid "Restart shell"
+#~ msgstr "Paleisti iš naujo Enigma2"
+
#~ msgid "Restart your wireless interface"
#~ msgstr "Paleiskite iš naujo savo belaidį įrenginį"
+#~ msgid "Restore Backups"
+#~ msgstr "Atkurkite atsargines kopijas"
+
+#~ msgid "Restore Menu"
+#~ msgstr "Akūrimo meniu"
+
+#~ msgid "Restore backup"
+#~ msgstr "Atkurkite atsarginę kopiją"
+
+#~ msgid "Rewind"
+#~ msgstr "Persukimas"
+
+#~ msgid "SNR :"
+#~ msgstr "SNR :"
+
+#~ msgid "SR :"
+#~ msgstr "SR :"
+
#~ msgid "Save current project to disk"
#~ msgstr "Išsaugoti dabartinį projektą į diską"
+#~ msgid "Save last directory on exit"
+#~ msgstr "Išsaugoti paskutinę direktoriją išeinant"
+
+#~ msgid "Save playlist on exit"
+#~ msgstr "Išsaugoti grojaraštį išeinant"
+
#~ msgid "Save..."
#~ msgstr "Išsaugoti..."
+#~ msgid "Seek:"
+#~ msgstr "Ieškokite:"
+
+#~ msgid "Select Your Skin"
+#~ msgstr "Pasirinkite savo temą"
+
+#~ msgid "Select backup location"
+#~ msgstr "Pasirinkite atsarginės kopijos vietą"
+
+#~ msgid "Select files and folders for backup. Currently selected:\n"
+#~ msgstr ""
+#~ "Pasirinkite failus ir aplankus atsarginei kopijai. Šiuo metu pasirinkta:\n"
+
+#~ msgid "Select files and folders to backup"
+#~ msgstr "Pasirinkite failus ir aplankus atsarginės kopijos darymui"
+
+#~ msgid "Select profile CAMD"
+#~ msgstr "Pasirinkite CAMD profilį"
+
+#~ msgid "Setting Sleep Timer"
+#~ msgstr "Budėjimo laikmačio nustatymas"
+
+#~ msgid "Settings package management"
+#~ msgstr "Paketo nustatymų valdymas"
+
+#~ msgid "Setup mode select profile CAMD"
+#~ msgstr "Nustatymo būdu pasirinkite CAMD profilį"
+
+#~ msgid "Shadow color"
+#~ msgstr "Šešėlinė spalva"
+
+#~ msgid "Sherlock"
+#~ msgstr "Sherlock"
+
+#~ msgid "Show Infoline"
+#~ msgstr "Rodyti informacijos liniją"
+
#~ msgid "Show files from %s"
#~ msgstr "Rodyti failus iš %s"
+#~ msgid "Show infobar in Expert Mode"
+#~ msgstr "Rodyti infojuostą Eksperto režime"
+
+#~ msgid "Show orbital position of infobar"
+#~ msgstr "Rodyti orbitinę padėtį infojuostoje"
+
+#~ msgid "Shutdown"
+#~ msgstr "Išjungti"
+
+#~ msgid "Shutdown after (minutes)"
+#~ msgstr "Išjungimas po (minučių)"
+
+#~ msgid "Similar broadcasts"
+#~ msgstr "Panašios laidos"
+
+#~ msgid "Simple RSS Reader"
+#~ msgstr "Paprastas RSS skaitytojas"
+
+#~ msgid "Skin"
+#~ msgstr "Tema"
+
+#~ msgid "Skinselector"
+#~ msgstr "Temų pasirinkėjas"
+
+#~ msgid "Sleep timer action"
+#~ msgstr "Budėjimo laikmačio veiksmas"
+
+#~ msgid "Slide picture in loop"
+#~ msgstr "Skaidrės paveikslėlis kontūre"
+
+#~ msgid "SocketMMI"
+#~ msgstr "Lizdas MMI"
+
+#~ msgid "Software Update..."
+#~ msgstr "Programinės įrangos atnaujinimas..."
+
+#~ msgid "Softwareupdate"
+#~ msgstr "Programinės įrangos atnaujinimas"
+
+#~ msgid ""
+#~ "Sorry! You use an unregistered version of ruDREAM infinity image! This "
+#~ "image is only for ruDREAM Club members..."
+#~ msgstr ""
+#~ "Gaila! Jūs naudojate neregistruotą ruDREAM infinity atvaizdo versiją! Šis "
+#~ "atvaizdas yra tiktai ruDREAM klubo nariams..."
+
#~ msgid "Start"
#~ msgstr "Pradėti"
#~ msgid "Start Webinterface"
#~ msgstr "Pasirinkti numatytą sąsają"
+#~ msgid "Start Wizard"
+#~ msgstr "Paleisti vedlį"
+
+#~ msgid "Start directory"
+#~ msgstr "Paleidimo direktorija"
+
#~ msgid "Startwizard"
#~ msgstr "Nustatymų vedlys"
#~ msgid "Step "
#~ msgstr "Žingsnis"
+#~ msgid "Symbolrate:"
+#~ msgstr "Simbolių greitis:"
+
#~ msgid "Table of content to be burned to DVD:"
#~ msgstr "Turinys, kuris būtų išdegintas į DVD:"
+#~ msgid "Text color"
+#~ msgstr "Teksto spalva"
+
#~ msgid ""
#~ "Thank you for using the wizard. Your Dreambox is now ready to use.\n"
#~ "\n"
#~ "raktelyje. Tada perkraukite ir laikykite nuspaustą mygtuką 'Žemyn' ant "
#~ "priekinės imtuvo panėlės kad paleisti .NFI diegėją iš raktelio!"
+#~ msgid "Timeshift path"
+#~ msgstr "Laiko poslinkio kelias"
+
+#~ msgid "Title Properties"
+#~ msgstr "Pavadinimo ypatybės"
+
#~ 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 "
#~ "Jeigu jūs ketinate daryti tai, prašome pašalinti USB raktelį dabar. "
#~ "Spauskite OK, kai išimsite raktelįį."
+#~ msgid "Tuner Menu"
+#~ msgstr "Imtuvo meniu"
+
+#~ msgid "Tutorial Wizard"
+#~ msgstr "Mokymo Vedlys"
+
+#~ msgid "Update..."
+#~ msgstr "Atnaujinimas..."
+
#, fuzzy
#~ msgid "Use Authorization"
#~ msgstr "Poliarizacija"
#~ msgid "Use SSL Encryption"
#~ msgstr "Užšifravimas"
+#~ msgid ""
+#~ "Use customazing directory for package installation, removal, upgrading"
+#~ msgstr ""
+#~ "Naudokite pasirinktą direktoriją paketų įdiegimui, pašalinimui, "
+#~ "patobulinimui"
+
+#~ msgid ""
+#~ "Use this directory as the the root directory for package installation, "
+#~ "removal, upgrading"
+#~ msgstr ""
+#~ "Naudokite šią direktoriją kaip pagrindinę direktoriją paketų įdiegimui, "
+#~ "pašalinimui, patobulinimui"
+
#~ msgid "VCR Switch"
#~ msgstr "VCR perjungėjas"
+#~ msgid "VLC Media List"
+#~ msgstr "VLC media sąrašas"
+
+#~ msgid "VLC Server Configuration"
+#~ msgstr "VLC serverio konfigūracija"
+
+#~ msgid "VLC Server List"
+#~ msgstr "VLC serverių sąrašas"
+
+#~ msgid "Video CD"
+#~ msgstr "Vaizdo CD"
+
+#~ msgid "View RSS"
+#~ msgstr "Žiūrėti RSS"
+
+#~ msgid "VlcMediaListScreen"
+#~ msgstr "Vlc media sąrašo ekranas"
+
+#~ msgid "VlcServerConfigScreen"
+#~ msgstr "Vlc serverio konfigūravimo ekranas"
+
#~ msgid "Waiting for USB stick to settle..."
#~ msgstr "Laukite kol USB raktelis susitvarkys..."
+#~ msgid "Weather Channel"
+#~ msgstr "Oro kanalas"
+
+#~ msgid "Webinterface"
+#~ msgstr "Web sąsaja"
+
+#~ msgid "Webinterface: Main Setup"
+#~ msgstr "Web sąsaja: Svarbiausi nustatymai"
+
+#~ msgid "Webinterface: edit Interface"
+#~ msgstr "Web sąsaja: redaguoti"
+
+#~ msgid "Webinterface: list of configured Interfaces"
+#~ msgstr "Web sąsaja: konfigūruotų sąsajų sąrašas"
+
#, fuzzy
#~ msgid ""
#~ "Welcome.\n"
#~ "Jūsų belaidžio interneto prisijungimas neveikia!\n"
#~ "Prašom pasirinkti tai, ką jūs norite padaryti paskui."
+#~ msgid "alert at shutdown"
+#~ msgstr "pavojus išjungiant"
+
+#~ msgid "burn to DVD..."
+#~ msgstr "išdeginti į DVD..."
+
#~ msgid "by Exif"
#~ msgstr "pagal Exif"
#~ msgid "color"
#~ msgstr "Spalva"
-#~ msgid "delete"
-#~ msgstr "trinti"
+#~ msgid "cutlist Editor"
+#~ msgstr "sąrašo iškirpimo Redaktorius"
+
+#~ msgid "cutlist editor"
+#~ msgstr "sąrašo iškirpimo redaktorius"
+
+#~ msgid "cutlist editor..."
+#~ msgstr "sąrašo iškirpimo redaktorius ..."
+
+#~ msgid "delete entry"
+#~ msgstr "trinti užduotį"
+
+#~ msgid "edit settings"
+#~ msgstr "redaguoti nustatymus"
#~ msgid "equal to Socket A"
#~ msgstr "lygus lizdui A"
#~ msgid "full /etc directory"
#~ msgstr "pilną /etc direktoriją"
+#~ msgid "grab this frame as bitmap"
+#~ msgstr "užgriebti šį rėmą kaip taškinę grafiką"
+
#~ msgid "headline"
#~ msgstr "antraštė"
#~ msgid "show second tag"
#~ msgstr "rodyti sekančią kortelę"
+#~ msgid "shutdown immediately"
+#~ msgstr "išjungti nedelsiant"
+
#~ msgid "spaces (top, between rows, left)"
#~ msgstr "erdvė (viršus, tarp eilių, kairė)"
+#~ msgid "subtitle selection"
+#~ msgstr "subtitrų pasirinkimas"
+
#~ msgid "text"
#~ msgstr "tekstas"
+
+#~ msgid "view selected subtitles..."
+#~ msgstr "peržiūrėkite išsirinktus subtitrus..."
+
+#~ msgid "view teletext..."
+#~ msgstr "žiūrėti teletekstą..."
+
+#~ msgid "white"
+#~ msgstr "baltas"
+
+#~ msgid "x"
+#~ msgstr "x"
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2009-02-09 20:18+0200\n"
+"POT-Creation-Date: 2009-02-26 14:15+0100\n"
+"PO-Revision-Date: 2009-02-25 20:35+0200\n"
"Last-Translator: Ivo Grinbergs <ivog@apollo.lv>\n"
"Language-Team: Ivo / enigma2 (c) <ivog@apolllo.lv>\n"
"MIME-Version: 1.0\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Paplašinātās opcijas un iestatījumi."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Nospiediet OK un gaidiet!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Veidot Dreambox iestatījumu dublējumkopiju."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Rediģēt atjaunināšanas avota adresi."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 restartēsies pēc atjaunošanas"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Dreambox programmatūras atjaunināšana tiešsaistē."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Spiediet OK uz tālvadības pults, lai turpinātu."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Atjaunot Dreambox iestatījumus."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Atjaunot Dreambox ar jaunu programmatūru."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Atjaunot dublējumkopijas pēc datuma."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Meklēt lokālās pakotnes un uzstādīt tās."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Izvēlieties dublējumkopijas ierīci.\n"
+"Pašreizējā ierīce: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Skatīt, uzstādīt un dzēst pieejamās vai uzstādītās pakotnes."
msgid " "
msgstr " "
"A sleep timer wants to set your\n"
"Dreambox to standby. Do that now?"
msgstr ""
-"Sleep taimeris vēlas pārslēgt\n"
+"Miega taimeris vēlas pārslēgt\n"
"Dreambox gaidstāves režīmā. Vai darīt to tagad?"
msgid ""
"A sleep timer wants to shut down\n"
"your Dreambox. Shutdown now?"
msgstr ""
-"Sleep taimeris vēlas izslēgt\n"
+"Miega taimeris vēlas izslēgt\n"
"Dreambox. Vai darīt to tagad?"
msgid ""
"OK to close the video fine-tuning, or use the number keys to select other "
"test screens."
msgstr ""
-"Regulēt krāsu iestatījumus tā lai visi krāsu toņi ir izšķirami bet, cik "
-"iespējams, piesātināti. Ja esat apmierināti ar rezultātu, spiediet OK lai "
+"Regulēt krāsu iestatījumus tā, lai visi krāsu toņi ir izšķirami bet, cik "
+"iespējams, piesātināti. Ja esat apmierināti ar rezultātu, spiediet OK, lai "
"aizvērtu attēla precizēšanu vai izmantojiet ciparu taustiņus, lai izvēlētos "
"citus testēšanas rastrus."
msgstr "Paplašināts"
msgid "Advanced Options"
-msgstr ""
+msgstr "Paplašinātās opcijas"
msgid "Advanced Video Setup"
msgstr "Paplašinātā attēla iestatne"
msgid "Advanced restore"
-msgstr ""
+msgstr "Paplašinātā atjaunošana"
msgid "After event"
msgstr "Pēc notikuma"
msgid "An empty filename is illegal."
msgstr "Datnes nosaukums nevar būt tukšs"
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Nezināma kļūda!"
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Vai tiešām vēlaties atjaunot\n"
+"šo kopiju:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Vai tiešām vēlaties atjaunot šo Enigma2 kopiju?\n"
+"Enigma2 restartēsies pēc atjaunošanas"
msgid "Artist"
msgstr "Izpildītājs"
msgstr "Dublējumkopijas režīms"
msgid "Backup done."
-msgstr ""
+msgstr "Dublējumkopija izveidota."
msgid "Backup failed."
-msgstr ""
+msgstr "Dublējumkopija neizdevās."
msgid "Backup is done. Please press OK to see the result."
-msgstr "Dublējumkopija izveidota. Lūdzu spiediet OK lai apskatītu rezultātu."
+msgstr "Dublējumkopija izveidota. Lūdzu spiediet OK, lai apskatītu rezultātu."
msgid "Backup running"
-msgstr ""
+msgstr "Dublējumkopija tiek veidota"
msgid "Backup running..."
-msgstr ""
+msgstr "Dublējumkopija tiek veidota..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Veidot sistēmas iestatījumu dublējumkopiju"
msgid "Band"
msgstr "Josla"
msgstr "0 taustiņa nozīme PiP režīmā"
msgid "Behavior when a movie is started"
-msgstr "Darbība kad filma ir palaista"
+msgstr "Darbība, kad filma ir palaista"
msgid "Behavior when a movie is stopped"
msgstr "Darbība kad filma ir apturēta"
msgstr "Izvēlēties uztvērēju"
msgid "Choose backup files"
-msgstr ""
+msgstr "Izvēlieties dublējumkopijas datnes"
msgid "Choose backup location"
-msgstr ""
+msgstr "Izvēlieties dublējumkopijas vietu"
msgid "Choose bouquet"
msgstr "Izvēlēties buķeti"
msgstr "Izvēlēties mērķa mapi"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Izvēlieties atjaunināšanas avotu"
msgid "Choose your Skin"
msgstr "Izvēlēties ādiņu"
msgstr "Nevar savienoties ar Dreambox .NFI imidža barotnes serveris:"
msgid "Could not load Medium! No disc inserted?"
-msgstr "Nevar ielādēt mediju! Disks nav ievietots?"
+msgstr "Nevar ielādēt datu nesēju! Disks nav ievietots?"
#, python-format
msgid "Couldn't record due to conflicting timer %s"
msgid "Description"
msgstr "Apraksts"
+# ???
msgid "Deselect"
-msgstr ""
+msgstr "Neizvēlēties"
msgid "Destination directory"
msgstr "Galamērķa mape"
msgstr "Vai vēlaties uzstādīt noklusētos pavadoņu sarakstus?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Vai vēleties uzstādīt pakotni:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Vai vēlaties atskaņot DVD?"
msgstr "Vai vēleties skatīt šo DVD pirms rakstīšanas?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Vai vēlaties atsāknēt Dreambox?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Vai vēleties dzēst pakotni:\n"
msgid "Do you want to restore your settings?"
msgstr "Vai vēlaties atjaunot savus iestatījumus?"
msgstr "Vai vēlaties atsākt šo atskaņošanu?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Vai vēlaties atjaunināt Dreambox?"
msgid ""
"Do you want to update your Dreambox?\n"
"Nospiediet OK un gaidiet!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Vai vēlaties atjaunināt pakotni:\n"
msgid "Do you want to view a tutorial?"
msgstr "Vai vēlaties skatīt pamācibu?"
#, python-format
msgid "Done - Installed or upgraded %d packages"
-msgstr "Pabeigts - uzstādītas vai jauninātas %d pakotnes"
+msgstr "Pabeigts - uzstādītas vai atjauninātas %d pakotnes"
#, python-format
msgid "Done - Installed or upgraded %d packages with %d errors"
-msgstr "Pabeigts - uzstādītas vai jauninātas %d pakotnes ar %d kļūdām"
+msgstr "Pabeigts - uzstādītas vai atjauninātas %d pakotnes ar %d kļūdām"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
msgstr ""
+"Pabeigts - uzstādītas, atjauninātas vai dzēstas %d pakotnes ar %d kļūdām"
msgid "Download"
msgstr "Lejuplādēt"
msgid "Edit DNS"
msgstr "Rediģēt DNS"
+msgid "Edit IPKG source URL..."
+msgstr ""
+
msgid "Edit Title"
msgstr "Rediģēt nosaukumu"
msgstr "Kļūda"
msgid "Error executing plugin"
-msgstr "Kļūda palaižot spraudni"
+msgstr "Kļūda, palaižot spraudni"
#, python-format
msgid ""
"GUI needs a restart to apply a new skin\n"
"Do you want to Restart the GUI now?"
msgstr ""
-"GUI nepieciešams restartēt lai lietotu jauno ādiņu\n"
-"Vai vēlaties pārstartēt GUI tagad?"
+"GUI nepieciešams restartēt, lai lietotu jauno ādiņu\n"
+"Vai vēlaties restartēt GUI tagad?"
msgid "Gateway"
msgstr "Vārteja"
"your scart connection. Press OK to return."
msgstr ""
"Ja jūs šo redzat, kaut kas nav kārtībā ar\n"
-"SCART savienojumu. Spiediet OK lai atgrieztos."
+"SCART savienojumu. Spiediet OK, lai atgrieztos."
msgid ""
"If your TV has a brightness or contrast enhancement, disable it. If there is "
msgstr "Imidža ielādes utilītprogramma"
msgid "Image-Upgrade"
-msgstr "Imidža atjaunošana"
+msgstr "Imidža atjaunināšana"
msgid "In Progress"
msgstr "Izpilda"
msgid ""
"In order to record a timer, the TV was switched to the recording service!\n"
msgstr ""
-"Lai uzsāktu ierakstu pēc taimera, TV tika pāreslēgts uz ierakstāmo kanālu!\n"
+"TV tika pārslēgts uz ierakstāmo kanālu, lai uzsāktu ierakstu pēc taimera!\n"
msgid "Increased voltage"
msgstr "Palielināt spriegumu"
msgstr "Ievade"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Uzstādīt jaunu imidžu no USB atmiņas"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Uzstādīt jaunu imidžu no tīmekļa pārlūka"
msgid "Install local IPKG"
+msgstr "Uzstādīt lokālo IPKG"
+
+msgid "Install settings, skins, software..."
+msgstr ""
+
+msgid "Install software updates..."
msgstr ""
msgid "Installing"
msgstr "Inverss displejs"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Itāļu"
msgstr "Platums"
msgid "Latvian"
-msgstr ""
+msgstr "Latviešu"
msgid "Leave DVD Player?"
msgstr "Iziet no DVD atskaņotāja?"
msgid "Left"
msgstr "Kreisais"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr ""
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgstr "Galvenā izvēlne"
msgid "Make this mark an 'in' point"
-msgstr "Padarīt šo zīmi par 'iekšā' punktu"
+msgstr "Padarīt šo zīmi par 'ieejas' punktu"
msgid "Make this mark an 'out' point"
-msgstr "Padarīt šo zīmi par 'ārā' punktu"
+msgstr "Padarīt šo zīmi par 'izejas' punktu"
msgid "Make this mark just a mark"
msgstr "Padarīt šo iezīmi vienkārši par zīmi"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Pārvaldīt ierīces programmatūru"
msgid "Manual Scan"
msgstr "Manuālā meklēšana"
msgstr "NĀKAMAIS"
msgid "NFI image flashing completed. Press Yellow to Reboot!"
-msgstr "NFI imidža lādēšana pabeigta. Spiediet dzelteno pogu lai atsāknētu!"
+msgstr "NFI imidža lādēšana pabeigta. Spiediet dzelteno pogu, lai atsāknētu!"
msgid "NOW"
msgstr "PAŠREIZ"
msgid "No details for this image file"
msgstr "Nav informācijas par šo imidža datni"
+msgid "No displayable files on this medium found!"
+msgstr ""
+
msgid "No event info found, recording indefinitely."
msgstr "Nav atrasta informācija par notikumiem, ieraksts turpinās."
msgid ""
"No packages were upgraded yet. So you can check your network and try again."
-msgstr "Pakotnes netika atjaunotas. Pārbaudiet tīklu un mēģiniet vēlreiz."
+msgstr "Pakotnes netika atjauninātas. Pārbaudiet tīklu un mēģiniet vēlreiz."
msgid "No picture on TV? Press EXIT and retry."
msgstr "Nav attēla uz TV? Spiediet EXIT mēģiniet vēlreiz."
"much as possible, but make sure that you can still see the difference "
"between the two brightest levels of shades.If you have done that, press OK."
msgstr ""
-"Tagad lietojiet kontrasta iestatīšanu lai palielinātu fona spilgtumu cik "
+"Tagad lietojiet kontrasta iestatīšanu, lai palielinātu fona spilgtumu cik "
"vien iespējams, bet pārliecinieties, ka divi spilgtāko toņu līmeņi joprojām "
"ir izšķirami. Ja esat to izdarījuši, spiediet OK."
msgstr "Labi"
msgid "OK, guide me through the upgrade process"
-msgstr "Jā, virzīt mani jaunināšanas procesā"
+msgstr "Jā, pavadīt mani atjaunināšanas procesā"
msgid "OSD Settings"
msgstr "OSD iestatījumi"
msgstr "Pakotņu saraksta atjaunināšana"
msgid "Packet management"
-msgstr "Pakešu pārvaldība"
+msgstr "Pakotņu pārvaldība"
msgid "Packet manager"
-msgstr ""
+msgstr "Pakotņu pārvaldnieks"
msgid "Page"
msgstr "Lappuse"
msgid "Play Audio-CD..."
msgstr "Atskaņot mūzikas CD..."
+msgid "Play DVD"
+msgstr ""
+
+msgid "Play Music..."
+msgstr ""
+
msgid "Play recorded movies..."
msgstr "Atskaņot ierakstītās filmas..."
msgstr "Lūdzu atsāknēt"
msgid "Please Select Medium to be Scanned"
-msgstr "Lūdzu izvēlēties datu nesēju skenēšanai"
+msgstr "Lūdzu izvēlēties datu nesēju meklēšanai"
msgid "Please change recording endtime"
msgstr "Lūdzu nomainiet ieraksta beigu laiku"
"Please disconnect all USB devices from your Dreambox and (re-)attach the "
"target USB stick (minimum size is 64 MB) now!"
msgstr ""
-"Tagad lūdzu atvienojiet visas USB ierīces no Dreambox un pievienojiet "
+"Tagad lūdzu atvienojiet visas USB ierīces no Dreambox, un pievienojiet "
"atpakaļ USB atmiņu (minimālais izmērs 64 MB)!"
msgid "Please do not change any values unless you know what you are doing!"
msgstr ""
-"Lūdzu nemainiet jebkādas vērtības, izņemot ja skaidri apzināties ko darāt! "
+"Lūdzu nemainiet jebkādas vērtības, izņemot ja skaidri apzināties ko darāt!"
msgid "Please enter a name for the new bouquet"
msgstr "Lūdzu ievadiet jaunās buķetes nosaukumu"
"Please note that the previously selected media could not be accessed and "
"therefore the default directory is being used instead."
msgstr ""
-"Lūdzu ievērojiet, ka iepriekš izvēlētais datu nesējs nebija pieejams tādēļ "
+"Lūdzu ievērojiet, ka iepriekš izvēlētais datu nesējs nebija pieejams, tādēļ "
"tā vietā tika lietota noklusētā mape."
msgid "Please press OK to continue."
-msgstr "Lūdzu spiediet OK lai turpinātu."
+msgstr "Lūdzu spiediet OK, lai turpinātu."
msgid "Please press OK!"
msgstr "Lūdzu spiediet OK!"
msgstr "Lūdzu izvēlieties papildkanālu..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Lūdzu izvēlieties datu nesēju dublējumkopijas veidošanai"
msgid "Please select tag to filter..."
msgstr "Lūdzu izvēlieties etiķeti filtrēšanai..."
"Press Bouquet +/- to resize the window.\n"
"Press OK to go back to the TV mode or EXIT to cancel the moving."
msgstr ""
-"Lūdzu lietojiet virzienu taustiņus lai pārvietotu PiP logu.\n"
+"Lūdzu lietojiet virzienu taustiņus, lai pārvietotu PiP logu.\n"
"Spiediet Bouquet +/- lai mainītu loga izmēru.\n"
-"Spiediet OK lai atgrieztos TV režīmā vai EXIT lai atceltu pārvietošanu."
+"Spiediet OK, lai atgrieztos TV režīmā vai EXIT, lai atceltu pārvietošanu."
msgid ""
"Please use the UP and DOWN keys to select your language. Afterwards press "
"the OK button."
msgstr ""
-"Lūdzu lietojiet UP un DOWN taustiņus lai izvēlētos valodu. Pēc tam spiediet "
+"Lūdzu lietojiet UP un DOWN taustiņus, lai izvēlētos valodu. Pēc tam spiediet "
"OK."
msgid "Please wait for activation of your network configuration..."
-msgstr "Lūdzu gaidiet kamēr tīkla konfigurācija tiek aktivizēta..."
+msgstr "Lūdzu gaidiet, kamēr tīkla konfigurācija tiek aktivizēta..."
msgid "Please wait while scanning is in progress..."
msgstr "Lūdzu gaidiet kamēr notiek meklēšana..."
msgstr "Lūdzu gaidiet kamēr tīkls tiek restartēts..."
msgid "Please wait..."
-msgstr "Lūdzu gaidieti..."
+msgstr "Lūdzu gaidiet..."
msgid "Please wait... Loading list..."
msgstr "Lūdzu gaidiet... Ielādē sarakstu..."
msgid "Positioner setup"
msgstr "Pozicioniera iestatne"
-# ???
msgid "Positioner storage"
msgstr "Pozicioniera atmiņa"
msgstr "Sagatavo... Lūdzu gaidiet"
msgid "Press OK on your remote control to continue."
-msgstr "Spiediet OK uz tālvadības pults lai turpinātu."
+msgstr "Spiediet OK uz tālvadības pults, lai turpinātu."
msgid "Press OK to activate the settings."
-msgstr "Spiediet OK lai aktivizētu iestatījumus."
+msgstr "Spiediet OK, lai aktivizētu iestatījumus."
msgid "Press OK to edit the settings."
-msgstr "Spiediet OK lai rediģētu iestatījumus."
+msgstr "Spiediet OK, lai rediģētu iestatījumus."
#, python-format
msgid "Press OK to get further details for %s"
msgstr "Spiediet OK turpmākai informācijai priekš %s"
msgid "Press OK to scan"
-msgstr "Spiediet OK lai meklētu."
+msgstr "Spiediet OK, lai meklētu."
msgid "Press OK to start the scan"
-msgstr "Spiediet OK lai uzsāktu meklēšanu."
+msgstr "Spiediet OK, lai uzsāktu meklēšanu."
msgid "Prev"
msgstr "Iepriekšējais"
msgid "Priority"
msgstr "Prioritāte"
-# ???
msgid "Properties of current title"
msgstr "Aktīvā nosaukuma parametri"
msgid "Providers"
msgstr "Operatori"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr ""
+
msgid "Quick"
msgstr "Ātrais"
msgstr "Ieraksta"
msgid "Recording(s) are in progress or coming up in few seconds!"
-msgstr "Ieraksts(i) notiek pašreiz vai sāksies dažu sekunžu laikā!"
+msgstr "Ieraksts(i) notiek pašreiz, vai sāksies dažu sekunžu laikā!"
msgid "Recordings always have priority"
msgstr "Ierakstiem vienmēr ir prioritāte"
msgstr "Atjaunināšanas ātruma izvēle."
msgid "Reload"
-msgstr ""
+msgstr "Pārlādēt"
msgid "Remove Bookmark"
msgstr "Dzēst grāmatzīmi"
msgstr "Dzēst pašreiz atlasīto virsrakstu"
msgid "Remove finished."
-msgstr ""
+msgstr "Dzēst pabeigtos."
msgid "Remove plugins"
msgstr "Dzēst spraudņus"
msgstr "Dzēst virsrakstu"
msgid "Removing"
-msgstr ""
+msgstr "Dzēšana"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
-msgstr "Mapes %s aizvākšana neizdevās. (Varbūt nav tukša.)"
+msgstr "Neizdevās dzēst mapi %s. (Varbūt nav tukša.)"
msgid "Rename"
msgstr "Pārsaukt"
msgstr "Atjaunot"
msgid "Restore backups..."
-msgstr ""
+msgstr "Atjaunot dublējumkopijas..."
msgid "Restore running"
-msgstr ""
+msgstr "Notiek atjaunošana"
msgid "Restore running..."
-msgstr ""
+msgstr "Notiek atjaunošana..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Atjaunot sistēmas iestatījumus"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
"settings now."
msgstr ""
-"Iestatījumu atjaunošana pabeigta. Lūdzu spiediet OK lai aktivizētu "
+"Iestatījumu atjaunošana pabeigta. Lūdzu spiediet OK, lai aktivizētu "
"atjaunotos iestatījumus."
msgid "Resume from last position"
msgid "Scan "
msgstr "Meklēt "
+msgid "Scan Files..."
+msgstr ""
+
msgid "Scan QAM128"
msgstr "Meklēt QAM128"
msgstr "Meklēt papildu SR"
msgid "Scan band EU HYPER"
-msgstr "Skenēt diapazonu EU HYPER "
+msgstr "Meklēt diapazonā EU HYPER "
msgid "Scan band EU MID"
-msgstr "Skenēt diapazonu EU MID"
+msgstr "Meklēt diapazonā EU MID"
msgid "Scan band EU SUPER"
-msgstr "Skenēt diapazonu EU SUPER"
+msgstr "Meklēt diapazonā EU SUPER"
msgid "Scan band EU UHF IV"
-msgstr "Skenēt diapazonu EU UHF IV"
+msgstr "Meklēt diapazonā EU UHF IV"
msgid "Scan band EU UHF V"
-msgstr "Skenēt diapazonu EU UHF V"
+msgstr "Meklēt diapazonā EU UHF V"
msgid "Scan band EU VHF I"
-msgstr "Skenēt diapazonu EU VHF I"
+msgstr "Meklēt diapazonā EU VHF I"
msgid "Scan band EU VHF III"
-msgstr "Skenēt diapazonu EU VHF III"
+msgstr "Meklēt diapazonā EU VHF III"
msgid "Scan band US HIGH"
-msgstr "Skenēt diapazonu US HIGH"
+msgstr "Meklēt diapazonā US HIGH"
msgid "Scan band US HYPER"
-msgstr "Skenēt diapazonu US HYPER"
+msgstr "Meklēt diapazonā US HYPER"
msgid "Scan band US LOW"
-msgstr "Skenēt diapazonu US LOW"
+msgstr "Meklēt diapazonā US LOW"
msgid "Scan band US MID"
-msgstr "Skenēt diapazonu US MID"
+msgstr "Meklēt diapazonā US MID"
msgid "Scan band US SUPER"
-msgstr "Skenēt diapazonu US SUPER"
+msgstr "Meklēt diapazonā US SUPER"
msgid ""
"Scan your network for wireless Access Points and connect to them using your "
msgstr "Meklēt"
msgid "Select"
-msgstr ""
+msgstr "Izvēlēties"
msgid "Select HDD"
msgstr "Izvēlēties cieto disku"
+msgid "Select IPKG source to edit..."
+msgstr ""
+
msgid "Select Location"
msgstr "Izvēlēties atrašanās vietu"
msgstr "Izvēlēties ierakstāmo kanālu"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Izvēlēties datnes dublējumkopēšanai. Pašreiz izvēlētas:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Izvēlēties datnes/mapes dublējumkopēšanai..."
msgid "Select image"
msgstr "Izvēlēties imidžu"
msgid "Select video input"
msgstr "Izvēlēties attēla ieeju"
+msgid "Select video input with up/down buttons"
+msgstr ""
+
msgid "Select video mode"
msgstr "Izvēlēties attēla režīmu"
msgstr "Rādīt bezvadu tīkla statusu"
msgid "Show blinking clock in display during recording"
-msgstr "Ieraksta laikā displejā rādīt mirgojošu pulksteni "
+msgstr "Ieraksta laikā displejā rādīt mirgojošu pulksteni"
msgid "Show infobar on channel change"
msgstr "Rādīt infojoslu, mainot kanālu"
msgstr "Palēninātās kustības ātrumi"
msgid "Software manager"
-msgstr ""
+msgstr "Programmatūras pārvaldnieks"
msgid "Software manager..."
-msgstr ""
+msgstr "Programmatūras pārvaldnieks..."
msgid "Software restore"
-msgstr ""
+msgstr "Programmatūras atjaunošana"
msgid "Software update"
-msgstr ""
+msgstr "Programmatūras atjaunināšana"
msgid "Some plugins are not available:\n"
msgstr "Daži spraudņi nav pieejami:\n"
msgstr "Kaut kur citur"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Atvainojiet, MediaScanner nav uzstādīts!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Atvainojiet, dublējumkopijas nav atrastas!"
msgid ""
"Sorry your Backup destination does not exist\n"
msgstr ""
"Izvēlētais dublējumkopijas galamērķis neeksistē.\n"
"\n"
-"Lūdzu izvēlieties citu!"
+"Lūdzu izvēlieties citu."
msgid ""
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Izvēlētais dublējumkopijas galamērķis nav ierakstāms.\n"
+"Lūdzu izvēlieties citu."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Vai vēlaties ierakstīt USB lādētāju šajā atmiņas ierīcē?"
+msgid "The following files were found..."
+msgstr ""
+
# ???
msgid ""
"The input port should be configured now.\n"
"Izvēlētajā sadaļā var nebūt pietiekami daudz vietas.\n"
"Vai tiešām vēlaties turpināt?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr ""
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "Šī .NFI datne nesatur derīgu %s imidžu!"
"flash memory?"
msgstr ""
"Šai .NFI datnei ir derīgs md5sum paraksts. Vai turpināt imidža programmēšanu "
-"iekšējā atmiņāį?"
+"iekšējā atmiņā?"
msgid ""
"This DVD RW medium is already formatted - reformatting will erase all "
"Šis DVD RW disks jau ir formatēts - atkārtota formatēšana dzēsīs visu diska "
"saturu."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr ""
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Šis Dreambox modelis nevar atkodēt %s attēla plūsmas!"
"Šis tests pārbauda vai tīkla adapteris ir iestatīts automātiskai IP adrešu "
"konfigurēšanai ar DHCP.\n"
"Ja saņemat \"neaktīvs \" paziņojumu:\n"
-" - tad tīkla adapteris ir konfigurēts manuālai IP iestatīšanai\n"
-"- pārbaudiet vai ir ievadīta korekta IP informācija adaptera iestatnes "
+" - tīkla adapteris ir konfigurēts manuālai IP iestatīšanai\n"
+"- pārbaudiet, vai ir ievadīta korekta IP informācija adaptera iestatnes "
"dialoglogā. \n"
"Ja saņemat \"aktīvs \" paziņojumu:\n"
-"- pārbaudiet vai ir konfigurēts un darbojas DHCP serveris Jūsu tīklā."
+"- pārbaudiet, vai ir konfigurēts un darbojas DHCP serveris Jūsu tīklā."
msgid "This test detects your configured LAN-Adapter."
msgstr "Šis tests atrod konfigurēto tīkla adapteri."
"for 10 seconds.\n"
"3) Wait for bootup and follow instructions of the wizard."
msgstr ""
-"Lai atjauninātu Dreambox programmatūru, lūdzu izpildiet šādus soļus:\n"
+"Lūdzu veiciet šādus soļus, lai atjauninātu Dreambox programmatūru:\n"
"1) Izslēdziet ierīci ar aizmugures barošanas slēdzi un iespraudiet sāknējamu "
"USB atmiņu.\n"
"2) Ieslēdziet ierīci un 10 sekundes turiet nospiestu DOWN pogu uz priekšējā "
msgid "Try to find used transponders in cable network.. please wait..."
msgstr "Mēģina atrast izmantotus transponderus kabeļu tīklā.. lūdzu gaidiet..."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr ""
+
msgid "Tue"
msgstr "Ot"
msgstr "Atjaunina... Lūdzu gaidiet... tas var aizņemt dažas minūtes..."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Atjaunināšana pabeigta."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
-msgstr "Atjaunošana pabeigta. Vai vēlaties atsāknēt Dreambox?"
+msgstr "Atjaunināšana pabeigta. Vai vēlaties atsāknēt Dreambox?"
msgid "Upgrading"
msgstr "Atjaunošana"
"\n"
"Please set up tuner A"
msgstr ""
-"Lietojiet labo un kreiso izvēles taustiņu lai mainītu izvēli.\n"
+"Lietojiet labo un kreiso izvēles taustiņu, lai mainītu izvēli.\n"
"\n"
"Lūdzu iestatiet uztvērēju A"
"Use the up/down keys on your remote control to select an option. After that, "
"press OK."
msgstr ""
-"Lietojiet tālvadības pults up/down taustiņus lai izdarītu izvēli. Pēc tam "
+"Lietojiet tālvadības pults up/down taustiņus, lai izdarītu izvēli. Pēc tam "
"spiediet OK."
# ???
msgstr "Lietot parastos iestatījumus šim pavadonim "
msgid "Use wizard to set up basic features"
-msgstr "Lietot vedni lai iestatītu galvenās iespējas"
+msgstr "Lietot vedni galveno iespēju iestatīšanai"
msgid "Used service scan type"
msgstr "Lietotais kanālu meklēšanas veids"
msgstr "Lietotāja definēts"
msgid "VCR scart"
-msgstr "VCR skart savienojums"
+msgstr "VCR scart savienojums"
msgid "VMGM (intro trailer)"
msgstr "VMGM (ievada treileris)"
msgid "Video mode selection."
msgstr "Attēla režīma izvēle."
+msgid "View Movies..."
+msgstr ""
+
+msgid "View Photos..."
+msgstr ""
+
# ???
msgid "View Rass interactive..."
msgstr "Skatīt Rass interaktīvi..."
+msgid "View Video CD..."
+msgstr ""
+
msgid "View teletext..."
msgstr "Skatīt teletekstu..."
"Tagad pārbaudīsim vai Jūsu TV var attēlot šo izšķirtspēju arī pie 50 Hz. Ja "
"ekrāns paliek melns, pagaidiet 20 sekundes un tas pārslēgsies atpakaļ uz 60 "
"Hz.\n"
-"Lūdzu spiediet OK lai sāktu."
+"Lūdzu spiediet OK, lai sāktu."
msgid "Wed"
msgstr "Tr"
"Sveicināti griešanas redaktorā.\n"
"\n"
"Ejiet uz fragmenta, kuru jūs vēlaties izgriezt, sākumu. Spiediet OK, lai "
-"izvēlētos 'sākuma griezienu'.\n"
+"izvēlētos 'griezuma sākumu'.\n"
"\n"
-"Tad ejiet uz beigām, spiediet OK, izvēlieties 'beigu griezienu'. Tas arī "
+"Tad ejiet uz beigām, spiediet OK, izvēlieties 'griezuma beigas'. Tas arī "
"viss."
msgid ""
"the firmware of your Dreambox by providing a backup facility for your "
"current settings and a short explanation of how to upgrade your firmware."
msgstr ""
-"Sveicināti imidža atjaunošanas vednī. Vednis palīdzēs Jums atjaunot Dreambox "
-"programmatūru, sniedzot pašreizējo iestatījumu dublējumkopēšanas iespējas, "
-"kā arī īsumā izskaidros, kā veikt programmatūras atjaunošanu."
+"Sveicināti imidža atjaunināšanas vednī. Vednis palīdzēs Jums atjaunot "
+"Dreambox programmatūru, sniedzot pašreizējo iestatījumu dublējumkopēšanas "
+"iespējas, kā arī īsumā izskaidros, kā veikt programmatūras atjaunināšanu."
msgid ""
"Welcome.\n"
"\n"
"Really do a factory reset?"
msgstr ""
+"Atjaunojot rūpnīcas uzstādījumus, jūs zaudēsiet VISUS konfigurācijas datus\n"
+"(ieskaitot buķetes, kanālus, pavadoņu datus ...)\n"
+"Pēc rūpnīcas uzstādījumu atjaunošanas, ierīce automātiski restartēsies!\n"
+"\n"
+"Vai tiešām atjaunot rūpnīcas uzstādījumus?"
msgid "Where do you want to backup your settings?"
msgstr "Kur Jūs vēlaties veidot savu iestatījumu dublējumkopiju?"
msgstr "Jūs varat izvēlēties, ko vēlaties uzstādīti..."
msgid "You cannot delete this!"
-msgstr "Jūs nevarat dzēst šo!"
+msgstr "Jūs šo nevarat dzēst!"
msgid "You chose not to install any default services lists."
msgstr "Jūs izvēlējāties neuzstādīt noklusētos kanālu sarakstus."
msgid ""
"You chose not to install anything. Please press OK finish the install wizard."
msgstr ""
-"Jūs izvēlējāties neko neuzstādīt. Lūdzu spiediet OK, lai pabeigtiu "
+"Jūs izvēlējāties neko neuzstādīt. Lūdzu spiediet OK, lai pabeigtu "
"uzstādīšanas vedni."
msgid ""
"Please press OK to start the backup now."
msgstr ""
"Jūs izvēlējāties veidot dublējumkopiju CF kartē. Kartei jābūt ievietotai "
-"slotā. Mēs nevaram pārbaudīt vai tā patiešām ir pieejama. Tādēļ iesakām "
+"slotā. Mēs nevaram pārbaudīt, vai tā patiešām ir pieejama. Tādēļ iesakām "
"veidot dublējumkopiju uz cietā diska!\n"
-"Lūdzu spiediet OK lai sāktu dublējumkopijas veidošanu."
+"Lūdzu spiediet OK, lai sāktu dublējumkopijas veidošanu."
msgid ""
"You have chosen to backup to an usb drive. Better backup to the harddisk!\n"
msgstr ""
"Jūs izvēlējāties veidot dublējumkopiju USB atmiņā. Labāk izmantojiet šim "
"mērķim cieto disku!\n"
-"Lūdzu spiediet OK lai sāktu dublējumkopijas veidošanu."
+"Lūdzu spiediet OK, lai sāktu dublējumkopijas veidošanu."
msgid ""
"You have chosen to backup to your harddisk. Please press OK to start the "
"backup now."
msgstr ""
-"Jūs izvēlējāties veidot dublējumkopiju cietā diska! Lūdzu spiediet OK lai "
-"sāktu dublējumkopijas veidošanu."
+"Jūs izvēlējāties veidot dublējumkopiju uz cietā diska! Lūdzu spiediet OK, "
+"lai sāktu dublējumkopijas veidošanu."
msgid ""
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Jūs izvēlējāties veidot iestatījumu dublējumkopiju. Lūdzu spiediet OK, lai "
+"sāktu kopijas veidošanu."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"You have chosen to restore your settings. Enigma2 will restart after "
+"restore. Please press OK to start the restore now."
#, python-format
msgid "You have to wait %s!"
-msgstr "Jums jāuzgaidai %s!"
+msgstr "Jums jāuzgaida %s!"
msgid ""
"You need a PC connected to your dreambox. If you need further instructions, "
"turpmākas instrukcijas, lūdzu apmeklējiet vietni http://www.dm7025.de.\n"
"Dreambox tagad tiks apturēts. Pēc tam, kad būs izpildītas atjaunināšanas "
"instrukcijas no tīkla vietnes, jaunā programmatūra piedāvās Jums atjaunot "
-"iestatījumus. "
+"iestatījumus."
msgid ""
"You need to set a pin code and hide it from your children.\n"
"Your backup succeeded. We will now continue to explain the further upgrade "
"process."
msgstr ""
-"Dublējumkopija izveidota. Tagad turpināsim izskaidrot turpmāko atjaunošanas "
+"Dublējumkopija izveidota. Tagad izskaidrosim turpmāko atjaunināšanas "
"procesu. "
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Dreambox izslēdzas. Lūdzu gaidiet..."
"Your dreambox isn't connected to the internet properly. Please check it and "
"try again."
msgstr ""
-"Dreambox nav pareizi pievienots internetam. Lūdzu pārbaudiet un mēģiniet vēl."
+"Dreambox nav pievienots internetam kā nākas. Lūdzu pārbaudiet un mēģiniet "
+"vēl."
msgid ""
"Your frontprocessor firmware must be upgraded.\n"
"Press OK to start upgrade."
msgstr ""
-"Uztvērēja programmatūru nepieciešams atjaunot.\n"
-"Spiediet OK lai sāktu atjaunošanu."
+"Uztvērēja programmatūru nepieciešams atjaunināt.\n"
+"Spiediet OK, lai sāktu atjaunināšanu."
msgid "Your network configuration has been activated."
msgstr "Tīkla konfigurācija aktivizēta."
msgstr "neizdevās"
msgid "fileformats (BMP, PNG, JPG, GIF)"
-msgstr "datņu formātii (BMP, PNG, JPG, GIF)"
+msgstr "datņu formāti (BMP, PNG, JPG, GIF)"
msgid "filename"
msgstr "datnes nosaukums"
#, python-format
msgid "scan in progress - %d%% done!"
-msgstr "notiek meklēšana - %d %% pabeigts!"
+msgstr "notiek meklēšana - %d%% pabeigts!"
msgid "scan state"
msgstr "meklēšanas statuss"
#~ msgid ""
#~ "\n"
-#~ "Enigma2 will restart after the restore"
+#~ "System will restart after the restore!"
#~ msgstr ""
#~ "\n"
-#~ "Enigma2 restartēsies pēc atjaunošanas"
+#~ "Sistēma restartēsies pēc atjaunošanas!"
#~ msgid "5 seconds"
#~ msgstr "5 sekundes"
+#~ msgid "An error occured!"
+#~ msgstr "Kļūda!"
+
#~ msgid "Autoresolution Settings"
#~ msgstr "Auto izšķirtspējas iestatījumi"
#~ msgid "Input 9"
#~ msgstr "9 ieeja"
+#~ msgid ""
+#~ "Sorry, your backup destination is not writeable.\n"
+#~ "\n"
+#~ "Lūdzu izvēlieties citu."
+#~ msgstr ""
+#~ "Izvēlētais dublējumkopijas galamērķis nav ierakstāms.\n"
+#~ "\n"
+#~ "Lūdzu izvēlieties citu."
+
#~ msgid "committed, toneburst"
#~ msgstr "aktīvā, toņsignāls"
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:04+0100\n"
-"PO-Revision-Date: 2009-01-24 12:54+0100\n"
-"Last-Translator: Benny De Tandt <Benny.DeTandt@gmail.com>\n"
-"Language-Team: none <michel@weeren.net>\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-11 20:19+0100\n"
+"Last-Translator: \n"
+"Language-Team: <Benny.DeTandt@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Geavanceerde opties en instellingen."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Druk op OK en een ogenblik geduld!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Back-up uw Dreambox instellingen."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Bewerk het upgrade bron adres."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 zal herstarten na het terugzetten."
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Online bijwerken van uw Dreambox software."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Druk op de OK toets om door te gaan."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Herstel uw Dreambox instellingen."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Herstel uw Dreambox met een nieuwe firmware."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Terugplaatsen van uw back-ups volgens datum."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Zoek naar lokale pakketten en installeer deze."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Kies een back-up apparaat.\n"
+"Huidige apparaat: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Bekijk, installeer en verwijder beschikbare of geïnstalleerde pakketten."
msgid " "
msgstr " "
msgstr "Expert"
msgid "Advanced Options"
-msgstr ""
+msgstr "Geavanceerde opties"
msgid "Advanced Video Setup"
msgstr "Geavanceerde video instellingen"
msgid "Advanced restore"
-msgstr ""
+msgstr "Geavanceerd herstellen"
msgid "After event"
msgstr "Na opname"
msgid "An empty filename is illegal."
msgstr "Een lege bestandsnaam is ongeldig"
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Een onbekende fout is gebeurd!"
"Are you sure you want to activate this network configuration?\n"
"\n"
msgstr ""
-"Bent u zeker om deze netwerk configuratie te activeren?\n"
+"Weet u zeker om deze netwerk configuratie te activeren?\n"
"\n"
msgid ""
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Weet u zeker dat u volgende back-up\n"
+"wilt herstellen:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Weet u zeker dat u uw Enigma2 back-up wilt terugplaatsen?\n"
+"Enigma2 zal herstarten na het terugzetten"
msgid "Artist"
msgstr "Artiest"
msgstr "Achtergrond"
msgid "Backup"
-msgstr "Backup"
+msgstr "Back-up"
msgid "Backup Location"
-msgstr "Backup locatie"
+msgstr "Back-up locatie"
msgid "Backup Mode"
-msgstr "Backup modus"
+msgstr "Back-up modus"
msgid "Backup done."
-msgstr ""
+msgstr "Back-up voltooid."
msgid "Backup failed."
-msgstr ""
+msgstr "Back-up is mislukt."
msgid "Backup is done. Please press OK to see the result."
-msgstr "Backup is voltooid. Druk op OK om de resultaten te zien."
+msgstr "Back-up is voltooid. Druk op OK om de resultaten te zien."
msgid "Backup running"
-msgstr ""
+msgstr "Back-up bezig"
msgid "Backup running..."
-msgstr ""
+msgstr "Back-up bezig..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Back-up instellingen"
msgid "Band"
msgstr "Band"
msgstr "Controleert bestandssysteem..."
msgid "Choose Tuner"
-msgstr "Selecteer een tuner"
+msgstr "Kies een tuner"
msgid "Choose backup files"
-msgstr ""
+msgstr "Kies back-up bestanden"
msgid "Choose backup location"
-msgstr ""
+msgstr "Kies een back-up locatie"
msgid "Choose bouquet"
msgstr "Kies boeket"
msgstr "Kies doelmap"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Kies upgrade bron"
msgid "Choose your Skin"
msgstr "Kies een Skin"
msgid "Circular left"
-msgstr ""
+msgstr "Circulaire links"
msgid "Circular right"
-msgstr ""
+msgstr "Circulaire rechts"
msgid "Cleanup"
msgstr "Opruimen"
msgid "Common Interface"
msgstr "Common Interface"
+msgid "Common Interface Assignment"
+msgstr ""
+
msgid "Compact Flash"
msgstr "Compact Flash"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Complex (mixen audio sporen en aspecten)"
+msgid "Config"
+msgstr ""
+
msgid "Configuration Mode"
msgstr "Configuratie modus"
#, python-format
msgid "Couldn't record due to conflicting timer %s"
-msgstr ""
+msgstr "Kan niet opnemen vanwege conflicterende timer %s"
msgid "Create DVD-ISO"
msgstr "DVD-ISO maken"
msgstr "Omschrijving"
msgid "Deselect"
-msgstr ""
+msgstr "Deselecteer"
msgid "Destination directory"
msgstr "Doel map"
msgstr "Schotel"
msgid "Display 16:9 content as"
-msgstr "16:9 materiaal weergeven als"
+msgstr "Toon 16:9 materiaal als"
msgid "Display 4:3 content as"
-msgstr "4:3 materiaal weergeven als"
+msgstr "Toon 4:3 materiaal als"
msgid "Display >16:9 content as"
-msgstr ""
+msgstr "Toon >16:9 materiaal als"
msgid "Display Setup"
msgstr "Display instellingen"
msgstr "Wilt u de standaard satellietlijst installeren?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Wilt u het pakket installeren:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Wilt u de DVD in de speler afspelen?"
msgstr "Wilt u de DVD bekijken alvorens te schrijven?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Wilt u uw Dreambox opnieuw opstarten?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Wilt u het pakket verwijderen:\n"
msgid "Do you want to restore your settings?"
msgstr "Wilt u uw instelingen nu terugzetten?"
msgstr "Wilt u het afspelen vervolgen?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Wilt u uw Dreambox updaten?"
msgid ""
"Do you want to update your Dreambox?\n"
"Druk op OK en een ogenblik geduld!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Wilt u een upgrade van het pakket:\n"
msgid "Do you want to view a tutorial?"
msgstr "Wilt u een voorbeeld zien?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
msgstr ""
+"Klaar - %d paket(ten) geïnstalleerd, vervangen of verwijderd met %d fout(en)"
msgid "Download"
msgstr "Downloaden"
msgid "Edit DNS"
msgstr "DNS wijzigen"
+msgid "Edit IPKG source URL..."
+msgstr "Wijzig IPKG bron URL..."
+
msgid "Edit Title"
-msgstr "Bewerk Titel"
+msgstr "Wijzig Titel"
msgid "Edit chapters of current title"
msgstr "Wijzig hoofdstuk van de huidige titel"
msgid "Gateway"
msgstr "Gateway"
+msgid "General AC3 Delay"
+msgstr ""
+
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
msgid "Genre"
msgstr "Genre"
msgid "Hierarchy mode"
msgstr "Hiërarchie modus"
-msgid "Horizontal"
+msgid "High bitrate support"
msgstr ""
+msgid "Horizontal"
+msgstr "Horizontaal"
+
msgid "How many minutes do you want to record?"
msgstr "Hoeveel minuten wilt u opnemen?"
msgstr "Invoer"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Installeer een nieuwe image met een USB-stick"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Installeer een nieuwe image met uw browser"
msgid "Install local IPKG"
-msgstr ""
+msgstr "Installeer lokale IPKG"
+
+msgid "Install settings, skins, software..."
+msgstr "Installeer instellingen, skins, software..."
+
+msgid "Install software updates..."
+msgstr "Installeer software updates..."
msgid "Installing"
msgstr "Installeert"
msgstr "Inverteer display"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Italiaans"
msgstr "Breedtegraad"
msgid "Latvian"
-msgstr ""
+msgstr "Lets"
msgid "Leave DVD Player?"
msgstr "DVD speler afsluiten?"
msgid "Left"
msgstr "Links"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Hiermee kunt u bestanden bekijken/bewerken in uw Dreambox"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgstr "Universele markering"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Beheer uw ontvanger software"
msgid "Manual Scan"
msgstr "Handmatig zoeken"
msgstr "Transponder handmatig"
msgid "Manufacturer"
-msgstr ""
+msgstr "Fabrikant"
msgid "Margin after record"
msgstr "Marge na afloop opname (minuten)"
msgid "No details for this image file"
msgstr "Geen details voor dit bestand:"
+msgid "No displayable files on this medium found!"
+msgstr "Geen weer te geven bestanden op dit medium gevonden!"
+
msgid "No event info found, recording indefinitely."
msgstr "Geen EPG gegevens gevonden. Opname voor onbepaalde tijd."
msgstr "Pakket beheer"
msgid "Packet manager"
-msgstr ""
+msgstr "Pakket beheer"
msgid "Page"
msgstr "Pagina"
msgstr "Afspelen"
msgid "Play Audio-CD..."
-msgstr "Speel Muziek-CD"
+msgstr "Muziek-CD afspelen..."
+
+msgid "Play DVD"
+msgstr "DVD afspelen"
+
+msgid "Play Music..."
+msgstr "Muziek afspelen..."
msgid "Play recorded movies..."
msgstr "Opname afspelen..."
msgstr "Selecteer een subzender..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Selecteer het te gebruiken medium als back-up locatie..."
msgid "Please select tag to filter..."
msgstr "Selecteer markering om te filteren..."
msgid "Providers"
msgstr "Providers"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "Python frontend voor /tmp/mmi.socket"
+
msgid "Quick"
msgstr "Snel"
#, python-format
msgid "Record time limited due to conflicting timer %s"
-msgstr ""
+msgstr "Opnametijd beperkt vanwege conflicterende timer %s"
msgid "Recorded files..."
msgstr "Opgenomen bestanden..."
msgstr "Herhalingsfrequentie selectie"
msgid "Reload"
-msgstr ""
+msgstr "Herlaad"
msgid "Remove Bookmark"
msgstr "Markeerpunt verwijderen"
msgstr "De momenteel geselecteerde titel verwijderen"
msgid "Remove finished."
-msgstr ""
+msgstr "Verwijderen voltooid."
msgid "Remove plugins"
msgstr "Verwijderen"
msgstr "Titel verwijderen"
msgid "Removing"
-msgstr ""
+msgstr "Verwijderen"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
msgstr "Herstellen"
msgid "Restore backups..."
-msgstr ""
+msgstr "Back-ups herstellen ..."
msgid "Restore running"
-msgstr ""
+msgstr "Herstellen bezig"
msgid "Restore running..."
-msgstr ""
+msgstr "Herstellen bezig..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Herstel instellingen"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
msgid "Scan "
msgstr "Zoeken"
+msgid "Scan Files..."
+msgstr "Bestanden zoeken..."
+
msgid "Scan QAM128"
msgstr "Zoek QAM128"
msgstr "Zoeken"
msgid "Select"
-msgstr ""
+msgstr "Selecteer"
msgid "Select HDD"
msgstr "Kies harde schijf"
+msgid "Select IPKG source to edit..."
+msgstr "Selecteer IPKG bron om te bewerken..."
+
msgid "Select Location"
msgstr "Selecteer locatie"
msgstr "Selecteer een zender voor opname"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Kies bestanden voor back-up. Momenteel geselecteerd:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Kies bestanden/mappen om te back-uppen..."
msgid "Select image"
msgstr "Selecteer bestand"
msgid "Select video input"
msgstr "Selecteer video ingang"
+msgid "Select video input with up/down buttons"
+msgstr "Selecteer video-ingang met de omhoog/omlaag toetsen"
+
msgid "Select video mode"
msgstr "Selecteer video modus"
msgstr "Stap snelheid"
msgid "Software manager"
-msgstr ""
+msgstr "Software beheer"
msgid "Software manager..."
-msgstr ""
+msgstr "Software beheer"
msgid "Software restore"
-msgstr ""
+msgstr "Software herstellen"
msgid "Software update"
-msgstr ""
+msgstr "Software update"
msgid "Some plugins are not available:\n"
msgstr "Applicaties die niet beschikbaar zijn:\n"
msgstr "Ergens anders"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Sorry MediaScanner niet is geïnstalleerd!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Sorry geen back-ups gevonden!"
msgid ""
"Sorry your Backup destination does not exist\n"
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Sorry uw back-up bestemming is niet beschrijfbaar.\n"
+"Kies een andere."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Sorry uw back-up bestemming is niet beschrijfbaar.\n"
+"\n"
+"Kies een andere."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
#. TRANSLATORS: Add here whatever should be shown in the "translator" about screen, up to 6 lines (use \n for newline)
msgid "TRANSLATOR_INFO"
msgstr ""
-"Vertaling door M. Weeren\n"
-"www.satellietland.nl\n"
-"\n"
-"Officieel distributeur van\n"
-"Dream Multimedia producten"
+"Deze vertaling wordt u aangeboden door :\n"
+"- Michel Weeren\n"
+"- Benny De Tandt"
msgid "TS file is too large for ISO9660 level 1!"
msgstr "TS bestand is te groot voor ISO9660 level1!"
"\n"
"Wenst u de USB flasher op deze stick te schrijven?"
+msgid "The following files were found..."
+msgstr "De volgende bestanden werden gevonden..."
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
"Er is mogelijk niet genoeg ruimte vrij op de geselecteerde partitie.\n"
"Weet u zeker dat u wilt doorgaan?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr ""
+"Er is een fout opgetreden bij het downloaden van de pakketlijst. Probeer het "
+"opnieuw."
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "Dit .NFI bestand bevat geen geldig %s image!"
"Deze DVD RW medium is reeds geformatteerd - herformatteren zal alles wissen "
"op deze disk."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Deze Dreambox kan geen %s decoderen!"
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Deze Dreambox kan volgende %s video niet decoderen!"
"Probeer nu gebruikte transponders op het kabelnetwerk te vinden. Een "
"ogenblik a.u.b."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Probeert een nieuwe pakketlijst te downloaden. Een ogenblik a.u.b..."
+
msgid "Tue"
msgstr "Di"
msgstr "Twee"
msgid "Type"
-msgstr ""
+msgstr "Type"
msgid "Type of scan"
msgstr "Zoekmodus"
msgstr "Uncommitted DiSEqC commando"
msgid "Unicable"
-msgstr ""
+msgstr "Unicable"
msgid "Unicable LNB"
-msgstr ""
+msgstr "Unicable LNB"
msgid "Unicable Martix"
-msgstr ""
+msgstr "Unicable Martix"
msgid "Universal LNB"
msgstr "Universeel LNB"
"duren."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Upgrade voltooid."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr "Software update gereed. Uw Dreambox herstarten?"
msgstr "VMGM (intro trailer)"
msgid "Vertical"
-msgstr ""
+msgstr "Vertikaal"
msgid "Video Fine-Tuning"
msgstr "Video fijn instellingen..."
msgid "Video mode selection."
msgstr "Video modus selectie"
+msgid "View Movies..."
+msgstr "Bekijk opname..."
+
+msgid "View Photos..."
+msgstr "Bekijk foto's..."
+
msgid "View Rass interactive..."
msgstr "Rass Interactive weergeven"
+msgid "View Video CD..."
+msgstr "Bekijk Video CD..."
+
msgid "View teletext..."
msgstr "Teletekst weergeven..."
"\n"
"Really do a factory reset?"
msgstr ""
+"Wanneer u de fabrieksinstellingen wenst, verliest u\n"
+"alle gegevens van uw configuratie.\n"
+"(inclusief boeketten, zenders, satelliet data ...)\n"
+"Na voltooiing van de fabrieksinstellingen, zal uw ontvanger automatisch "
+"herstarten!\n"
+"\n"
+"Werkelijk uitvoeren?"
msgid "Where do you want to backup your settings?"
msgstr "Waar wilt u de instellingen opslaan?"
"backup now."
msgstr ""
"U heeft gekozen uw instellingen op de harde schijf op te slaan. Druk op OK "
-"om de backup te starten."
+"om de back-up te starten."
msgid ""
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"U heeft gekozen om uw instellingen te back-uppen. Druk op OK om te beginnen "
+"met de back-up."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"U heeft gekozen om uw instellingen te herstellen. Enigma2 zal herstarten na "
+"het herstel. Druk op OK om te beginnen met het herstel."
#, python-format
msgid "You have to wait %s!"
"De backup is geslaagd. U krijgt nu een korte uitleg over het vervolg van het "
"update proces."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"Uw verzameling is groter dan wat erop een enkel laags medium past , u heeft "
+"een lege dubbel laags DVD nodig!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Uw Dreambox wordt nu afgesloten. Een ogenblik a.u.b..."
msgid "[move mode]"
msgstr "[verplaats modus]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr ""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
msgid "abort alternatives edit"
msgstr "Alternatieven bewerken afsluiten"
msgid "activate current configuration"
msgstr "activeer huidige configuratie"
+msgid "add Provider"
+msgstr ""
+
+msgid "add Service"
+msgstr ""
+
msgid "add a nameserver entry"
msgstr "voeg een nameserver toe"
"weet u zeker dat u deze instellingen terug\n"
"wilt zetten:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
msgstr "Audio spoor (%s) formaat"
msgid "day"
msgstr "dag"
+msgid "delete"
+msgstr ""
+
msgid "delete cut"
msgstr "Wis snijpunt"
msgid "init module"
msgstr "CI module initializeren"
+msgid "init modules"
+msgstr ""
+
msgid "insert mark here"
msgstr "Markeerpunt invoegen"
msgid "no"
msgstr "nee"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "geen harde schijf gevonden"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "geen CI module gevonden"
msgstr "Nee"
msgid "not used"
-msgstr ""
+msgstr "niet gebruikt"
msgid "nothing connected"
msgstr "niets aangesloten"
msgid "select .NFI flash file"
msgstr "selecteer .NFI flash bestand"
+msgid "select CAId"
+msgstr ""
+
msgid "select image from server"
msgstr "Selecteer image van server"
msgstr "Ga naar afspeellijst"
msgid "switch to the next angle"
-msgstr ""
+msgstr "schakel naar de volgende hoek"
msgid "switch to the next audio track"
msgstr "Volgend audio spoor"
msgid "zapped"
msgstr "zapte"
+
+#~ msgid "An error occured!"
+#~ msgstr "Er is een fout opgetreden!"
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2009-02-08 13:44+0100\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-08 18:26+0100\n"
"Last-Translator: Sebastian <zbigzbig2@op.pl>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Zaawansowane opcje i ustawienia."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Po wciśnięciu OK czekaj!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Kopia ustawień Dreamboxa."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Edytuj adres aktualizacji."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 zostanie zrestartowana po przywróceniu"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Aktualizacja Online oprogramowania Dreamboxa."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Wciśnij OK aby kontynułować."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Przywróć ustawienia Dreamboxa."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Przywróć Dreamboxa z nowym softem."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Przywróć kopie według daty."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Szukaj lokalne paczki i instaluj je."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Wybierz urządzenie do kopii.\n"
+"Aktualne urządzenie: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Widok, instalacja lub usuwanie dostępnych lub zainstalowanych paczek."
msgid " "
msgstr " "
msgstr "Zaawansowane"
msgid "Advanced Options"
-msgstr ""
+msgstr "Zaawansowane Opcje"
msgid "Advanced Video Setup"
msgstr "Zawansowana Konfiguracja Wideo"
msgid "Advanced restore"
-msgstr ""
+msgstr "Zaawansowane przywracanie"
msgid "After event"
msgstr "Po wydarzeniu"
msgid "An empty filename is illegal."
msgstr "Pusta nazwa pliku jest nieldozwolona."
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Wystąpił nieznany błąd!"
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Jesteś pewien że chcesz przywrócić\n"
+"daną kopię:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Jesteś pewien że chcesz przywrócić kopię Enigmy2?\n"
+"Enigma2 zostanie zrestartowana po przywróceniu"
msgid "Artist"
msgstr "Artysta"
msgstr "Tryb kopii zapasowej"
msgid "Backup done."
-msgstr ""
+msgstr "Kopia skończona."
msgid "Backup failed."
-msgstr ""
+msgstr "Kopia nieudana."
msgid "Backup is done. Please press OK to see the result."
msgstr "Kopia zapasowa utworzona pomyslnie. Wciśnij OK aby zobaczyć rezultat."
msgid "Backup running"
-msgstr ""
+msgstr "Kopia zapasowa uruchomiona"
msgid "Backup running..."
-msgstr ""
+msgstr "Kopia zapasowa uruchomiona..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Kopia ustawień systemowych"
msgid "Band"
msgstr "Pasmo"
msgstr "Wybierz tuner"
msgid "Choose backup files"
-msgstr ""
+msgstr "Wybierz pliki do kopii"
msgid "Choose backup location"
-msgstr ""
+msgstr "Wybierz miejsce kopii"
msgid "Choose bouquet"
msgstr "Wybierz bukiet"
msgstr "Wybierz folder docelowy"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Wybierz źródło aktualizacji"
msgid "Choose your Skin"
msgstr "Wybierz Skina"
msgid "Circular left"
-msgstr "Okólnik lewo"
+msgstr "Kołój w lewo"
msgid "Circular right"
-msgstr "Okólnik prawo"
+msgstr "Kołój w prawo"
msgid "Cleanup"
msgstr "Czyść"
msgid "Common Interface"
msgstr "Moduł Dostępu"
+msgid "Common Interface Assignment"
+msgstr ""
+
msgid "Compact Flash"
msgstr "Compact Flash"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Kompleksowe (pozwala mixować ścieżki audio i aspekty)"
+msgid "Config"
+msgstr ""
+
msgid "Configuration Mode"
msgstr "Tryb konfiguracji"
msgstr "Opis"
msgid "Deselect"
-msgstr ""
+msgstr "Odznacz"
msgid "Destination directory"
msgstr "Katalog docelowy"
msgstr "Wyświetlaj zawartość >16:9 jako"
msgid "Display Setup"
-msgstr "Ustawienia wyświtlania"
+msgstr "Ustawienia wyświetlacza"
#, python-format
msgid ""
msgstr "Czy chcesz zainstalować domyślna listę satelit?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Chcesz zainstalowac paczkę:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Czy chcesz odtwarzać DVD znajdujące się w czytniku?"
msgstr "Czy chcesz obejrzeć DVD przed jego nagraniem?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Chcesz uruchomić ponownie Dreamboxa?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Chcesz usunąć paczkę:\n"
msgid "Do you want to restore your settings?"
msgstr "Czy chcesz przywrócić swoje ustawienia?"
msgstr "Czy chcesz wznowić odtwarzanie?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Chcesz zaktualizować Dreamboxa?"
msgid ""
"Do you want to update your Dreambox?\n"
"Po naciśnięciu OK, proszę czekać!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Chcesz zaktualizować paczkę:\n"
msgid "Do you want to view a tutorial?"
msgstr "Czy chcesz zobaczyć wprowadzenie?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
-msgstr ""
+msgstr "Zrobione - Instalowanie lub aktualizowanie %d pakietów z %d błędami"
msgid "Download"
msgstr "Ładuj"
msgid "Edit DNS"
msgstr "Edytuj DNS"
+msgid "Edit IPKG source URL..."
+msgstr "Edytuj URL źródła IPKG..."
+
msgid "Edit Title"
msgstr "Edytuj Tytuł"
msgid "Gateway"
msgstr "Brama"
+msgid "General AC3 Delay"
+msgstr ""
+
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
msgid "Genre"
msgstr "Gatunek"
msgid "Hierarchy mode"
msgstr "Tryb hierarchii"
+msgid "High bitrate support"
+msgstr ""
+
msgid "Horizontal"
msgstr "Poziomo [H]"
msgstr "Wejście"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Instaluj nowe image z pamięci USB"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Instaluj nowe image z przeglądarki www"
msgid "Install local IPKG"
-msgstr ""
+msgstr "Instaluj lokalny IPKG"
+
+msgid "Install settings, skins, software..."
+msgstr "Instaluj ustawienia, skiny, soft..."
+
+msgid "Install software updates..."
+msgstr "Instaluj aktualizacje oprogramowania..."
msgid "Installing"
msgstr "Instalowanie"
msgstr "Odwrócone wyświetlanie"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Włoski"
msgstr "Szerokość geogr."
msgid "Latvian"
-msgstr ""
+msgstr "Łotewski"
msgid "Leave DVD Player?"
msgstr "Zamknąć odtwarzacz DVD?"
msgid "Left"
msgstr "Lewo"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Pozwól przeglądać/edytować pliki Dreamboxa"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgstr "Traktuj znacznik po prostu jak zaznaczenie"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Zarządzaj oprogramowaniem tunera"
msgid "Manual Scan"
msgstr "Ręczne skanowanie"
msgstr "Kreator sieci"
msgid "New"
-msgstr "Nowy"
+msgstr "Nowe"
msgid "New pin"
msgstr "Nowy pin"
msgid "No details for this image file"
msgstr "Brak opisu dla tego image'a"
+msgid "No displayable files on this medium found!"
+msgstr "Brak plików do wyświetlenia na tym środku!"
+
msgid "No event info found, recording indefinitely."
msgstr "Nie znaleziono informacji o wydarzeniu, nagrywanie nieokreślone."
msgstr "Online - Aktualizacja"
msgid "Only Free scan"
-msgstr "Tylko wolne skanowanie"
+msgstr "Skanuj tylko FTA"
msgid "Orbital Position"
msgstr "Pozycja orbitalna"
msgstr "Zarządzanie pakietem"
msgid "Packet manager"
-msgstr ""
+msgstr "Menadżer pakietów"
msgid "Page"
msgstr "Strona"
msgid "Play Audio-CD..."
msgstr "Odtwarzanie CD-Audio..."
+msgid "Play DVD"
+msgstr "Odtwórz DVD"
+
+msgid "Play Music..."
+msgstr "Odtwórz Muzykę..."
+
msgid "Play recorded movies..."
msgstr "Odtwarzanie nagranego filmu..."
msgstr "Prosze wybierz subserwis..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Wybierz środek aby użyć jako miejsce kopii zapasowej"
msgid "Please select tag to filter..."
msgstr "Wybierz oznaczenie do filtrowania..."
msgid "Providers"
msgstr "Providerzy"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "Python frontend dla /tmp/mmi.socket"
+
msgid "Quick"
msgstr "Szybko"
msgstr "Wybór prędkości odświeżania"
msgid "Reload"
-msgstr ""
+msgstr "Przeładuj"
msgid "Remove Bookmark"
msgstr "Usuń zakładkę"
msgstr "Usuń aktualnie wybrany tytuł"
msgid "Remove finished."
-msgstr ""
+msgstr "Usuwanie zakończone."
msgid "Remove plugins"
msgstr "Usuń pluginy"
msgstr "Usuń tytuł"
msgid "Removing"
-msgstr ""
+msgstr "Usuwanie"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
msgstr "Przywróć"
msgid "Restore backups..."
-msgstr ""
+msgstr "Przywróć kopie..."
msgid "Restore running"
-msgstr ""
+msgstr "Przywracanie uruchomione"
msgid "Restore running..."
-msgstr ""
+msgstr "Przywracanie uruchomione..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Przywróć ustawienia systemowe"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
msgstr "Prawo"
msgid "Rolloff"
-msgstr "Wyłącz rolowanie"
+msgstr "Rolloff"
msgid "Rotor turning speed"
msgstr "Prędkość obrotu rotora"
msgid "Scan "
msgstr "Skanuj"
+msgid "Scan Files..."
+msgstr "Skanuj Pliki..."
+
msgid "Scan QAM128"
msgstr "Skanuj QAM128"
msgstr "Wyszukiwanie"
msgid "Select"
-msgstr ""
+msgstr "Wybierz"
msgid "Select HDD"
msgstr "Wybierz HDD"
+msgid "Select IPKG source to edit..."
+msgstr "Wybierz źródło IPKG aby edytować..."
+
msgid "Select Location"
msgstr "Wybierz lokalizację"
msgstr "Wybierz kanał do nagrania z "
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Wybierz pliki dla kopii zapasowej. Aktualnie wybrane:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Wybierz pliki/katalogi dla kopii zapasowej..."
msgid "Select image"
msgstr "Wybierz image"
msgid "Select video input"
msgstr "Wybierz wejście Wideo"
+msgid "Select video input with up/down buttons"
+msgstr "Wybierz wejście video przyciskami góra/dół"
+
msgid "Select video mode"
msgstr "Wybierz tryb wideo"
msgstr "Odtwarzanie w zwolnionym tempie"
msgid "Software manager"
-msgstr ""
+msgstr "Menadżer oprogramowania"
msgid "Software manager..."
-msgstr ""
+msgstr "Menadżer oprogramowania..."
msgid "Software restore"
-msgstr ""
+msgstr "Przywracanie oprogramowania"
msgid "Software update"
-msgstr ""
+msgstr "Aktualizacja oprogramowania"
msgid "Some plugins are not available:\n"
msgstr "Niektóre pluginy są niedostępne:\n"
msgstr "Gdzie indziej"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "MediaScanner nie jest zainstalowany!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Nie znaleziono kopii zapasowych !"
msgid ""
"Sorry your Backup destination does not exist\n"
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Twoje miejsce na kopię zapasową jest niezapisywalne.\n"
+"Wybierz inne miejsce."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Twoje miejsce na kopię zapasową jest niezapisywalne.\n"
+"\n"
+"Wybierz inne miejsce."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
"\n"
"Czy chesz zapisać USB flash'er na tym napedzie?"
+msgid "The following files were found..."
+msgstr "Dane pliki zostały znalezione..."
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
"Nie ma wystarczająco miejsca na wybranej partycji.\n"
"Czy kontynuować?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr "Wystąpił błąd podczas pobierania listy pakietów. Spróbuj ponownie."
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "Plik .NFI nie posiada prawidłowego %s image'a!"
"Nosnik DVD RW zawiera dane- jego sformatowanie spowoduje utrate danych na "
"nosniku."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Ten Dreambox nie może zdekodować %s streamu!"
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Dreambox nie moze zdekodować %s strumienia video!"
msgstr ""
"Spróbuj odnaleźć używane transpondery w sieci kablowej... Proszę czekać..."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Próbuje pobrać nową listę pakietów. Proszę czekać..."
+
msgid "Tue"
msgstr "Wto"
msgstr "Aktualizowanie... Proszę czekać... To może potrwać kilka minut..."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Aktualizacja zakończona."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr "Aktualizacja skończona. Czy chcesz uruchomić ponownie Dreamboxa?"
msgstr "Pionowo [V]"
msgid "Video Fine-Tuning"
-msgstr "Konfiguracja obrazu..."
+msgstr "Korekcja obrazu..."
msgid "Video Fine-Tuning Wizard"
msgstr "Kreator czystości obrazu "
msgid "Video mode selection."
msgstr "Wybór trybu wideo"
+msgid "View Movies..."
+msgstr "Wyświetl Filmy..."
+
+msgid "View Photos..."
+msgstr "Wyświetl Zdjęcia..."
+
msgid "View Rass interactive..."
msgstr "Pokaż interaktywne Rass..."
+msgid "View Video CD..."
+msgstr "Wyświetl Video CD..."
+
msgid "View teletext..."
msgstr "Pokaż teletext..."
"\n"
"Really do a factory reset?"
msgstr ""
+"Gdy wybierzesz ustawienia fabryczne, stracisz całą konfigurację\n"
+"(włączając bukiety, kanały, satelity...)\n"
+"Po wykonaniu ustawień fabrycznych twój tuner zrestartuje się sam!\n"
+"\n"
+"Czy chcesz wykonać ustawienia fabryczne?"
msgid "Where do you want to backup your settings?"
msgstr "Gdzie chcesz zrobić kopie zapasową ustawień?"
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Wybrałeś kopię zapasową swoich ustawień. Wciśnij OK aby rozpocząć teraz."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"Wybrałeś przywrócenie swoich ustawień. Enigma2 zostanie zrestartowana po "
+"przywróceniu. Wciśnij OK aby rozpocząć teraz."
#, python-format
msgid "You have to wait %s!"
"Twoja kopia zapasowa została zrobiona. Będziemy kontynuować wyjaśnianie "
"procesu aktualizacji."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"Twoja kolekcja przewyższa rozmiar zwykłego nośnika dvd, będziesz potrzebował "
+"czystego nośnika DVD dwuwarstwowego!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Twój Dreambox jest wyłączany. Prosze czekać..."
msgid "[move mode]"
msgstr "[tryb przesuwania]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr ""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
msgid "abort alternatives edit"
msgstr "przerwij edycje wybranych"
msgid "activate current configuration"
msgstr "akrywuj aktualną konfigurację"
+msgid "add Provider"
+msgstr ""
+
+msgid "add Service"
+msgstr ""
+
msgid "add a nameserver entry"
msgstr "dodaj wpis nameservera"
msgstr "dodaj plik do playlisty"
msgid "add files to playlist"
-msgstr "dodaj pliki do playlisty"
+msgstr "Dodaj pliki do playlisty"
msgid "add marker"
msgstr "Dodaj zaznaczenie"
"Jesteś pewien że chcesz przywrócić\n"
"następującą kopie:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
msgstr "format ścieżki audio (%s)"
msgstr "wybierz folder docelowy"
msgid "circular left"
-msgstr "Okólnik lewo"
+msgstr "Kołój w lewo"
msgid "circular right"
-msgstr "Okólnik prawo"
+msgstr "Kołój w prawo"
msgid "clear playlist"
msgstr "Wyczyść playlistę"
msgid "day"
msgstr "dzień"
+msgid "delete"
+msgstr "Usuń"
+
msgid "delete cut"
msgstr "Usuń wycięte"
msgid "init module"
msgstr "Moduł init"
+msgid "init modules"
+msgstr ""
+
msgid "insert mark here"
msgstr "Wstaw znacznik tutaj"
msgid "no"
msgstr "Nie"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "Nie znaleziono HDD"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "Nie znaleziono modułu"
msgid "select .NFI flash file"
msgstr "wybierz plik .NFI flash"
+msgid "select CAId"
+msgstr ""
+
msgid "select image from server"
msgstr "wybierz plik z serwera"
msgid "zapped"
msgstr "Przełączony"
-#~ msgid ""
-#~ "\n"
-#~ "Enigma2 will restart after the restore"
-#~ msgstr ""
-#~ "\n"
-#~ "Enigma2 zostanie zrestartowana po przywróceniu"
-
#, fuzzy
#~ msgid "\"?"
#~ msgstr "\"?"
#~ msgid "color"
#~ msgstr "kolor"
-#~ msgid "delete"
-#~ msgstr "Usuń"
-
#~ msgid "equal to Socket A"
#~ msgstr "Równaj do Gniazda A"
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2007-06-14 10:15+0300\n"
-"Last-Translator: enigma® <enigma.ua@gmail.com>\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-25 10:11+0300\n"
+"Last-Translator: <peter@dreambox.org.ua>\n"
"Language-Team: Russian / enigma(c) Ukraine, Kiev>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Дополнительные параметры и настройки."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"После нажатия кнопки ОК, пожалуйста, подождите!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Резервная копия настроек Dreambox."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Редактировать адрес источника обновления."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 будет запущена после восстановления."
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Онлайн обновление Dreambox."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Нажмите ОК на пульте для продолжения."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Восстановить настройки Dreambox."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Восстановить Dreambox с новой микропрограммой."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Восстановить резервные копии по дате"
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Сканирование и установка локальных пакетов."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Выберите устройство для резервного копирования.\n"
+"Текущее устройство: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Просмотр, установка и удаление доступных или установленных пакетов."
msgid " "
msgstr ""
#, python-format
msgid "%d jobs are running in the background!"
-msgstr ""
+msgstr "%d процесс запущен в фоновом режиме!"
#, python-format
msgid "%d min"
msgstr "(ZAP)"
msgid "(empty)"
-msgstr ""
+msgstr "(пусто)"
msgid "(show optional DVD audio menu)"
-msgstr ""
+msgstr "(показать опцион. DVD аудио меню)"
msgid "* Only available if more than one interface is active."
-msgstr ""
+msgstr "* Доступно если активно более одного интерфейса."
msgid "* Only available when entering hidden SSID or network key"
-msgstr ""
+msgstr "* Доступно только при введенном скрытом SSID или ключе сети"
msgid ".NFI Download failed:"
-msgstr ""
+msgstr ".NFI Download failed:"
msgid ""
".NFI file passed md5sum signature check. You can safely flash this image!"
msgstr ""
+".NFI проверена md5sum сигнатура. Вы можете безопасно прошить этот имидж!"
msgid "/usr/share/enigma2 directory"
-msgstr "папка /usr/share/enigma2"
+msgstr "каÑ\82алог /usr/share/enigma2"
msgid "/var directory"
-msgstr "папка /var"
+msgstr "каÑ\82алог /var"
msgid "0"
msgstr ""
msgstr "13 V"
msgid "16:10"
-msgstr ""
+msgstr "16:10"
msgid "16:10 Letterbox"
-msgstr ""
+msgstr "16:10 Letterbox"
msgid "16:10 PanScan"
-msgstr ""
+msgstr "16:10 PanScan"
msgid "16:9"
-msgstr ""
+msgstr "16:9"
msgid "16:9 Letterbox"
-msgstr ""
+msgstr "16:10 PanScan"
msgid "16:9 always"
-msgstr ""
+msgstr "16:9 always"
msgid "18 V"
msgstr "18 V"
msgstr ""
msgid "4:3"
-msgstr ""
+msgstr "4:3"
msgid "4:3 Letterbox"
-msgstr ""
+msgstr "4:3 Letterbox"
msgid "4:3 PanScan"
-msgstr ""
+msgstr "4:3 PanScan"
msgid "5"
msgstr ""
msgstr "5 минут"
msgid "50 Hz"
-msgstr ""
+msgstr "50 Гц"
msgid "6"
msgstr ""
msgstr "<неизвестный>"
msgid "??"
-msgstr ""
+msgstr "??"
msgid "A"
msgstr "A"
"A configuration file (%s) was modified since Installation.\n"
"Do you want to keep your version?"
msgstr ""
+"Конфигурационный файл (%s) был изменен в процессе установки.\n"
+"Сохранить вашу версию?"
msgid ""
"A finished record timer wants to set your\n"
"Dreambox to standby. Do that now?"
msgstr ""
+"Запись по таймеру завершена, Dreambox будет переведен\n"
+"\"в ждущий режим. Сделать это сейчас?\""
msgid ""
"A finished record timer wants to shut down\n"
"your Dreambox. Shutdown now?"
msgstr ""
+"Запись по таймеру закончена, Dreambox\n"
+"\"будет выключен. Сделать это сейчас?\""
msgid "A graphical EPG for all services of an specific bouquet"
-msgstr ""
+msgstr "Графический телегид для всех сервисов в избранном"
#, python-format
msgid ""
"A record has been started:\n"
"%s"
msgstr ""
+"Запись начата:\n"
+"%s"
msgid ""
"A recording is currently running.\n"
msgid ""
"A recording is currently running. Please stop the recording before trying to "
"start the satfinder."
-msgstr ""
+msgstr "Идет запись. Остановите запись перед поиском спутника."
#, python-format
msgid "A required tool (%s) was not found."
-msgstr ""
+msgstr "Нужный инструмент (%s), не найден."
msgid ""
"A sleep timer wants to set your\n"
"Dreambox to standby. Do that now?"
msgstr ""
+"Таймер сна хочет перевести Dreambox\n"
+"в ждущий режим. Сделать это сейчас?"
msgid ""
"A sleep timer wants to shut down\n"
"your Dreambox. Shutdown now?"
msgstr ""
+"Таймер сна хочет выключить Dreambox.\n"
+"Сделать это сейчас?\""
msgid ""
"A timer failed to record!\n"
"Отключить TV и повторить снова?\n"
msgid "A/V Settings"
-msgstr "Аудио / видео установки"
+msgstr "Аудио/Видео"
msgid "AA"
msgstr "AA"
msgstr "AC3 по умолчанию"
msgid "AC3 downmix"
-msgstr ""
+msgstr "AC3 микширование"
msgid "About"
msgstr "Информация"
msgstr "О ресивере"
msgid "Action on long powerbutton press"
-msgstr ""
+msgstr "Длительное нажатии кнопки питания"
msgid "Action:"
-msgstr ""
+msgstr "Действие:"
msgid "Activate Picture in Picture"
msgstr "Включить картинку в картинке"
msgid "Activate network settings"
-msgstr "Ð\92клÑ\8eÑ\87ить сетевые установки"
+msgstr "Ð\90кÑ\82ивиÑ\80овать сетевые установки"
msgid "Adapter settings"
-msgstr ""
+msgstr "Настройка адаптера"
msgid "Add"
msgstr "Добавить"
msgid "Add Bookmark"
-msgstr ""
+msgstr "Добавить Закладку"
msgid "Add a mark"
-msgstr ""
+msgstr "Добавить метку"
msgid "Add a new title"
-msgstr ""
+msgstr "Добавить новое название"
msgid "Add timer"
-msgstr "Ð\94обавиÑ\82Ñ\8c Ñ\82аймер"
+msgstr "Таймер"
msgid "Add title"
-msgstr ""
+msgstr "Добавить название"
msgid "Add to bouquet"
-msgstr ""
+msgstr "Добавить в пакет"
msgid "Add to favourites"
-msgstr ""
+msgstr "Добавить в избранное"
msgid ""
"Adjust the color settings so that all the color shades are distinguishable, "
"OK to close the video fine-tuning, or use the number keys to select other "
"test screens."
msgstr ""
+"Настройте параметры цвета, так чтобы все оттенки цветов были максимально "
+"видны, насколько это возможно. Если вы довольны результатом, нажмите кнопку "
+"ОК для закрытия видео настроек, или используйте цифровые клавиши для выбора "
+"других тестов экрана "
msgid "Advanced"
msgstr "Расширенный"
msgid "Advanced Options"
-msgstr ""
+msgstr "Расширенные опции"
msgid "Advanced Video Setup"
-msgstr ""
+msgstr "Расширенная настройка видео"
msgid "Advanced restore"
-msgstr ""
+msgstr "Расширенное восстановление"
msgid "After event"
msgstr "После события"
msgstr "Все"
msgid "All Satellites"
-msgstr ""
+msgstr "Все Спутники"
msgid "Alpha"
msgstr "Прозрачность"
msgstr "Альтернативный радио режим "
msgid "Alternative services tuner priority"
-msgstr ""
+msgstr "Приоритет используемых тюнеров"
msgid "An empty filename is illegal."
-msgstr ""
-
-msgid "An error occured!"
-msgstr ""
+msgstr "Пустое имя недопустимо"
msgid "An unknown error occured!"
-msgstr ""
+msgstr "Неизвестная ошибка!"
msgid "Arabic"
msgstr "Арабский"
"Are you sure you want to activate this network configuration?\n"
"\n"
msgstr ""
+"Вы уверены, что хотите активировать эту конфигурацию сети?\n"
+"\n"
msgid ""
"Are you sure you want to restart your network interfaces?\n"
"\n"
msgstr ""
+"Вы уверены, что хотите перезагрузить сетевые интерфейсы?\n"
+"\n"
msgid ""
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Вы уверены, что хотите восстановить\n"
+"этот бекап:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Вы уверены, что хотите восстановить бекап Enigma2?\n"
+"Enigma2 будет перезапущена после восстановления"
msgid "Artist"
-msgstr "Актер"
+msgstr "Артист"
msgid "Ask before shutdown:"
msgstr "Спросить перед выключением?: "
msgid "Ask user"
-msgstr ""
+msgstr "Спросить пользователя"
msgid "Aspect Ratio"
-msgstr "Ð\9eтношение сторон"
+msgstr "Сотношение сторон"
msgid "Audio"
msgstr "Аудио"
msgid "Audio Options..."
-msgstr "Аудио опции"
+msgstr "Аудио опции..."
msgid "Authoring mode"
msgstr ""
msgstr "Автоматически"
msgid "Auto chapter split every ? minutes (0=never)"
-msgstr ""
+msgstr "Автоматически разделять на главы каждые ? минут (0 =никогда)"
msgid "Auto scart switching"
-msgstr ""
+msgstr "Автоматическое переключение SCART"
msgid "Automatic"
-msgstr ""
+msgstr "Автоматически"
msgid "Automatic Scan"
msgstr "Автоматический поиск"
msgid "Available format variables"
-msgstr ""
+msgstr "Доступные форматы переменных"
msgid "B"
msgstr "B"
msgstr "BB"
msgid "BER"
-msgstr ""
+msgstr "BER"
msgid "BER:"
msgstr "BER:"
msgid "Back"
-msgstr ""
+msgstr "Назад"
msgid "Background"
-msgstr ""
+msgstr "Фон"
msgid "Backup"
msgstr "Сохранение"
msgstr "Режим сохранения"
msgid "Backup done."
-msgstr ""
+msgstr "Сохранение завершено."
msgid "Backup failed."
-msgstr ""
+msgstr "Сохранение неудалось."
msgid "Backup is done. Please press OK to see the result."
msgstr "Сохранено. Пожалуйста, нажмите OK для просмотра результата"
msgid "Backup running"
-msgstr ""
+msgstr "Идет сохранение"
msgid "Backup running..."
-msgstr ""
+msgstr "Идет сохранение..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Сохранить настройки"
msgid "Band"
msgstr "Диапазон"
msgid "Bandwidth"
-msgstr "ШиÑ\80ина диапазона"
+msgstr "ТÑ\80аÑ\84Ñ\84ик"
msgid "Begin time"
-msgstr ""
+msgstr "Время начала"
msgid "Behavior of 'pause' when paused"
-msgstr ""
+msgstr "Действие 'пауза' во время паузы"
msgid "Behavior of 0 key in PiP-mode"
-msgstr ""
+msgstr "Действие кнопки 0 в PiP режиме"
msgid "Behavior when a movie is started"
-msgstr ""
+msgstr "Действие при начале воспроизведения фильма"
msgid "Behavior when a movie is stopped"
-msgstr ""
+msgstr "Действие при остановке воспроизведения фильма"
msgid "Behavior when a movie reaches the end"
-msgstr ""
+msgstr "Действие при окончании фильма"
msgid "Bookmarks"
-msgstr ""
+msgstr "Закладки"
msgid "Brightness"
msgstr "Яркость"
msgid "Burn DVD"
-msgstr ""
+msgstr "Прожечь DVD"
msgid "Burn existing image to DVD"
-msgstr ""
+msgstr "Прожечь существующий образ на DVD"
msgid "Burn to DVD..."
-msgstr ""
+msgstr "Прожечь на DVD..."
msgid "Bus: "
msgstr "Шина:"
msgstr "Нажмите кнопку OK на пульте, для отображения инфопанели."
msgid "C"
-msgstr ""
+msgstr "С"
msgid "C-Band"
msgstr "C-Диапазон"
msgstr "CF карта"
msgid "CVBS"
-msgstr ""
+msgstr "CVBS"
msgid "Cable"
msgstr "Кабель"
msgid "Cache Thumbnails"
-msgstr ""
+msgstr "Кешировать Эскизы"
msgid "Call monitoring"
-msgstr ""
+msgstr "Мониторинг звонка"
msgid "Cancel"
msgstr "Отменить"
msgid "Cannot parse feed directory"
-msgstr ""
+msgstr "Невозможно разобрать каталог с пакетами"
msgid "Capacity: "
-msgstr "РазмеÑ\80: "
+msgstr "Ð\95мкоÑ\81Ñ\82Ñ\8c: "
msgid "Card"
-msgstr ""
+msgstr "Карта"
msgid "Catalan"
-msgstr ""
+msgstr "Каталонский"
msgid "Change bouquets in quickzap"
-msgstr "Сменить пакеты пользователя для быстрого переключения"
+msgstr "Сменить пакеты при быстром переключении"
msgid "Change dir."
-msgstr ""
+msgstr "Изменить каталог."
msgid "Change pin code"
msgstr "Сменить PIN код"
msgid "Change service pin"
-msgstr "СеÑ\80виÑ\81 изменениÑ\8f PIN"
+msgstr "Ð\98змениÑ\82Ñ\8c PIN Ñ\81еÑ\80виÑ\81а"
msgid "Change service pins"
-msgstr "СеÑ\80виÑ\81 изменениÑ\8f PINs"
+msgstr "Ð\98зменениÑ\82Ñ\8c PINs Ñ\81еÑ\80виÑ\81а"
msgid "Change setup pin"
-msgstr "Изменить установки PIN"
+msgstr "Изменить PIN настроек"
msgid "Channel"
msgstr "Канал"
msgstr "Выбор канала"
msgid "Channel not in services list"
-msgstr ""
+msgstr "Канала нет в списке"
msgid "Channel:"
msgstr "Канал:"
msgstr "Меню списка каналов"
msgid "Chap."
-msgstr ""
+msgstr "Глава"
msgid "Chapter"
-msgstr ""
+msgstr "Раздел"
msgid "Chapter:"
-msgstr ""
+msgstr "Раздел:"
msgid "Check"
-msgstr ""
+msgstr "Проверить"
msgid "Checking Filesystem..."
-msgstr ""
+msgstr "Файловая система..."
msgid "Choose Tuner"
-msgstr ""
+msgstr "Выбрать тюнер"
msgid "Choose backup files"
-msgstr ""
+msgstr "Выбрать файлы"
msgid "Choose backup location"
-msgstr ""
+msgstr "Расположение"
msgid "Choose bouquet"
msgstr "Выберите пакет пользователя"
msgstr "Выберите иточник"
msgid "Choose target folder"
-msgstr ""
+msgstr "Выбрать целевую папку"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Выбрать источник обновления"
msgid "Choose your Skin"
-msgstr ""
+msgstr "Выбор графической оболочки"
msgid "Circular left"
-msgstr ""
+msgstr "Круговая левая"
msgid "Circular right"
-msgstr ""
+msgstr "Круговая правая"
msgid "Cleanup"
msgstr "Очистить"
msgstr "Очистить лог"
msgid "Close"
-msgstr ""
+msgstr "Закрыть"
msgid "Code rate high"
msgstr "Скорость кодирования высокая "
msgstr "Скорость кодирования низкая"
msgid "Coderate HP"
-msgstr ""
+msgstr "Скорость кодирования HP"
msgid "Coderate LP"
-msgstr ""
+msgstr "Скорость кодирования LP"
msgid "Collection name"
-msgstr ""
+msgstr "Название коллекции"
msgid "Collection settings"
-msgstr ""
+msgstr "Настройки коллекции"
msgid "Color Format"
msgstr "Тип видеовыхода"
msgid "Command execution..."
-msgstr ""
+msgstr "Выполнение команды..."
msgid "Command order"
msgstr "Последовательность команд"
msgid "Common Interface"
msgstr "Common Interfaсе"
-msgid "Compact Flash"
+msgid "Common Interface Assignment"
msgstr ""
+msgid "Compact Flash"
+msgstr "Compact Flash"
+
msgid "Compact flash card"
msgstr "Compact Flash карта"
msgstr "Полное"
msgid "Complex (allows mixing audio tracks and aspects)"
+msgstr "Комплекс (микширование звуковых дорожек и разрешения видео)"
+
+msgid "Config"
msgstr ""
msgid "Configuration Mode"
msgstr "Режим конфигурации"
msgid "Configuring"
-msgstr ""
+msgstr "Настройка"
msgid "Conflicting timer"
msgstr "Конфликт таймеров"
msgid "Connected to"
-msgstr ""
+msgstr "Подключен к"
msgid "Connected to Fritz!Box!"
-msgstr ""
+msgstr "Подключен к Fritz!Box!"
msgid "Connecting to Fritz!Box..."
-msgstr ""
+msgstr "Подключение к Fritz!Box!..."
#, python-format
msgid ""
"failed! (%s)\n"
"retrying..."
msgstr ""
+"Подключение к Fritz!Box\n"
+"неудалось! (%s)\n"
+"повтор..."
msgid "Constellation"
-msgstr ""
+msgstr "Созвездие"
msgid "Content does not fit on DVD!"
-msgstr ""
+msgstr "Содержание не помещается на DVD"
msgid "Continue in background"
-msgstr ""
+msgstr "Продолжить в фоновом режиме"
msgid "Continue playing"
-msgstr ""
+msgstr "Продолжить воспроизведение"
msgid "Contrast"
msgstr "Контрастность"
msgid "Could not connect to Dreambox .NFI Image Feed Server:"
-msgstr ""
+msgstr "Не удалось подключиться к Dreambox. NFI Feed Image серверу:"
msgid "Could not load Medium! No disc inserted?"
-msgstr ""
+msgstr "Не удалось загрузить носитель! Проверьте, вставлен ли диск?"
#, python-format
msgid "Couldn't record due to conflicting timer %s"
-msgstr ""
+msgstr "Запись невозможна - конфликт таймеров %s"
msgid "Create DVD-ISO"
-msgstr ""
+msgstr "Создать DVD-ISO"
msgid "Create movie folder failed"
-msgstr ""
+msgstr "Папка movie не создана"
#, python-format
msgid "Creating directory %s failed."
-msgstr ""
+msgstr "Не удалось создать каталог %s"
msgid "Creating partition failed"
-msgstr ""
+msgstr "Не удалось создать раздел"
msgid "Croatian"
-msgstr ""
+msgstr "Хорватский"
msgid "Current Transponder"
-msgstr ""
+msgstr "Текущий транспондер"
msgid "Current settings:"
-msgstr ""
+msgstr "Текущие настройки:"
msgid "Current version:"
msgstr "Текущая версия:"
msgid "Custom skip time for '1'/'3'-keys"
-msgstr ""
+msgstr "Время пропуска для кнопок '1'/'3'"
msgid "Custom skip time for '4'/'6'-keys"
-msgstr ""
+msgstr "Время пропуска для кнопок '4'/'6'"
msgid "Custom skip time for '7'/'9'-keys"
-msgstr ""
+msgstr "Время пропуска для кнопок '7'/'9'"
msgid "Customize"
msgstr "Опции"
msgid "Cut"
-msgstr ""
+msgstr "Редактировать"
msgid "Cutlist editor..."
-msgstr ""
+msgstr "видео редактор..."
msgid "Czech"
-msgstr ""
+msgstr "Чешский"
msgid "D"
-msgstr ""
+msgstr "D"
msgid "DHCP"
-msgstr ""
+msgstr "DHCP"
msgid "DVB-S"
msgstr "DVB-S"
msgstr "DVB-S2"
msgid "DVD Player"
-msgstr ""
+msgstr "DVD плеер"
msgid "DVD media toolbox"
-msgstr ""
+msgstr "DVD медиа-инструменты"
msgid "Danish"
msgstr "Датский"
msgstr "Дата"
msgid "Deep Standby"
-msgstr "Ð\9fолное вÑ\8bклÑ\8eÑ\87ение"
+msgstr "Ð\92Ñ\8bклÑ\8eÑ\87иÑ\82Ñ\8c"
msgid "Default services lists"
-msgstr ""
+msgstr "Сервисы по умолчанию"
msgid "Default settings"
-msgstr ""
+msgstr "Настройки по умолчанию"
msgid "Delay"
msgstr "Задержка"
msgstr "Удалить выбранное"
msgid "Delete failed!"
-msgstr "УдалиÑ\82Ñ\8c оÑ\88ибки"
+msgstr "Ð\9dелÑ\8cзÑ\8f Ñ\83далиÑ\82Ñ\8c!"
#, python-format
msgid ""
"Delete no more configured satellite\n"
"%s?"
msgstr ""
+"Удалить не настроенный спутник\n"
+"%s?"
msgid "Description"
msgstr "Описание"
msgid "Deselect"
-msgstr ""
+msgstr "Отменить"
msgid "Destination directory"
-msgstr ""
+msgstr "Каталог назначения"
msgid "Detected HDD:"
msgstr "Найден HDD:"
msgstr "DiSEqC A/B/C/D"
msgid "DiSEqC mode"
-msgstr "DiSEqC-режим"
+msgstr "DiSEqC режим"
msgid "DiSEqC repeats"
msgstr "DiSEqC повтор"
msgid "Direct playback of linked titles without menu"
-msgstr ""
+msgstr "Воспроизводить связанные названия без меню"
#, python-format
msgid "Directory %s nonexistent."
-msgstr ""
+msgstr "Каталог %s отсутствует."
msgid "Disable"
msgstr "Отключен"
msgstr "Отключить режим PiP"
msgid "Disable Subtitles"
-msgstr ""
+msgstr "Отключить субтитры"
msgid "Disable timer"
-msgstr ""
+msgstr "Отключить таймер"
msgid "Disabled"
msgstr "Отключен"
"Fritz!Box! (%s)\n"
"retrying..."
msgstr ""
+"Отключен от\n"
+"Fritz!Box! (%s)\n"
+"повтор..."
msgid "Dish"
msgstr "Тарелка"
msgid "Display 16:9 content as"
-msgstr ""
+msgstr "Показывать 16:9 контент как"
msgid "Display 4:3 content as"
-msgstr ""
+msgstr "Показывать 4:3 контент как"
msgid "Display >16:9 content as"
-msgstr ""
+msgstr "Показывать >16:9 контент как"
msgid "Display Setup"
-msgstr ""
+msgstr "Настройка дисплея"
#, python-format
msgid ""
"Do you really want to REMOVE\n"
"the plugin \"%s\"?"
msgstr ""
+"Вы действительно хотите УДАЛИТЬ\n"
+"плагин \"%s\"?"
msgid ""
"Do you really want to check the filesystem?\n"
"This could take lots of time!"
msgstr ""
+"Вы действительно хотите проверить файловую систему?\n"
+"Это займет некоторое время!"
#, python-format
msgid "Do you really want to delete %s?"
"Do you really want to download\n"
"the plugin \"%s\"?"
msgstr ""
+"Вы действительно хотите загрузить\n"
+"плагин \"%s\"?"
msgid ""
"Do you really want to initialize the harddisk?\n"
"All data on the disk will be lost!"
msgstr ""
-"Вы действительно хотите произвести установку жесткого диска?\n"
+"Вы действительно хотите форматировать жесткий диск?\n"
"Все данные на данном диске будут удалены!"
#, python-format
msgid "Do you really want to remove directory %s from the disk?"
-msgstr ""
+msgstr "Вы действительно хотите удалить каталог %s с диска?"
#, python-format
msgid "Do you really want to remove your bookmark of %s?"
-msgstr ""
+msgstr "Вы действительно хотите удалить закладку %s?"
msgid ""
"Do you want to backup now?\n"
"После нажатия OK, пожалуйста, ждите!"
msgid "Do you want to burn this collection to DVD medium?"
-msgstr ""
+msgstr "Вы хотите прожечь эту коллекцию на DVD носитель?"
msgid "Do you want to do a service scan?"
msgstr "Вы хотите сканировать спутник?"
msgid "Do you want to do another manual service scan?"
-msgstr "Ð\92Ñ\8b Ñ\85оÑ\82иÑ\82е Ñ\81делаÑ\82Ñ\8c Ñ\80Ñ\83Ñ\87ной поиÑ\81к?"
+msgstr "Ð\98Ñ\81каÑ\82Ñ\8c еÑ\89е вÑ\80Ñ\83Ñ\87нÑ\83Ñ\8e?"
msgid "Do you want to enable the parental control feature on your dreambox?"
msgstr "Вы желаете установить родительский контроль на Вашем dreambox?"
msgid "Do you want to install default sat lists?"
-msgstr ""
+msgstr "Вы хотите установить спутники по умолчанию?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Вы хотите установить пакет?:\n"
msgid "Do you want to play DVD in drive?"
-msgstr ""
+msgstr "Вы хотите воспроизвести DVD в приводе?"
msgid "Do you want to preview this DVD before burning?"
-msgstr ""
+msgstr "Вы хотите просмотреть DVD перед прожигом?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Вы хотите перезагрузить Dreambox?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Вы хотите удалить пакет:\n"
msgid "Do you want to restore your settings?"
msgstr "Вы хотите восстановить Ваши установки?"
msgstr "Вы хотите продолжить воспроизведение?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Вы хотите обновить Dreambox?"
msgid ""
"Do you want to update your Dreambox?\n"
"После нажатия OK, пожалуйста, ждите!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Вы хотите обновить пакет:\n"
msgid "Do you want to view a tutorial?"
msgstr "Вы хотите посмотреть описание?"
msgid "Don't stop current event but disable coming events"
-msgstr ""
+msgstr "Не останавливать текущее событие, но отключить ближайшие события"
#, python-format
msgid "Done - Installed or upgraded %d packages"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
-msgstr ""
+msgstr "Готово - Установлено, обновлено или удалено %d пакетов с %d ошибками"
msgid "Download"
-msgstr ""
+msgstr "Загрузить"
msgid "Download .NFI-Files for USB-Flasher"
-msgstr ""
+msgstr "Загрузить .NFI-файлы для USB-флешера"
msgid "Download Plugins"
msgstr "Скачать плагины"
msgid "Download of USB flasher boot image failed: "
-msgstr ""
+msgstr "Не удалось скачать загрузочный имидж:"
msgid "Downloadable new plugins"
msgstr "Доступные новые плагины"
msgstr "Загрузка"
msgid "Downloading plugin information. Please wait..."
-msgstr "Ð\98деÑ\82 загрузка информации о плагинах. Ждите..."
+msgstr "Ð\97агрузка информации о плагинах. Ждите..."
msgid "Dreambox format data DVD (HDTV compatible)"
-msgstr ""
+msgstr "Dreambox формат данных DVD (HDTV-совместимый"
msgid "Dutch"
msgstr "Нидерландский"
msgstr "Восток"
msgid "Edit"
-msgstr ""
+msgstr "Редактировать"
msgid "Edit DNS"
-msgstr ""
+msgstr "Изменить DNS"
+
+msgid "Edit IPKG source URL..."
+msgstr "Редактировать "
msgid "Edit Title"
-msgstr ""
+msgstr "Изменить заголовок"
msgid "Edit chapters of current title"
-msgstr ""
+msgstr "Изменить главы текущего заголовка"
msgid "Edit services list"
msgstr "Редактировать список сервисов"
msgid "Edit settings"
-msgstr ""
+msgstr "Изменить настройки"
msgid "Edit the Nameserver configuration of your Dreambox.\n"
-msgstr ""
+msgstr "Изменить сервер DNS вашего Dreambox.\n"
msgid "Edit the network configuration of your Dreambox.\n"
-msgstr ""
+msgstr "Изменить конфигурацию сети вашего Dreambox.\n"
msgid "Edit title"
-msgstr ""
+msgstr "Изменить заголовок"
msgid "Electronic Program Guide"
-msgstr ""
+msgstr "Телегид"
msgid "Enable"
msgstr "Включить"
msgstr "Включить 5V для антенны"
msgid "Enable multiple bouquets"
-msgstr "Включить multiple bouquets"
+msgstr "Включить мультипакеты"
msgid "Enable parental control"
msgstr "Включить родительский контроль"
msgid "Enable timer"
-msgstr ""
+msgstr "Включить таймер"
msgid "Enabled"
msgstr "Включен"
msgid "Encryption"
-msgstr ""
+msgstr "Кодировка"
msgid "Encryption Key"
-msgstr ""
+msgstr "Ключ шифрования"
msgid "Encryption Keytype"
-msgstr ""
+msgstr "Тип ключа шифрования"
msgid "Encryption Type"
-msgstr ""
+msgstr "Тип шифрования"
msgid "End time"
-msgstr ""
+msgstr "Время окончания"
msgid "EndTime"
msgstr "Время окончания"
"\n"
"© 2006 - Stephan Reichholf"
msgstr ""
+"Enigma2 Skinselector v0.5 BETA\n"
+"\n"
+"Если у вас возникли проблемы пишите\n"
+"stephan@reichholf.net\n"
+"\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
#. which "winding mode" is entered when first pressing "rewind" or
#. "fast forward".
msgid "Enter Fast Forward at speed"
-msgstr ""
+msgstr "Скорость перемотки вперед"
msgid "Enter Rewind at speed"
-msgstr ""
+msgstr "Скорость перемотки назад"
msgid "Enter WLAN network name/SSID:"
-msgstr ""
+msgstr "Введите имя беспроводной сети/SSID:"
msgid "Enter WLAN passphrase/key:"
-msgstr ""
+msgstr "Введите ключ сети"
msgid "Enter main menu..."
msgstr "Войти в главное меню..."
msgid "Enter the service pin"
-msgstr ""
+msgstr "Введите pin-код для сервиса"
msgid "Error"
-msgstr ""
+msgstr "Ошибка"
msgid "Error executing plugin"
-msgstr ""
+msgstr "Ошибка выполнения плагина"
#, python-format
msgid ""
"Error: %s\n"
"Retry?"
msgstr ""
+"Ошибка: %s\n"
+"Повторить?"
msgid "Eventview"
msgstr "Просмотр событий"
msgid "Everything is fine"
-msgstr ""
+msgstr "Все хорошо"
msgid "Execution Progress:"
msgstr "Процесс выполнения:"
msgstr "Выполнение закончено!"
msgid "Exif"
-msgstr ""
+msgstr "Exif"
msgid "Exit"
-msgstr ""
+msgstr "Выйти"
msgid "Exit editor"
-msgstr ""
+msgstr "Выйти из редактора"
msgid "Exit the wizard"
-msgstr "Выход из мастера настроек"
+msgstr "Выйти из мастера настроек"
msgid "Exit wizard"
-msgstr "Выход из мастера настроек"
+msgstr "Выйти из мастера настроек"
msgid "Expert"
-msgstr ""
+msgstr "Эксперт"
msgid "Extended Networksetup Plugin..."
-msgstr ""
+msgstr "Расширенный плагин настроек сети..."
msgid "Extended Setup..."
-msgstr ""
+msgstr "Расширенные настройки..."
msgid "Extensions"
msgstr "Расширения"
msgstr "FEC"
msgid "Factory reset"
-msgstr ""
+msgstr "Заводские установки"
msgid "Failed"
-msgstr ""
+msgstr "Неудачный"
msgid "Fast"
-msgstr ""
+msgstr "Быстро"
msgid "Fast DiSEqC"
msgstr "Быстрый DiSEqC"
msgid "Fast Forward speeds"
-msgstr ""
+msgstr "Скорость перемотки вперед"
msgid "Fast epoch"
msgstr ""
msgstr "Избранное"
msgid "Filesystem Check..."
-msgstr ""
+msgstr "Файловая система..."
msgid "Filesystem contains uncorrectable errors"
-msgstr ""
+msgstr "Файловая система содержит неисправимые ошибки"
msgid "Finetune"
msgstr "Точно"
msgid "Finished"
-msgstr ""
+msgstr "Завершено"
msgid "Finished configuring your network"
-msgstr ""
+msgstr "Настройка сети закончена"
msgid "Finished restarting your network"
-msgstr ""
+msgstr "Перезагрузка сети завершена"
msgid "Finnish"
-msgstr "Ð\9eконÑ\87ание"
+msgstr "ФинÑ\81кий"
msgid ""
"First we need to download the latest boot environment for the USB flasher."
-msgstr ""
+msgstr "Сначала нужно скачать загрузочную среду для USB flasher."
msgid "Flash"
-msgstr ""
+msgstr "Прошивка"
msgid "Flashing failed"
-msgstr ""
+msgstr "Прошивка не удалась"
msgid "Format"
-msgstr ""
+msgstr "Формат"
msgid "Frame repeat count during non-smooth winding"
-msgstr ""
+msgstr "Расчет повтора кадров для покадрового воспроизведения"
msgid "Frame size in full view"
-msgstr ""
+msgstr "Размер рамки при просмотре во весь экран"
msgid "French"
msgstr "Французский"
msgstr "Частота"
msgid "Frequency bands"
-msgstr ""
+msgstr "Частотные диапазоны"
msgid "Frequency scan step size(khz)"
-msgstr ""
+msgstr "Шаг частоты сканирования(khz)"
msgid "Frequency steps"
-msgstr ""
+msgstr "Шаг частоты"
msgid "Fri"
msgstr "Пт"
msgstr "Пятница"
msgid "Frisian"
-msgstr ""
+msgstr "Фризский"
msgid "Fritz!Box FON IP address"
-msgstr ""
+msgstr "Fritz!Box FON IP адрес"
#, python-format
msgid "Frontprocessor version: %d"
msgstr "Версия фронтпроцессора: %d"
msgid "Fsck failed"
-msgstr ""
+msgstr "Ошибка fsck"
msgid "Function not yet implemented"
msgstr "Функция не реализована"
"GUI needs a restart to apply a new skin\n"
"Do you want to Restart the GUI now?"
msgstr ""
+"Для активации нового скина необходимо перезагрузить GUI\n"
+"Хотите перезагрузить GUI сейчас?"
msgid "Gateway"
msgstr "Шлюз"
+msgid "General AC3 Delay"
+msgstr ""
+
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
msgid "Genre"
msgstr "Жанр"
msgstr "Переход на позицию"
msgid "Graphical Multi EPG"
-msgstr ""
+msgstr "Графический телегид"
msgid "Greek"
-msgstr ""
+msgstr "Греческий"
msgid "Guard Interval"
-msgstr ""
+msgstr "Интервал защиты"
msgid "Guard interval mode"
msgstr "Guard interval mode"
msgstr "Жесткий диск"
msgid "Harddisk setup"
-msgstr ""
+msgstr "Настройка диска"
msgid "Harddisk standby after"
-msgstr ""
+msgstr "Отключение HDD через"
msgid "Hidden network SSID"
-msgstr ""
+msgstr "Скрытый SSID сети"
msgid "Hierarchy Information"
-msgstr ""
+msgstr "Иерархия информации"
msgid "Hierarchy mode"
-msgstr "Hierarchy mode"
+msgstr "Режим иерархии"
-msgid "Horizontal"
+msgid "High bitrate support"
msgstr ""
+msgid "Horizontal"
+msgstr "Горизонтальная"
+
msgid "How many minutes do you want to record?"
-msgstr "СколÑ\8cко минÑ\83Ñ\82 вÑ\8b Ñ\85оÑ\82иÑ\82е пÑ\80оизводиÑ\82Ñ\8c запиÑ\81ь?"
+msgstr "СколÑ\8cко минÑ\83Ñ\82 вÑ\8b Ñ\85оÑ\82иÑ\82е запиÑ\81аÑ\82ь?"
msgid "Hungarian"
-msgstr ""
+msgstr "Венгерский"
msgid "IP Address"
msgstr "IP адрес"
msgid "ISO file is too large for this filesystem!"
-msgstr ""
+msgstr "ISO файл слишком велик для этой файловой системы!"
msgid "ISO path"
-msgstr ""
+msgstr "ISO путь"
msgid "Icelandic"
msgstr "Исландский"
msgid "If you can see this page, please press OK."
-msgstr ""
+msgstr "Если вы видите эту страницу нажмите ОК."
msgid ""
"If you see this, something is wrong with\n"
"your scart connection. Press OK to return."
msgstr ""
+"Если вы видите это, то что-то не так с вашим\n"
+"SCART соединением. Нажмите кнопку ОК, чтобы вернуться."
msgid ""
"If your TV has a brightness or contrast enhancement, disable it. If there is "
"step.\n"
"If you are happy with the result, press OK."
msgstr ""
+"Если в Вашем телевизоре наблюдается превышение яркости или контрастности, "
+"устраните это. Если в Вашем TB выбран один из режимов настроек изображения,"
+"например \"динамичный\", сбросьте настройки в стандартные .Уменьшите "
+"контрастность Вашего ТВ на максимально возможное значение.\n"
+"Теперь уменьшите яркость на максимально низкое значение, на сколько это "
+"возможно, но при этом следите, чтобы два самых нижних оттенка "
+"былиразличимы.\n"
+"Не беспокойтесь о ярких оттенках, они будут настроены на следующем этапе.\n"
+"Если Вас устраивает результат, нажмите OK."
msgid "Image flash utility"
-msgstr ""
+msgstr "Утилита прошивки имиджа"
msgid "Image-Upgrade"
msgstr "Обновление имиджа"
msgid "In Progress"
-msgstr ""
+msgstr "В Процессе"
msgid ""
"In order to record a timer, the TV was switched to the recording service!\n"
-msgstr ""
+msgstr "Таймер переключил телевизор на записываемый канал!\n"
msgid "Increased voltage"
msgstr "Повышенное напряжение"
msgid "Index"
-msgstr ""
+msgstr "Индекс"
msgid "InfoBar"
-msgstr ""
+msgstr "ИнфоПанель"
msgid "Infobar timeout"
msgstr "Время показа инфопанели"
msgstr "Вход"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Установить новый имидж с USB стика"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Установить новый имидж через web браузер"
msgid "Install local IPKG"
-msgstr ""
+msgstr "Установить локальный IPKG"
+
+msgid "Install settings, skins, software..."
+msgstr "Установить настройки, скины, программное обеспечение..."
+
+msgid "Install software updates..."
+msgstr "Установить обновления..."
msgid "Installing"
-msgstr ""
+msgstr "Установка"
msgid "Installing Software..."
-msgstr ""
+msgstr "Установка программы..."
msgid "Installing default sat lists... Please wait..."
-msgstr ""
+msgstr "Установка "
msgid "Installing defaults... Please wait..."
-msgstr ""
+msgstr "Установка настроек по умолчанию... Пожалуйста, подождите..."
msgid "Installing package content... Please wait..."
-msgstr ""
+msgstr "Установка содержимого пакета... Пожалуйста, подождите.."
msgid "Instant Record..."
msgstr "Немедленная запись..."
msgid "Integrated Ethernet"
-msgstr ""
+msgstr "Адаптер локальной сети"
msgid "Integrated Wireless"
-msgstr ""
+msgstr "Адаптер беспроводной сети"
msgid "Intermediate"
-msgstr ""
+msgstr "Промежуточный"
msgid "Internal Flash"
-msgstr ""
+msgstr "Внутренняя флешь"
msgid "Invalid Location"
-msgstr ""
+msgstr "Неправильное расположение"
#, python-format
msgid "Invalid directory selected: %s"
-msgstr ""
+msgstr "Выбран неправильный каталог: %s"
msgid "Inversion"
msgstr "Инверсия"
msgstr "Инверсия экрана"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Итальянский"
msgid "Job View"
-msgstr ""
+msgstr "Просмотр задания"
#. TRANSLATORS: (aspect ratio policy: display as fullscreen, even if this breaks the aspect)
msgid "Just Scale"
-msgstr ""
+msgstr "Just Scale"
msgid "Keyboard Map"
msgstr "Раскладка клавиатуры"
msgstr "Keymap"
msgid "LAN Adapter"
-msgstr ""
+msgstr "Сетевой адаптер"
msgid "LNB"
msgstr "LNB"
msgstr "Язык..."
msgid "Last speed"
-msgstr ""
+msgstr "Последняя скорость"
msgid "Latitude"
msgstr "Широта"
msgid "Latvian"
-msgstr ""
+msgstr "Латвийский"
msgid "Leave DVD Player?"
-msgstr ""
+msgstr "Выйти из DVD плеера?"
msgid "Left"
msgstr "Левый"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Позволяет просматривать и редактировать файлы на Dreambox"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
-msgstr ""
+msgstr "Letterbox"
msgid "Limit east"
msgstr "Ограничение восток"
msgstr "Ограничения включены"
msgid "Link:"
-msgstr ""
+msgstr "Ссылка:"
msgid "Linked titles with a DVD menu"
-msgstr ""
+msgstr "Заголовки связанные с DVD меню"
msgid "List of Storage Devices"
-msgstr ""
+msgstr "Список устройств хранения"
msgid "Lithuanian"
-msgstr ""
+msgstr "Литовский"
msgid "Load"
-msgstr ""
+msgstr "Загрузить"
msgid "Load Length of Movies in Movielist"
-msgstr ""
+msgstr "Загружать длительность видео в список фильмов"
msgid "Local Network"
-msgstr ""
+msgstr "Локальная сеть"
msgid "Location"
-msgstr ""
+msgstr "Расположение"
msgid "Lock:"
-msgstr ""
+msgstr "Захват:"
msgid "Log results to harddisk"
-msgstr ""
+msgstr "Записывать журнал на диск"
msgid "Long Keypress"
-msgstr ""
+msgstr "Длинное нажатие"
msgid "Longitude"
msgstr "Долгота"
msgid "MMC Card"
-msgstr ""
+msgstr "MMC карта"
msgid "MORE"
msgstr "БОЛЬШЕ"
msgstr "Главное меню"
msgid "Make this mark an 'in' point"
-msgstr ""
+msgstr "Отметить эту точку как 'начало'"
msgid "Make this mark an 'out' point"
-msgstr ""
+msgstr "Отметить эту точку как 'конец'"
msgid "Make this mark just a mark"
-msgstr ""
+msgstr "Создать простую метку"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Менеджер ПО ресивера"
msgid "Manual Scan"
msgstr "Ручной поиск"
msgid "Manual transponder"
-msgstr "Manual transponder"
+msgstr "Транспондер вручную"
msgid "Manufacturer"
-msgstr ""
+msgstr "Производитель"
msgid "Margin after record"
msgstr "Объединить после записи"
msgstr "Объединить перед записью (в минутах)"
msgid "Media player"
-msgstr "Медиа проигрыватель"
+msgstr "Медиаплеер"
msgid "MediaPlayer"
-msgstr "Медиа проигрыватель"
+msgstr "Медиаплеер"
msgid "Medium is not a writeable DVD!"
-msgstr ""
+msgstr "Носитель не записываемый DVD!"
msgid "Medium is not empty!"
-msgstr ""
+msgstr "Носитель не пустой!"
msgid "Menu"
msgstr "Меню"
msgstr "Сообщение"
msgid "Message..."
-msgstr ""
+msgstr "Сообщение..."
msgid "Mkfs failed"
-msgstr ""
+msgstr "Ошибка mkfs"
msgid "Mode"
-msgstr "режим"
+msgstr "Режим"
msgid "Model: "
msgstr "Модель:"
msgstr "Понедельник"
msgid "Mount failed"
-msgstr ""
+msgstr "Ошибка подключения"
msgid "Move Picture in Picture"
msgstr "Переместить PiP"
msgstr "Переместить на запад"
msgid "Movielist menu"
-msgstr ""
+msgstr "Меню списка видео"
msgid "Multi EPG"
-msgstr "Multi-EPG"
+msgstr "Граф. EPG"
msgid "Multiple service support"
msgstr "Поддержка мультисервисов"
msgid "Multisat"
-msgstr "Multisat"
+msgstr "Несколько спутников"
msgid "Mute"
msgstr "Без звука"
msgstr "Следующий"
msgid "NFI image flashing completed. Press Yellow to Reboot!"
-msgstr ""
+msgstr "NFI имидж удачно установлен. Нажмите ЖЕЛТЫЙ для перезагрузки!"
msgid "NOW"
msgstr "СЕЙЧАС"
msgid "NTSC"
-msgstr ""
+msgstr "NTSC"
msgid "Name"
msgstr "Имя"
#, python-format
msgid "Nameserver %d"
-msgstr ""
+msgstr "DNS сервер %d"
msgid "Nameserver Setup"
-msgstr ""
+msgstr "Настройка DNS"
msgid "Nameserver settings"
-msgstr ""
+msgstr "Настройка DNS"
msgid "Netmask"
msgstr "Маска подсети"
msgid "Network Configuration..."
-msgstr ""
+msgstr "Конфигурация сети..."
msgid "Network Mount"
-msgstr ""
+msgstr "Сетевые подключения"
msgid "Network SSID"
-msgstr ""
+msgstr "SSID сети"
msgid "Network Setup"
-msgstr "УÑ\81Ñ\82ановка сети"
+msgstr "Ð\9dаÑ\81Ñ\82Ñ\80ойка сети"
msgid "Network scan"
msgstr "Поиск сети"
msgid "Network setup"
-msgstr ""
+msgstr "Настройка сети"
msgid "Network test"
-msgstr ""
+msgstr "Тест сети"
msgid "Network test..."
-msgstr ""
+msgstr "Тест сети..."
msgid "Network..."
msgstr "Сеть..."
msgid "Network:"
-msgstr ""
+msgstr "Сеть:"
msgid "NetworkWizard"
-msgstr ""
+msgstr "Мастер настройки сети"
msgid "New"
msgstr "Новые"
msgstr "Нет"
msgid "No (supported) DVDROM found!"
-msgstr ""
+msgstr "Не найден (поддерживаемый) DVDROM!"
msgid "No 50 Hz, sorry. :("
-msgstr ""
+msgstr "Нет 50 Hz, извините. :("
msgid "No HDD found or HDD not initialized!"
msgstr ""
"не установлен."
msgid "No Networks found"
-msgstr ""
+msgstr "Сети не найдены"
msgid "No backup needed"
msgstr "Резервное копирование не требуется"
"No data on transponder!\n"
"(Timeout reading PAT)"
msgstr ""
+"Нет данный на транспондере!\n"
+"(Таймаут чтенияPAT)"
msgid "No details for this image file"
-msgstr ""
+msgstr "Нет подробностей об этом имидже"
+
+msgid "No displayable files on this medium found!"
+msgstr "Нет отображаемых файлов на этом носителе!"
msgid "No event info found, recording indefinitely."
msgstr "Информация о событиях не найдена, запись продолжена."
msgstr "Пакеты не были обновлены. Проверьте настройки сети и попробуйте снова."
msgid "No picture on TV? Press EXIT and retry."
-msgstr ""
+msgstr "Нет картинки на ТВ? Нажмите EXIT и повторите."
msgid "No positioner capable frontend found."
-msgstr "Нет позиционера способного найти передний край."
+msgstr "Нет фронтэнда с позиционером"
msgid "No satellite frontend found!!"
-msgstr ""
+msgstr "Не найден спутниковый интерфейс!"
msgid "No tags are set on these movies."
-msgstr ""
+msgstr "Нет меток для этих фильмов."
msgid "No tuner is configured for use with a diseqc positioner!"
msgstr "Нет тюнера, настроенного для использования с diseqc позиционером!"
"No tuner is enabled!\n"
"Please setup your tuner settings before you start a service scan."
msgstr ""
+"Нет включенного тюнера!\n"
+"Пожалуйста настройте тюнер перед поиском каналов."
msgid "No useable USB stick found"
-msgstr ""
+msgstr "Не найден пригодный USB стик"
msgid ""
"No valid service PIN found!\n"
"When you say 'No' here the service protection stay disabled!"
msgstr ""
"Не найден валидный PIN!\n"
-"Вы хотите изменить сервис PIN сейчас?\n"
+"Вы хотите изменить PIN сервисасейчас?\n"
"Если вы ответите 'НЕТ', то защита сервиса \n"
"не будет включена!"
"When you say 'No' here the setup protection stay disabled!"
msgstr ""
"Не найден валидный PIN!\n"
-"Вы хотите изменить сервис PIN сейчас?\n"
+"Вы хотите изменить PIN настроек сейчас?\n"
"Если вы ответите 'НЕТ', то защита настроек \n"
"не будет включена!"
"Please verify that you have attached a network cable and your network is "
"configured correctly."
msgstr ""
+"Не найден сетевой адаптер.\n"
+"Пожалуйста, убедитесь, что сетевой кабель подключен и ваша сеть настроена "
+"правильно."
msgid ""
"No working wireless network adapter found.\n"
"Please verify that you have attached a compatible WLAN device and your "
"network is configured correctly."
msgstr ""
+"Не найден ,беспроводный адаптер.\n"
+"Пожалуйста, убедитесь, что совместимый беспроводной адаптер подключен и ваша "
+"сеть настроена правильно."
msgid ""
"No working wireless network interface found.\n"
" Please verify that you have attached a compatible WLAN device or enable "
"your local network interface."
msgstr ""
+"Не найден ,беспроводный интерфейс.\n"
+"Пожалуйста, убедитесь, что совместимый беспроводной адаптер подключен и ваша "
+"сеть настроена правильно."
msgid "No, but restart from begin"
-msgstr ""
+msgstr "Нет, но начать сначала"
msgid "No, do nothing."
msgstr "Нет, не делать"
msgid "No, just start my dreambox"
-msgstr "Нет,включить мой dreamdox"
+msgstr "Нет, включить мой dreamdox"
msgid "No, scan later manually"
msgstr "Нет, найти позже вручную."
#. TRANSLATORS: (aspect ratio policy: display as fullscreen, with stretching the left/right)
msgid "Nonlinear"
-msgstr ""
+msgstr "Nonlinear"
msgid "North"
msgstr "Север"
"Not enough diskspace. Please free up some diskspace and try again. (%d MB "
"required, %d MB available)"
msgstr ""
+"Нет места на диске. Пожалуйста освободите немного места и попробуйте снова. "
+"(%d MB required, %d MB available)"
msgid ""
"Nothing to scan!\n"
"Please setup your tuner settings before you start a service scan."
msgstr ""
"Нечего искать!\n"
-"Ð\9fожалÑ\83йÑ\81Ñ\82а, наÑ\81Ñ\82Ñ\80ойÑ\82е Ð\92аÑ\88 Ñ\82Ñ\8eнеÑ\80 пеÑ\80ед запÑ\83Ñ\81ком Ñ\81еÑ\80виÑ\81а поиска."
+"Ð\9fожалÑ\83йÑ\81Ñ\82а, наÑ\81Ñ\82Ñ\80ойÑ\82е Ð\92аÑ\88 Ñ\82Ñ\8eнеÑ\80 пеÑ\80ед наÑ\87алом поиска."
msgid "Now Playing"
msgstr "Воспроизводится "
"much as possible, but make sure that you can still see the difference "
"between the two brightest levels of shades.If you have done that, press OK."
msgstr ""
+"Теперь используйте настройки контрастности для поднятия фона в максимально "
+"возможный уровень, но при этом необходимо следить,чтобы Вы могли видеть "
+"различия между двумя самыми яркими уровнями оттенков.Если все нормально "
+"нажмите OK."
msgid "OK"
msgstr "OK"
msgstr "OSD установки"
msgid "OSD visibility"
-msgstr ""
+msgstr "Прозрачность OSD"
msgid "Off"
msgstr "Выкл."
msgstr "Online-обновление"
msgid "Only Free scan"
-msgstr ""
+msgstr "Только бесплатные"
msgid "Orbital Position"
-msgstr ""
+msgstr "Орбитальная позиция"
msgid "PAL"
-msgstr ""
+msgstr "PAL"
msgid "PIDs"
-msgstr ""
+msgstr "ПИДы"
msgid "Package list update"
msgstr "Обновление списка пакетов"
msgstr "Управление пакетами"
msgid "Packet manager"
-msgstr ""
+msgstr "Менеджер пакетов"
msgid "Page"
-msgstr ""
+msgstr "Страница"
#. TRANSLATORS: (aspect ratio policy: cropped content on left/right) in doubt, keep english term
msgid "Pan&Scan"
-msgstr ""
+msgstr "Pan&Scan"
msgid "Parent Directory"
-msgstr ""
+msgstr "Родительский каталог"
msgid "Parental control"
msgstr "Родительский контроль"
msgstr "Тип родительского контроля"
msgid "Pause movie at end"
-msgstr ""
+msgstr "Пауза в конце фильма"
msgid "PiPSetup"
msgstr "PiP установка"
msgid "PicturePlayer"
-msgstr ""
+msgstr "Просмотр фото"
#. TRANSLATORS: (aspect ratio policy: black bars on left/right) in doubt, keep english term.
msgid "Pillarbox"
-msgstr ""
+msgstr "Pillarbox"
msgid "Pilot"
-msgstr ""
+msgstr "Пилот"
msgid "Pin code needed"
-msgstr ""
+msgstr "Нужен pin код"
msgid "Play"
-msgstr ""
+msgstr "Воспроизвести"
msgid "Play Audio-CD..."
-msgstr ""
+msgstr "Воспроизвести Аудио-CD"
+
+msgid "Play DVD"
+msgstr "Воспроизвести DVD"
+
+msgid "Play Music..."
+msgstr "Воспроизвести Музыку..."
msgid "Play recorded movies..."
msgstr "Воспроизвести записанное видео..."
msgid "Please Reboot"
-msgstr ""
+msgstr "Пожалуйста Перезагрузите"
msgid "Please Select Medium to be Scanned"
-msgstr ""
+msgstr "Пожалуйста, выберите носитель для сканирования"
msgid "Please change recording endtime"
-msgstr ""
+msgstr "Пожалуйста, измените время окончания записи"
msgid "Please check your network settings!"
-msgstr ""
+msgstr "Пожалуйста, проверьте настройки сети!"
msgid "Please choose .NFI image file from feed server to download"
-msgstr ""
+msgstr "Пожалуйста, выберите .NFI имидж на сервере для загрузки"
msgid "Please choose an extension..."
msgstr "Пожалуйста, выберите дополнение..."
msgid "Please choose he package..."
-msgstr ""
+msgstr "Пожалуйста выберите пакет..."
msgid "Please choose the default services lists you want to install."
msgstr ""
+"Пожалуйста, выберите список каналов по умолчанию который вы хотите "
+"установить."
msgid ""
"Please disconnect all USB devices from your Dreambox and (re-)attach the "
"target USB stick (minimum size is 64 MB) now!"
msgstr ""
+"Пожалуйста, отключите все USB устройства от ресивера и (пере-)подключите USB-"
+"стик (минимальный размер 64Мб) сейчас!"
msgid "Please do not change any values unless you know what you are doing!"
-msgstr ""
+msgstr "Пожалуйста, не изменяйте значения пока не знаете что делаете!"
msgid "Please enter a name for the new bouquet"
msgstr "Пожалуйста, введите имя для нового пакета"
msgstr "Пожалуйста, введите имя для нового маркера"
msgid "Please enter a new filename"
-msgstr ""
+msgstr "Пожалуйста, введите новое имя файла"
msgid "Please enter filename (empty = use current date)"
-msgstr ""
+msgstr "Пожалуйста, введите имя файла(пусто = текущая дата)"
msgid "Please enter name of the new directory"
-msgstr ""
+msgstr "Пожалуйста, введите имя нового каталого"
msgid "Please enter the correct pin code"
-msgstr "Пожалуйста введите правильный PIN"
+msgstr "Пожалуйста, введите правильный PIN"
msgid "Please enter the old pin code"
msgstr "Введите старый PIN"
msgid "Please follow the instructions on the TV"
-msgstr ""
+msgstr "Пожалуйста, следуйте инструкциям на ТВ"
msgid ""
"Please note that the previously selected media could not be accessed and "
"therefore the default directory is being used instead."
msgstr ""
+"Пожалуйста, обратите внимание, что ранее выбранный носитель недоступен, и "
+"вместо него будет использован каталог по умолчанию"
msgid "Please press OK to continue."
-msgstr ""
+msgstr "Пожалуйста, нажмите ОК для продолжения."
msgid "Please press OK!"
-msgstr ""
+msgstr "Пожалуйста, нажмите ОК!"
msgid "Please select .NFI flash image file from medium"
-msgstr ""
+msgstr "Пожалуйста, выберите .NFI имидж с носителя"
msgid "Please select a playlist to delete..."
-msgstr ""
+msgstr "Пожалуйста, выберите плейлист для удаления"
msgid "Please select a playlist..."
-msgstr ""
+msgstr "Пожалуйста, выберите плейлист..."
msgid "Please select a subservice to record..."
msgstr "Пожалуйста, выберите подсервис для записи..."
msgstr "Пожалуйста, выберите подсервис..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Пожалуйста, выберите носитель для резерного копирования"
msgid "Please select tag to filter..."
-msgstr ""
+msgstr "Пожалуйста, выберите тэг для фильтра..."
msgid "Please select target directory or medium"
-msgstr ""
+msgstr "Пожалуйста, выберите целевой каталог или носитель"
msgid "Please select the movie path..."
-msgstr ""
+msgstr "Пожалуйста, выберите путь ..."
msgid "Please set up tuner B"
-msgstr "Пожалйуста, произведите установку тюнера B."
+msgstr "Пожалуйста, настройте тюнер B."
msgid "Please set up tuner C"
-msgstr ""
+msgstr "Пожалуйста, настройте тюнер C"
msgid "Please set up tuner D"
-msgstr ""
+msgstr "Пожалуйста, настройте тюнер D"
msgid ""
"Please use direction keys to move the PiP window.\n"
"Press Bouquet +/- to resize the window.\n"
"Press OK to go back to the TV mode or EXIT to cancel the moving."
msgstr ""
-"Ð\9fожалÑ\83йÑ\81Ñ\82а, иÑ\81полÑ\8cзÑ\83йÑ\82е клавиÑ\88и напÑ\80авлениÑ\8f для перемещения PiP окна.\n"
+"Ð\9fожалÑ\83йÑ\81Ñ\82а, иÑ\81полÑ\8cзÑ\83йÑ\82е клавиÑ\88и навигаÑ\86ии для перемещения PiP окна.\n"
"Нажимайте Bouquet +/- для изменения размеров окна.\n"
"Нажмите OK для возвращения в режим TV или EXIT для отмены движения."
"Please use the UP and DOWN keys to select your language. Afterwards press "
"the OK button."
msgstr ""
+"Пожалуйста, используйте кнопки ВВЕРХ и ВНИЗ для выбора языка. Далее нажмите "
+"ОК."
msgid "Please wait for activation of your network configuration..."
-msgstr ""
+msgstr "Подождите, идет активация вашей сетевой конфигурации ..."
msgid "Please wait while scanning is in progress..."
-msgstr ""
+msgstr "Пожалуйста, подождите пока идет сканирование..."
msgid "Please wait while we configure your network..."
-msgstr ""
+msgstr "Пожалуйста, подождите, пока мы настроим сеть ..."
msgid "Please wait while your network is restarting..."
-msgstr ""
+msgstr "Пожалуйста, подождите, пока идет перезагрузка сети..."
msgid "Please wait..."
-msgstr ""
+msgstr "Пожалуйста, подождите..."
msgid "Please wait... Loading list..."
msgstr "Пожалуйста, ждите...Загружается список"
msgstr "Установленные плагины"
msgid "Plugins"
-msgstr ""
+msgstr "Плагины"
msgid "Polarity"
msgstr "Поляризация"
msgstr "Поляризация"
msgid "Polish"
-msgstr ""
+msgstr "Польский"
msgid "Port A"
msgstr "Port A"
msgstr "Port D"
msgid "Portuguese"
-msgstr ""
+msgstr "Португальский"
msgid "Positioner"
msgstr "Позиционер"
msgstr "Сохранение позиционера"
msgid "Power threshold in mA"
-msgstr ""
+msgstr "Порог тока в mA"
msgid "Predefined transponder"
-msgstr ""
+msgstr "Предопределенный транспондер"
msgid "Preparing... Please wait"
-msgstr ""
+msgstr "Подготовка ... Пожалуйста, подождите"
msgid "Press OK on your remote control to continue."
-msgstr ""
+msgstr "Нажмите OK на пульте, чтобы продолжить"
msgid "Press OK to activate the settings."
msgstr "Нажмите OK для активации установок"
msgid "Press OK to edit the settings."
-msgstr ""
+msgstr "Нажмите OK, чтобы изменить настройки."
#, python-format
msgid "Press OK to get further details for %s"
-msgstr ""
+msgstr "Нажмите ОК, чтобы получить подробную информацию о %s"
msgid "Press OK to scan"
msgstr "Нажмите OK для поиска."
msgstr "Пред."
msgid "Preview menu"
-msgstr ""
+msgstr "Просмотреть меню"
msgid "Primary DNS"
-msgstr ""
+msgstr "Первичный DNS"
msgid "Priority"
-msgstr ""
+msgstr "Очередность"
msgid "Properties of current title"
-msgstr ""
+msgstr "Свойства текущего заголовка"
msgid "Protect services"
msgstr "Защитить сервисы"
msgstr "Провайдер"
msgid "Provider to scan"
-msgstr ""
+msgstr "Провайдер для поиска"
msgid "Providers"
msgstr "Провайдеры"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "Python интерфейс для /tmp/mmi.socket"
+
msgid "Quick"
-msgstr ""
+msgstr "Быстро"
msgid "Quickzap"
msgstr "Quickzap"
msgstr "ВЧ выход"
msgid "RGB"
-msgstr ""
+msgstr "RGB"
msgid "RSS Feed URI"
-msgstr ""
+msgstr "RSS Feed URI"
msgid "Radio"
-msgstr ""
+msgstr "Радио"
msgid "Ram Disk"
-msgstr ""
+msgstr "Ram Disk"
msgid "Random"
-msgstr ""
+msgstr "Случайно"
msgid "Really close without saving settings?"
msgstr "Действительно закрыть без сохранения настроек ?"
msgstr "Действительно выйти из подсервиса quickzap?"
msgid "Really reboot now?"
-msgstr ""
+msgstr "Действительно перезагрузить сейчас?"
msgid "Really restart now?"
-msgstr ""
+msgstr "Действительно перезагрузить сейчас?"
msgid "Really shutdown now?"
-msgstr ""
+msgstr "Действительно выключить сейчас?"
msgid "Reboot"
-msgstr ""
+msgstr "Перезагрузка"
msgid "Reception Settings"
-msgstr ""
+msgstr "Параметры приема"
msgid "Record"
msgstr "Записать"
#, python-format
msgid "Record time limited due to conflicting timer %s"
-msgstr ""
+msgstr "Время записи ограничено ввиду конфликта таймера %s"
msgid "Recorded files..."
-msgstr ""
+msgstr "Записанные файлы..."
msgid "Recording"
msgstr "Запись"
msgid "Recording(s) are in progress or coming up in few seconds!"
-msgstr ""
+msgstr "Запись(и) идет или начнется в ближайшие несколько секунд!"
msgid "Recordings always have priority"
msgstr "Записи всегда имеют приоритет"
msgstr "Повторите новый PIN"
msgid "Refresh Rate"
-msgstr ""
+msgstr "Частота обновления"
msgid "Refresh rate selection."
-msgstr ""
+msgstr "Выбор частоты обновления"
msgid "Reload"
-msgstr ""
+msgstr "Обновить"
msgid "Remove Bookmark"
-msgstr ""
+msgstr "Удалить Закладку"
msgid "Remove Plugins"
msgstr "Удаление плагинов "
msgid "Remove a mark"
-msgstr ""
+msgstr "Удалить метку"
msgid "Remove currently selected title"
-msgstr ""
+msgstr "Удалить выбранный заголовок"
msgid "Remove finished."
-msgstr ""
+msgstr "Удаление завершено"
msgid "Remove plugins"
msgstr "Удаление плагинов "
msgid "Remove the broken .NFI file?"
-msgstr ""
+msgstr "Удалить поврежденный .NFI файл?"
msgid "Remove the incomplete .NFI file?"
-msgstr ""
+msgstr "Удалить неполный .NFI файл?"
msgid "Remove timer"
-msgstr ""
+msgstr "Удалить таймер"
msgid "Remove title"
-msgstr ""
+msgstr "Удалить описание"
msgid "Removing"
-msgstr ""
+msgstr "Удаление"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
-msgstr ""
+msgstr "Ошибка удаления %s каталога. (Возможно он не пуст)"
msgid "Rename"
-msgstr ""
+msgstr "Переименовать"
msgid "Repeat"
msgstr "Повторить"
msgstr "Повторить тип"
msgid "Repeating event currently recording... What do you want to do?"
-msgstr ""
+msgstr "Повторяющееся событие записывается...Что вы хотите сделать?"
msgid "Repeats"
-msgstr ""
+msgstr "Повторы"
msgid "Reset"
msgstr "Сброс"
msgid "Reset and renumerate title names"
-msgstr ""
+msgstr "Сбросить и перенумеровать заголовки"
msgid "Resolution"
-msgstr ""
+msgstr "Разрешение"
msgid "Restart"
msgstr "Перезагрузить"
msgid "Restart GUI"
-msgstr ""
+msgstr "Перезагрузить GUI"
msgid "Restart GUI now?"
-msgstr ""
+msgstr "Перезагрузить GUI сейчас?"
msgid "Restart network"
-msgstr ""
+msgstr "Перезапустить сеть"
msgid "Restart test"
-msgstr ""
+msgstr "Перезапустить тест"
msgid "Restart your network connection and interfaces.\n"
-msgstr ""
+msgstr "Перезагрузка сетевых подключений и интерфейсов.\n"
msgid "Restore"
msgstr "Восстановить"
msgid "Restore backups..."
-msgstr ""
+msgstr "Востановление резервной копии"
msgid "Restore running"
-msgstr ""
+msgstr "Выполняется восстановление"
msgid "Restore running..."
-msgstr ""
+msgstr "Выполняется восстановление..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Восстановить настройки"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
"settings now."
msgstr ""
-"Восстановление установок завершено. Пожалуйста, нажмите OK для активации "
-"востановленных установок."
+"Восстановление установок завершено. Пожалуйста, нажмите OK для активации."
msgid "Resume from last position"
-msgstr ""
+msgstr "Возобновить с последней позиции"
#. TRANSLATORS: The string "Resuming playback" flashes for a moment
#. TRANSLATORS: at the start of a movie, when the user has selected
#. TRANSLATORS: (Some translators seem to have interpreted it as a
#. TRANSLATORS: question or a choice, but it is a statement.)
msgid "Resuming playback"
-msgstr ""
+msgstr "Возобновление воспроизведения"
msgid "Return to file browser"
-msgstr ""
+msgstr "Вернуться в проводник"
msgid "Return to movie list"
-msgstr ""
+msgstr "Вернуться к списку фильмов"
msgid "Return to previous service"
-msgstr ""
+msgstr "Вернуться на предыдущий сервис"
msgid "Rewind speeds"
-msgstr ""
+msgstr "Скорость перемотки назад"
msgid "Right"
msgstr "Правый"
msgid "Rolloff"
-msgstr ""
+msgstr "Rolloff"
msgid "Rotor turning speed"
-msgstr ""
+msgstr "Скорость вращения мотора"
msgid "Running"
-msgstr ""
+msgstr "Запущено"
msgid "Russian"
msgstr "Русский"
msgid "S-Video"
-msgstr ""
+msgstr "S-Video"
msgid "SNR"
-msgstr ""
+msgstr "SNR"
msgid "SNR:"
-msgstr ""
+msgstr "SNR:"
msgid "Sat"
msgstr "Сб"
msgstr "Спутник"
msgid "Satellite Equipment Setup"
-msgstr ""
+msgstr "Настройки спутникового оборудования"
msgid "Satellites"
msgstr "Спутники"
msgstr "Поиск спутника"
msgid "Sats"
-msgstr ""
+msgstr "Спутники"
msgid "Saturday"
msgstr "Суббота"
msgid "Save"
-msgstr ""
+msgstr "Сохранить"
msgid "Save Playlist"
-msgstr ""
+msgstr "Сохранить плейлист"
msgid "Scaling Mode"
msgstr "Режим вычисления"
msgid "Scan "
-msgstr ""
+msgstr "Сканирование"
+
+msgid "Scan Files..."
+msgstr "Сканировать файлы..."
msgid "Scan QAM128"
-msgstr ""
+msgstr "Сканировать QAM128"
msgid "Scan QAM16"
-msgstr ""
+msgstr "Сканировать QAM16"
msgid "Scan QAM256"
-msgstr ""
+msgstr "Сканировать QAM256"
msgid "Scan QAM32"
-msgstr ""
+msgstr "Сканировать QAM32"
msgid "Scan QAM64"
-msgstr ""
+msgstr "Сканировать QAM64"
msgid "Scan SR6875"
-msgstr ""
+msgstr "Сканировать SR6875"
msgid "Scan SR6900"
-msgstr ""
+msgstr "Сканировать SR6900"
msgid "Scan Wireless Networks"
-msgstr ""
+msgstr "Сканировать беспроводные сети"
msgid "Scan additional SR"
-msgstr ""
+msgstr "Сканировать дополн. SR"
msgid "Scan band EU HYPER"
-msgstr ""
+msgstr "Сканировать диапазон EU HUPER"
msgid "Scan band EU MID"
-msgstr ""
+msgstr "Сканировать диапазон EU MID"
msgid "Scan band EU SUPER"
-msgstr ""
+msgstr "Сканировать диапазон EU SUPER"
msgid "Scan band EU UHF IV"
-msgstr ""
+msgstr "Сканировать диапазон EU UHF IV"
msgid "Scan band EU UHF V"
-msgstr ""
+msgstr "Сканировать диапазон EU UHF V"
msgid "Scan band EU VHF I"
-msgstr ""
+msgstr "Сканировать диапазон EU VHF I"
msgid "Scan band EU VHF III"
-msgstr ""
+msgstr "Сканировать диапазон EU VHF III"
msgid "Scan band US HIGH"
-msgstr ""
+msgstr "Сканировать диапазон US HIGH"
msgid "Scan band US HYPER"
-msgstr ""
+msgstr "Сканировать диапазон US HYPER"
msgid "Scan band US LOW"
-msgstr ""
+msgstr "Сканировать диапазон US LOW"
msgid "Scan band US MID"
-msgstr ""
+msgstr "Сканировать диапазон US MID"
msgid "Scan band US SUPER"
-msgstr ""
+msgstr "Сканировать диапазон US SUPER"
msgid ""
"Scan your network for wireless Access Points and connect to them using your "
"WLAN USB Stick\n"
msgstr ""
+"Поиск и подключение беспроводных точек доступа в вашей сети используя "
+"беспроводный USB адаптер\n"
msgid ""
"Scans default lamedbs sorted by satellite with a connected dish positioner"
-msgstr ""
+msgstr "Сканировать lamedb по спутникам с подключенным мотоподвесом"
msgid "Search east"
msgstr "Поиск восток"
msgstr "Поиск запад"
msgid "Secondary DNS"
-msgstr ""
+msgstr "Вторичный DNS"
msgid "Seek"
msgstr "Искать"
msgid "Select"
-msgstr ""
+msgstr "Выбрать"
msgid "Select HDD"
msgstr "Выбрать HDD"
+msgid "Select IPKG source to edit..."
+msgstr "Выберите IPKG источник для редактирования..."
+
msgid "Select Location"
-msgstr ""
+msgstr "Выбор расположения"
msgid "Select Network Adapter"
-msgstr ""
+msgstr "Выбор сетевого адаптера"
msgid "Select a movie"
msgstr "Выбрать видеопрограмму"
msgstr "Выбрать аудио режим"
msgid "Select audio track"
-msgstr "Ð\92Ñ\8bбÑ\80аÑ\82Ñ\8c аÑ\83диоÑ\82Ñ\80ек"
+msgstr "Ð\92Ñ\8bбÑ\80аÑ\82Ñ\8c звÑ\83ковÑ\83Ñ\8e доÑ\80ожкÑ\83"
msgid "Select channel to record from"
msgstr "Выбрать канал для записи"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Выбор файлов для резервной копии. Выбрано:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Выбор файлов/папок для сохранения"
msgid "Select image"
-msgstr ""
+msgstr "Выбор имиджа"
msgid "Select refresh rate"
-msgstr ""
+msgstr "Выберите частоту обновления"
msgid "Select video input"
-msgstr ""
+msgstr "Выбор видео входа"
+
+msgid "Select video input with up/down buttons"
+msgstr "Выберите видео вход кнопками ВВЕРХ/ВНИЗ"
msgid "Select video mode"
-msgstr ""
+msgstr "Выберите видеорежим"
msgid "Selected source image"
-msgstr ""
+msgstr "Выбранный имидж"
msgid "Send DiSEqC"
-msgstr ""
+msgstr "Отправить DiSEqC"
msgid "Send DiSEqC only on satellite change"
-msgstr ""
+msgstr "Отправить DiSEqC только при смене спутника"
msgid "Seperate titles with a main menu"
-msgstr ""
+msgstr "Отдельные главы в главном меню"
msgid "Sequence repeat"
-msgstr "Последовательный повторения"
+msgstr "Последовательность повторения"
msgid "Service"
-msgstr "СеÑ\80виÑ\81"
+msgstr "Ð\9e Ñ\81еÑ\80виÑ\81е"
msgid "Service Scan"
msgstr "Поиск сервисов"
msgstr "Поиск сервисов"
msgid "Service has been added to the favourites."
-msgstr ""
+msgstr "Сервис был добавлен в избранное."
msgid "Service has been added to the selected bouquet."
-msgstr ""
+msgstr "Сервис был добавлен в выбранный пакет"
msgid ""
"Service invalid!\n"
"(Timeout reading PMT)"
msgstr ""
+"Сервис неисправен!\n"
+"(Таймаут чтения PMT)"
msgid ""
"Service not found!\n"
"(SID not found in PAT)"
msgstr ""
+"Сервис не найден!\n"
+"(SID не найден в PAT)"
msgid "Service scan"
-msgstr ""
+msgstr "Поиск сервисов"
msgid ""
"Service unavailable!\n"
"Check tuner configuration!"
msgstr ""
+"Сервис недоступен!\n"
+"Проверьте конфигурацию тюнера!"
msgid "Serviceinfo"
-msgstr "Ð\98нÑ\84оÑ\80маÑ\86иÑ\8f о Ñ\81еÑ\80виÑ\81е"
+msgstr "СеÑ\80виÑ\81"
msgid "Services"
msgstr "Сервисы"
msgid "Set Voltage and 22KHz"
-msgstr ""
+msgstr "Установить напряжение и 22КГц"
msgid "Set as default Interface"
-msgstr ""
+msgstr "Установить как интерфейс по умолчанию"
msgid "Set interface as default Interface"
-msgstr ""
+msgstr "Установить интерфейс по умолчанию"
msgid "Set limits"
msgstr "Набор ограничений"
msgstr "Настройка"
msgid "Setup Mode"
-msgstr ""
+msgstr "Режим настроек"
msgid "Show Info"
-msgstr ""
+msgstr "Показать инфо"
msgid "Show WLAN Status"
-msgstr ""
+msgstr "Показать состояние WLAN"
msgid "Show blinking clock in display during recording"
-msgstr ""
+msgstr "Показать мигать часы на дисплее во время записи"
msgid "Show infobar on channel change"
msgstr "Показать инфопанель при смене каналов"
msgid "Show infobar on event change"
-msgstr ""
+msgstr "Показывать инфопанель при смене информации"
msgid "Show infobar on skip forward/backward"
msgstr "Показать инфопанель при навигации"
msgstr "Включить режим TV..."
msgid "Shows the state of your wireless LAN connection.\n"
-msgstr ""
+msgstr "Показывает состояние вашего беспроводного соединения.\n"
msgid "Shutdown Dreambox after"
msgstr "Выключить через : "
msgstr "Подобный"
msgid "Similar broadcasts:"
-msgstr "Ð\9fодобнÑ\8bе Ñ\80адиопередачи:"
+msgstr "Ð\90налогиÑ\87нÑ\8bе передачи:"
msgid "Simple"
-msgstr ""
+msgstr "Простой"
msgid "Simple titleset (compatibility for legacy players)"
-msgstr ""
+msgstr "Простой заголовок (совместимость с DVD плеерами)"
msgid "Single"
-msgstr "Одиночный"
+msgstr "Один"
msgid "Single EPG"
-msgstr "Одиночный EPG"
+msgstr "EPG"
msgid "Single satellite"
-msgstr "Одиночный спутник"
+msgstr "Один спутник"
msgid "Single transponder"
-msgstr "Одиночный транспондер"
+msgstr "Один транспондер"
msgid "Singlestep (GOP)"
-msgstr ""
+msgstr "Один шаг (GOP)"
msgid "Skin..."
-msgstr ""
+msgstr "Скин..."
msgid "Sleep Timer"
-msgstr "Таймер дежурного режима"
+msgstr "Таймер сна"
msgid "Sleep timer action:"
msgstr "Действие таймера:"
#, python-format
msgid "Slot %d"
-msgstr ""
+msgstr "Слот %d"
msgid "Slow"
-msgstr ""
+msgstr "Медленно"
msgid "Slow Motion speeds"
-msgstr ""
+msgstr "Низкая скорость"
msgid "Software manager"
-msgstr ""
+msgstr "Менеджер ПО"
msgid "Software manager..."
-msgstr ""
+msgstr "Менеджер ПО..."
msgid "Software restore"
-msgstr ""
+msgstr "Восстановление ПО"
msgid "Software update"
-msgstr ""
+msgstr "Обновление ПО"
msgid "Some plugins are not available:\n"
-msgstr ""
+msgstr "Некоторые плагины недоступны:\n"
msgid "Somewhere else"
msgstr "где-нибудь еще"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Извините, Медиа Сканер не установлен!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Не найдены резервные копии!"
msgid ""
"Sorry your Backup destination does not exist\n"
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Извините, сюда нельзя сохранить резервную копию.\n"
+"Пожалуйста, выберите другое место"
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Извините, сюда нельзя сохранить резервную копию.\n"
+"/nПожалуйста, выберите другое место"
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
-msgstr ""
+msgstr "Сортировать A-Z"
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort Time"
-msgstr ""
+msgstr "По времени"
msgid "Sound"
msgstr "Звук"
msgstr "Испанский"
msgid "Standby"
-msgstr "Ð\92Ñ\8bклÑ\8eÑ\87ение"
+msgstr "Ð\96дÑ\83Ñ\89ий Ñ\80ежим"
msgid "Standby / Restart"
msgstr "Выключение"
msgid "Start from the beginning"
-msgstr ""
+msgstr "Начать с самого начала"
msgid "Start recording?"
msgstr "Начать запись?"
msgid "Start test"
-msgstr ""
+msgstr "Начать тест"
msgid "StartTime"
msgstr "Время пуска"
msgid "Starting on"
-msgstr ""
+msgstr "Начиная с"
msgid "Step east"
msgstr "Шаг на восток"
msgstr "Шаг на запад"
msgid "Stereo"
-msgstr ""
+msgstr "Стерео"
msgid "Stop"
msgstr "Стоп"
msgstr "Остановить сдвиг времени?"
msgid "Stop current event and disable coming events"
-msgstr ""
+msgstr "Остановить текущее событие и отключить ближайшие события"
msgid "Stop current event but not coming events"
-msgstr ""
+msgstr "Остановить текущее событие, но не отключать ближащие события"
msgid "Stop playing this movie?"
msgstr "Остановить воспроизведение?"
msgid "Stop test"
-msgstr ""
+msgstr "Остановить тест"
msgid "Stop testing plane after # failed transponders"
-msgstr ""
+msgstr "Остановить тестирование после # ошибки транспондера"
msgid "Stop testing plane after # successful transponders"
-msgstr ""
+msgstr "Остановить тестирование после # исправного транспондера"
msgid "Store position"
msgstr "Сохранить положение"
msgstr "Символьная скорость"
msgid "Symbolrate"
-msgstr ""
+msgstr "Символьная скорость"
msgid "System"
msgstr "Система"
#. TRANSLATORS: Add here whatever should be shown in the "translator" about screen, up to 6 lines (use \n for newline)
msgid "TRANSLATOR_INFO"
-msgstr ""
+msgstr "TRANSLATOR_INFO"
msgid "TS file is too large for ISO9660 level 1!"
-msgstr ""
+msgstr "TS файл слишком большой для ISO9660 level 1!"
msgid "TV System"
msgstr "TV система"
msgid "Table of content for collection"
-msgstr ""
+msgstr "Содержание коллекции"
msgid "Tag 1"
-msgstr ""
+msgstr "Тэг 1"
msgid "Tag 2"
-msgstr ""
+msgstr "Тэг 2"
msgid "Tags"
-msgstr ""
+msgstr "Теги"
msgid "Terrestrial"
msgstr "Наземный"
msgstr "Наземный провайдер"
msgid "Test DiSEqC settings"
-msgstr ""
+msgstr "Тест настроек DiSEqC"
msgid "Test Type"
-msgstr ""
+msgstr "Тип теста"
msgid "Test mode"
msgstr "Режим теста"
msgid "Test the network configuration of your Dreambox.\n"
-msgstr ""
+msgstr "Тест сетевой конфигурации вашего Dreambox.\n"
msgid "Test-Messagebox?"
-msgstr ""
+msgstr "Тест сообщения?"
msgid ""
"Thank you for using the wizard. Your box is now ready to use.\n"
"create a Dreambox format data DVD (which will not play in stand-alone DVD "
"players) instead?"
msgstr ""
+"DVD стандарт не поддерживает H.264 (HDTV) видео потоков. Вы хотите создать "
+"Dreambox DVD (который не будет проигрываться в стационарных DVD "
+"проигрывателях)?"
msgid ""
"The USB stick is now bootable. Do you want to download the latest image from "
"the feed server and save it on the stick?"
msgstr ""
+"USB стик теперь загрузочный. Вы хотите загрузить последний имидж с сервера и "
+"сохранить его на стик?"
msgid "The backup failed. Please choose a different backup location."
msgstr "Сохранение не выполнено. Выберите другое место ресположения. "
"\n"
"Do you want to write the USB flasher to this stick?"
msgstr ""
+"Найдено устройство:\n"
+"\n"
+"%s\n"
+"\n"
+"Хотите установить USB flasher на это устройство?"
+
+msgid "The following files were found..."
+msgstr "Следующие файлы были найдены ..."
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
"want to do that now?"
msgstr ""
+"Видеовход уже настроен.\n"
+"Теперь Вы можете настроить экран с помошью тестовых изображений. Хотите "
+"сделать это сейчас?"
msgid "The installation of the default services lists is finished."
-msgstr ""
+msgstr "Установка списков сервисов по умолчанию закончена."
msgid ""
"The installation of the default settings is finished. You can now continue "
"configuring your Dreambox by pressing the OK button on the remote control."
msgstr ""
+"Установка по умолчанию закончена. Теперь Вы можете продолжить настройку "
+"Dreambox, нажав на кнопку ОК на пульте ДУ."
msgid ""
"The md5sum validation failed, the file may be corrupted! Are you sure that "
"you want to burn this image to flash memory? You are doing this at your own "
"risk!"
msgstr ""
+"Md5sum проверка неудачна, файл может быть поврежден! Вы уверены, что вы "
+"хотите записать этот образ во флэш-память? Вы делаете это на свой страх и "
+"риск!"
msgid ""
"The md5sum validation failed, the file may be downloaded incompletely or be "
"corrupted!"
msgstr ""
+"Md5sum проверка неудачна, файл может быть загружен не полностью или "
+"поврежден!"
msgid "The package doesn't contain anything."
-msgstr ""
+msgstr "Этот пакет ничего не содержит."
#, python-format
msgid "The path %s already exists."
-msgstr ""
+msgstr "Этот путь %s уже существует."
msgid "The pin code has been changed successfully."
msgstr "PIN код удачно изменен."
#, python-format
msgid "The results have been written to %s."
-msgstr ""
+msgstr "Результаты были записаны в %s."
msgid "The sleep timer has been activated."
-msgstr ""
+msgstr "Таймер сна был включен."
msgid "The sleep timer has been disabled."
-msgstr ""
+msgstr "Таймер сна был выключен."
msgid "The timer file (timers.xml) is corrupt and could not be loaded."
-msgstr ""
+msgstr "Файл таймеров (timers.xml) поврежден и не может быть загружен."
msgid ""
"The wireless LAN plugin is not installed!\n"
"Please install it."
msgstr ""
+"Плагин Witeless LAN не установлен!\n"
+"Пожалуйста, установите его."
msgid ""
"The wizard can backup your current settings. Do you want to do a backup now?"
msgstr "Мастер закончил работу."
msgid "There are no default services lists in your image."
-msgstr ""
+msgstr "В этом имидже нет сервисов по умолчанию."
msgid "There are no default settings in your image."
-msgstr ""
+msgstr "В этом имидже нет настроек по умолчанию."
msgid ""
"There might not be enough Space on the selected Partition.\n"
"Do you really want to continue?"
msgstr ""
+"Возможно недостаточно места на выбранном разделе. \n"
+"Вы действительно хотите продолжить?"
+
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr "Ошибка загрузки списка пактов. Пожалуйста, попробуйте еще раз."
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
-msgstr ""
+msgstr "Этот .NFI файл не содержит валидный %s имидж!"
msgid ""
"This .NFI file does not have a md5sum signature and is not guaranteed to "
"work. Do you really want to burn this image to flash memory?"
msgstr ""
+"Этот .NFI файл не имеет md5sum сигнатуры и это не гарантирует его работу. Вы "
+"действительно хотите записать этот образ во флэш-память?"
msgid ""
"This .NFI file has a valid md5 signature. Continue programming this image to "
"flash memory?"
msgstr ""
+"Этот .NFI файл имеет действительную md5 подпись. Продолжить запись образа во "
+"флэш-память?"
msgid ""
"This DVD RW medium is already formatted - reformatting will erase all "
"content on the disc."
msgstr ""
+"Этот DVD RW уже отформатирован - переформатирование может удалить все "
+"содержимое диска."
+
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Этот Dreambox не может декодировать %s потоки!"
#, python-format
msgid "This Dreambox can't decode %s video streams!"
-msgstr ""
+msgstr "Этот Dreambox не может декодировать %s видео потоки!"
msgid "This is step number 2."
msgstr "Это шаг номер 2."
"- if you configured your Nameservers manually please verify your entries in "
"the \"Nameserver\" Configuration"
msgstr ""
+"Этот тест проверяет конфигурацию DNS серверов.\n"
+"При появлении сообщения \"не присвоен\":\n"
+"- пожалуйста проверьте настройки DHCP, сетевого адаптера и состояние "
+"сетевого кабеля\n"
+"- Если Вы прописали вручную DNS сервера, пожалуйста проверьте конфигурацию "
+"\"DNS сервер\""
msgid ""
"This test checks whether a network cable is connected to your LAN-Adapter.\n"
"- verify that a network cable is attached\n"
"- verify that the cable is not broken"
msgstr ""
+"Этот тест проверяет наличие подключения сетевого кабеля к сетевому "
+"адаптеру.\n"
+"При появлении сообщения \" нет соединения\":\n"
+"- проверьте, что сетевой кабель подключен\n"
+"- проверьте, что сетевой кабель не оборван"
msgid ""
"This test checks whether a valid IP Address is found for your LAN Adapter.\n"
"- no valid IP Address was found\n"
"- please check your DHCP, cabling and adapter setup"
msgstr ""
+"Этот тест проверяет присвоен ли IP адрес сетевому адаптеру..\n"
+"При появлении сообщения \" не присвоен\":\n"
+"- IP адрес не был найден\n"
+"- пожалуйста проверьте настройки DHCP, сетевого адаптера и состояние "
+"сетевого кабеля"
msgid ""
"This test checks whether your LAN Adapter is set up for automatic IP Address "
"If you get an \"enabeld\" message:\n"
"-verify that you have a configured and working DHCP Server in your network."
msgstr ""
+"Этот тест проверяет,включен ли DHCP в настройках сетевого адаптера, для "
+"присвоения автоматического IP.\n"
+"При появлении сообщения \" отключен\":\n"
+"- введите вручную IP адрес при настройке сетевого адаптера .\n"
+"- проверьте,что Вы ввели корректную информацию в меню настройка сети.\n"
+"При появлении сообщения \" подключен\":\n"
+"- это подтверждает, что сформирован рабочий DHCP сервер в Вашей сети."
msgid "This test detects your configured LAN-Adapter."
-msgstr ""
+msgstr "Данный тест определит ваш сетевой-адаптер."
msgid "Three"
msgstr "Три"
msgstr "Чт"
msgid "Thumbnails"
-msgstr ""
+msgstr "Эскизы"
msgid "Thursday"
msgstr "Четверг"
msgstr "Редактирование таймера"
msgid "Timer Editor"
-msgstr "РедакÑ\82оÑ\80 Ñ\82аймеÑ\80а"
+msgstr "РедакÑ\82оÑ\80 Ñ\82аймеÑ\80ов"
msgid "Timer Type"
msgstr "Тип таймера"
"Timer overlap in timers.xml detected!\n"
"Please recheck it!"
msgstr ""
+"Обнаружено дублирование таймера в timers.xml!\n"
+"Проверьте его!"
msgid "Timer sanity error"
msgstr "Ошибка состояния таймера"
msgstr "Сдвиг времени не возможен!"
msgid "Timeshift path..."
-msgstr ""
+msgstr "Таймшифт файл..."
msgid "Timezone"
msgstr "Часовой пояс"
msgstr "Название"
msgid "Title properties"
-msgstr ""
+msgstr "Свойства заголовка"
msgid "Titleset mode"
-msgstr ""
+msgstr "Режим установки заголовка"
msgid ""
"To update your Dreambox firmware, please follow these steps:\n"
"for 10 seconds.\n"
"3) Wait for bootup and follow instructions of the wizard."
msgstr ""
+"Для обновления микропрограммы Dreambox, выполните следующие действия:\n"
+"1) Выключите Dreambox кнопкой на задней панели и вставьте загрузочный USB "
+"стик.\n"
+"2) Включите ресивер и удерживайте кнопку ВНИЗ на передней панели около 10 "
+"секунд.\n"
+"3) Дождитесь загрузки и следуйте инструкциям мастера."
msgid "Today"
msgstr "Сегодня"
msgstr "тоновый сигнал A/B"
msgid "Track"
-msgstr ""
+msgstr "Дорожка"
msgid "Translation"
-msgstr ""
+msgstr "Перевод"
msgid "Translation:"
-msgstr ""
+msgstr "Перевод:"
msgid "Transmission Mode"
-msgstr ""
+msgstr "Режим передачи"
msgid "Transmission mode"
msgstr "Режим передачи"
msgstr "Транспондер"
msgid "Transponder Type"
-msgstr ""
+msgstr "Тип транспондера"
msgid "Tries left:"
-msgstr ""
+msgstr "Осталось попыток:"
msgid "Try to find used Transponders in cable network.. please wait..."
msgstr ""
+"Пытаемся найти транспондеры, используемые в кабельной сети .. Пожалуйста, "
+"подождите ..."
msgid "Try to find used transponders in cable network.. please wait..."
msgstr ""
+"Пытаемся найти транспондеры, используемые в кабельной сети .. Пожалуйста, "
+"подождите ..."
+
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Пытаемся загрузить новый список пакетов. Пожалуйста, подождите..."
msgid "Tue"
msgstr "Вт"
msgstr "Настройка"
msgid "Tune failed!"
-msgstr ""
+msgstr "Tune failed!"
msgid "Tuner"
msgstr "Тюнер"
msgid "Tuner "
-msgstr ""
+msgstr "Тюнер"
msgid "Tuner Slot"
msgstr "Tuner Slot"
msgstr "Настройка тюнера"
msgid "Tuner status"
-msgstr ""
+msgstr "Состояние тюнера"
msgid "Turkish"
msgstr "Турецкий"
msgstr "Два"
msgid "Type"
-msgstr ""
+msgstr "Тип"
msgid "Type of scan"
msgstr "Тип сканирования"
msgstr "USB флешь"
msgid "USB stick wizard"
-msgstr ""
+msgstr "Мастер USB"
msgid "Ukrainian"
-msgstr ""
+msgstr "Украинский"
msgid ""
"Unable to complete filesystem check.\n"
"Error: "
msgstr ""
+"Невозможно проверить файловую систему.\n"
+"Ошибка:"
msgid ""
"Unable to initialize harddisk.\n"
"Error: "
msgstr ""
+"Невозможно отформатировать жесткий диск:\n"
+"Ошибка:"
msgid "Uncommitted DiSEqC command"
-msgstr "Команда переключения DoSEqC"
+msgstr "Команда переключения DiSEqC"
msgid "Unicable"
-msgstr ""
+msgstr "Unicable"
msgid "Unicable LNB"
-msgstr ""
+msgstr "Unicable LNB"
msgid "Unicable Martix"
-msgstr ""
+msgstr "Unicable Martix"
msgid "Universal LNB"
msgstr "универсальный-LNB"
msgid "Unmount failed"
-msgstr ""
+msgstr "Ошибка отключения"
msgid "Update"
-msgstr ""
+msgstr "Обновление"
msgid "Updates your receiver's software"
-msgstr ""
+msgstr "Обновление программы вашего ресивера"
msgid "Updating finished. Here is the result:"
msgstr "Обновление завершено.Результат:"
msgstr "Обновление... Пожалуйста ждите... Это может занять несколько минут... "
msgid "Upgrade finished."
-msgstr ""
+msgstr "Обновление завершено"
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Обновление завершено. Вы хотите перезагрузить Dreambox?"
msgid "Upgrading"
-msgstr ""
+msgstr "Обновление"
msgid "Upgrading Dreambox... Please wait"
-msgstr ""
+msgstr "Обновление Dreambox... Пожалуйста, подождите."
msgid "Use"
-msgstr ""
+msgstr "Использовать"
msgid "Use DHCP"
msgstr "Использовать DHCP"
msgid "Use Interface"
-msgstr ""
+msgstr "Использовать интерфейс"
msgid "Use Power Measurement"
-msgstr ""
+msgstr "Использовать измерение мощности"
msgid "Use a gateway"
-msgstr ""
+msgstr "Использовать шлюз"
#. TRANSLATORS: The effect of "Non-smooth winding" is that rather
#. than using ordinary "continuous" or "smooth" winding, a fast
#. 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 ""
+msgstr "Использовать прерывистую перемотку на скоростях выше"
msgid "Use power measurement"
msgstr "Используйте измерение мощности"
msgid "Use the Networkwizard to configure your Network\n"
-msgstr ""
+msgstr "Использовать мастер для настройки сети\n"
msgid ""
"Use the left and right buttons to change an option.\n"
"нажмите OK."
msgid "Use usals for this sat"
-msgstr "Используйте USALS для этого спутника "
+msgstr "Использовать USALS для этого спутника "
msgid "Use wizard to set up basic features"
msgstr "Пользуйтесь мастером для настройки основных параметров"
msgid "Used service scan type"
-msgstr ""
+msgstr "Используемый тип сканирования"
msgid "User defined"
msgstr "Определены пользователем"
msgstr "Видеомагнитофон"
msgid "VMGM (intro trailer)"
-msgstr ""
+msgstr "VMGM (трейлер)"
msgid "Vertical"
-msgstr ""
+msgstr "Вартикальная"
msgid "Video Fine-Tuning"
-msgstr ""
+msgstr "Настройка экрана"
msgid "Video Fine-Tuning Wizard"
-msgstr ""
+msgstr "Мастер точной настройки видео"
msgid "Video Output"
-msgstr ""
+msgstr "Видеовыход"
msgid "Video Setup"
-msgstr ""
+msgstr "Настройка видео"
msgid "Video Wizard"
-msgstr ""
+msgstr "Мастер видео"
msgid ""
"Video input selection\n"
"\n"
"The next input port will be automatically probed in 10 seconds."
msgstr ""
+"Выбор видео входа\n"
+"\n"
+"Нажмите ОК если вы видите эту страницу на экране ТВ (или выберите другой "
+"вход).\n"
+"\n"
+"Следующий вход будет автоматически выбран через 10 сек."
msgid "Video mode selection."
-msgstr ""
+msgstr "Выбор режима видео"
+
+msgid "View Movies..."
+msgstr "Смотреть фильмы..."
+
+msgid "View Photos..."
+msgstr "Смотреть фото..."
msgid "View Rass interactive..."
-msgstr ""
+msgstr "Интерактивный просмотр RASS"
+
+msgid "View Video CD..."
+msgstr "Смотреть Video CD..."
msgid "View teletext..."
msgstr "Смотреть телетекст"
msgid "Virtual KeyBoard"
-msgstr ""
+msgstr "Виртуальная клавиатура"
msgid "Voltage mode"
msgstr "Режим напряжения"
msgstr "W"
msgid "WEP"
-msgstr ""
+msgstr "WEP"
msgid "WPA"
-msgstr ""
+msgstr "WPA"
msgid "WPA or WPA2"
-msgstr ""
+msgstr "WPA или WPA2"
msgid "WPA2"
-msgstr ""
+msgstr "WPA2"
msgid "WSS on 4:3"
msgstr "WSS on 4:3"
msgid "Waiting"
-msgstr ""
+msgstr "Ожидание"
msgid ""
"We will now test if your TV can also display this resolution at 50hz. If "
"your screen goes black, wait 20 seconds and it will switch back to 60hz.\n"
"Please press OK to begin."
msgstr ""
+"Сейчас мы проверим, может ли ваш ТВ работать в этом разрешении на частоте 50 "
+"Гц. Если ваш экран станет черным, подождите 20 секунд, и он будет переключен "
+"на 60 Гц.\n"
+"Пожалуйста, нажмите кнопку \"ОК\", чтобы начать."
msgid "Wed"
msgstr "Ср"
"\n"
"Then seek to the end, press OK, select 'end cut'. That's it."
msgstr ""
+"Добро пожаловать в редактор видео.\n"
+"\n"
+"Отметьте место с которого вы хотите начать редактирование. Нажмите OK, "
+"выберите 'начало редактирования'.\n"
+"\"\n"
+"\"После, отметьте точку окончания редактирования, нажмите OK, выберите "
+"'конец редактирования'. Вот и все;)"
msgid ""
"Welcome to the Image upgrade wizard. The wizard will assist you in upgrading "
"Нажмите OK на пульте управления для перехода к следующему шагу."
msgid "Welcome..."
-msgstr ""
+msgstr "Добро пожаловать..."
msgid "West"
msgstr "Запад"
"\n"
"Really do a factory reset?"
msgstr ""
+"При сбросе на заводские установки будут удалены все конфигурационные данные\n"
+"(включая пакеты, каналы, данные спутников...)\n"
+"После завершения сброса, ваш ресивер будет автоматически перезагружен!\n"
+"\n"
+"Действительно выполнить сброс на заводские установки?"
msgid "Where do you want to backup your settings?"
msgstr "Где вы хотите сохранить установки?"
msgid "Where to save temporary timeshift recordings?"
-msgstr ""
+msgstr "Куда сохранить временные файлы отложенного просмотра?"
msgid "Wireless"
-msgstr ""
+msgstr "Беспроводный"
msgid "Wireless Network"
-msgstr ""
+msgstr "Беспроводная сеть"
msgid "Write error while recording. Disk full?\n"
-msgstr ""
+msgstr "Ошибка во время записи. Диск переполнен?\n"
msgid "Write failed!"
-msgstr ""
+msgstr "Запись неудачна!"
msgid "Writing NFI image file to flash completed"
-msgstr ""
+msgstr "Запись NFI образа во влешь-память завершена"
msgid "YPbPr"
-msgstr ""
+msgstr "YPbPr"
msgid "Year"
msgstr "Год"
msgstr "Да"
msgid "Yes, and delete this movie"
-msgstr ""
+msgstr "Да, удалить эту запись"
msgid "Yes, backup my settings!"
msgstr "Да, сохранить мои установки!"
msgstr "Да, восстановить установки сейчас"
msgid "Yes, returning to movie list"
-msgstr ""
+msgstr "Да, вернуться к списку записей"
msgid "Yes, view the tutorial"
msgstr "Да, смотреть инструкцию "
"You can choose some default settings now. Please select the settings you "
"want to be installed."
msgstr ""
+"Вы можете выбрать настройки по умолчанию. Пожалуйста, выберите настройки "
+"которые вы хотели бы установить."
msgid "You can choose, what you want to install..."
-msgstr ""
+msgstr "Вы можете выбрать то, что хотите установить..."
msgid "You cannot delete this!"
msgstr "Вы не можете удалит это."
msgid "You chose not to install any default services lists."
-msgstr ""
+msgstr "Вы не выбрали установку списка сервисов по умолчанию."
msgid ""
"You chose not to install any default settings. You can however install the "
"default settings later in the settings menu."
msgstr ""
+"Вы не выбрали установку настроек по умолчанию. В любом случае Вы можете "
+"установить их позже из меню настроек."
msgid ""
"You chose not to install anything. Please press OK finish the install wizard."
-msgstr ""
+msgstr "Вы ничего не выбрали. Пожалуйста нажмите ОК чтобы закончить установку."
msgid ""
"You do not seem to have a harddisk in your Dreambox. So backing up to a "
"harddisk is not an option for you."
msgstr ""
-"Ð\9fÑ\80едположиÑ\82елÑ\8cно Ñ\83 Ð\92аÑ\81 неÑ\82 жеÑ\81Ñ\82кого диÑ\81ка в Dreambox. Ð\9fоÑ\8dÑ\82омÑ\83 вÑ\8b не можеÑ\82е "
-"вÑ\8bбÑ\80аÑ\82Ñ\8c Ñ\81оÑ\85Ñ\80анение на HDD."
+"Ð\92озможно не Ñ\83Ñ\81Ñ\82ановлен жеÑ\81Ñ\82кий диÑ\81к. Ð\9fоÑ\8dÑ\82омÑ\83 вÑ\8b не можеÑ\82е вÑ\8bбÑ\80аÑ\82Ñ\8c Ñ\81оÑ\85Ñ\80анение "
+"на HDD."
msgid ""
"You have chosen to backup to a compact flash card. The card must be in the "
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Вы выбрали резервное копирование настроек. Пожалуйста, нажмите кнопку ОК для "
+"начала резервного копирования."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"repartition the USB stick and therefore all data on it will be erased."
msgstr ""
+"Вы выбрали создание нового загрузочного внешнего USB накопителя. USB "
+"накопитель будет отформатирован и все данные будут утеряны."
msgid ""
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"Вы выбрали восстановление настроек. Enigma2 будет перезапущена сразу после "
+"восстановления. Нажмите ОК для восстановления."
#, python-format
msgid "You have to wait %s!"
-msgstr ""
+msgstr "Необходимо подождать %s!"
msgid ""
"You need a PC connected to your dreambox. If you need further instructions, "
"Вы хотите установить PIN сейчас?"
msgid "Your Dreambox will restart after pressing OK on your remote control."
-msgstr ""
+msgstr "Ваш Dreambox будет перезагружен после нажатия кнопки OK на пульте."
msgid "Your TV works with 50 Hz. Good!"
-msgstr ""
+msgstr "Ваш ТВ поддерживает 50 Гц. Отлично!"
msgid ""
"Your backup succeeded. We will now continue to explain the further upgrade "
"process."
msgstr "Резервная копия создана. Теперь мы продолжим процесс обновления. "
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"Ваша коллекция превышает размер однослойного диска. Вам нужен чистый "
+"двухслойный DVD!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Ваш Dreambox выключается. Пожалуйста, ожидайте..."
"Your dreambox isn't connected to the internet properly. Please check it and "
"try again."
msgstr ""
+"Ваш ресивер не подключен к интернету. Пожалуйста, проверьте и попробуйте "
+"снова."
msgid ""
"Your frontprocessor firmware must be upgraded.\n"
"Нажмите OK для начала обновления."
msgid "Your network configuration has been activated."
-msgstr ""
+msgstr "Ваши сетевые настройки активированы."
msgid ""
"Your network configuration has been activated.\n"
"\n"
"Do you want to disable the second network interface?"
msgstr ""
+"Ваши сетевые настройки активированы.\n"
+"В системе найден второй сетевой интерфейс.\n"
+"\n"
+"Вы желаете отключить второй интерфейс?"
msgid "Zap back to service before positioner setup?"
msgstr "Переключить на предыдущий сервис?"
msgid "[move mode]"
msgstr "[режим перемещения]"
-msgid "abort alternatives edit"
+msgid "a gui to assign services/providers to common interface modules"
msgstr ""
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
+msgid "abort alternatives edit"
+msgstr "отменить редактирование alternatives"
+
msgid "abort bouquet edit"
msgstr "отменить редактирование пакета пользователя "
msgstr "about to start"
msgid "activate current configuration"
+msgstr "активировать текущие настройки"
+
+msgid "add Provider"
msgstr ""
-msgid "add a nameserver entry"
+msgid "add Service"
msgstr ""
+msgid "add a nameserver entry"
+msgstr "Добавить DNS сервер"
+
msgid "add alternatives"
-msgstr ""
+msgstr "добавить alternatives"
msgid "add bookmark"
-msgstr ""
+msgstr "добавить закладку"
msgid "add bouquet"
msgstr "добавить пакет пользователя "
msgstr "добавить файл к списку воспроизведения"
msgid "add files to playlist"
-msgstr ""
+msgstr "добавить файлы в плейлист"
msgid "add marker"
msgstr "добавить маркер"
msgstr "добавить сервис к избранному"
msgid "add to parental protection"
-msgstr ""
+msgstr "добавить в родительский контроль"
msgid "advanced"
msgstr "Расширенный"
msgid "alphabetic sort"
-msgstr ""
+msgstr "сортировать по алфавиту"
msgid ""
"are you sure you want to restore\n"
"Вы действительно хотите восстановить\n"
"следующий б:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
-msgstr ""
+msgstr "Звуковая дорожка (%s) формат"
#, python-format
msgid "audio track (%s) language"
-msgstr ""
+msgstr "звуковая дорожка (%s) язык"
msgid "audio tracks"
-msgstr ""
+msgstr "звуковая дорожки"
msgid "auto"
-msgstr ""
+msgstr "авто"
msgid "back"
msgstr "назад"
msgid "background image"
-msgstr ""
+msgstr "фоновое изображение"
msgid "backgroundcolor"
-msgstr ""
+msgstr "цвет фона"
msgid "better"
-msgstr ""
+msgstr "лучше"
msgid "black"
-msgstr ""
+msgstr "черный"
msgid "blacklist"
-msgstr ""
+msgstr "черный список"
msgid "blue"
-msgstr ""
+msgstr "синий"
#, python-format
msgid "burn audio track (%s)"
-msgstr ""
+msgstr "прожечь аудио дорожку (%s)"
msgid "change recording (duration)"
msgstr "сменить запись (длительность)"
msgid "change recording (endtime)"
-msgstr ""
+msgstr "изменить запись (время окончания)"
msgid "chapters"
-msgstr ""
+msgstr "разделы"
msgid "choose destination directory"
-msgstr ""
+msgstr "выберите каталог назначения"
msgid "circular left"
-msgstr "кÑ\80Ñ\83говой левÑ\8bй"
+msgstr "кÑ\80Ñ\83говаÑ\8f леваÑ\8f"
msgid "circular right"
-msgstr "кÑ\80Ñ\83говой пÑ\80авÑ\8bй"
+msgstr "кÑ\80Ñ\83говаÑ\8f пÑ\80аваÑ\8f"
msgid "clear playlist"
msgstr "очистить список воспроизведения"
msgid "complex"
-msgstr ""
+msgstr "комплекс"
msgid "config menu"
msgstr "меню конфигурации"
msgid "confirmed"
-msgstr ""
+msgstr "присвоен"
msgid "connected"
-msgstr ""
+msgstr "подключено"
msgid "continue"
msgstr "Продолжить"
msgid "copy to bouquets"
-msgstr ""
+msgstr "копировать в пакет"
msgid "create directory"
-msgstr ""
+msgstr "создать каталог"
msgid "daily"
msgstr "ежедневно"
msgid "day"
-msgstr ""
+msgstr "день"
+
+msgid "delete"
+msgstr "Удалить"
msgid "delete cut"
-msgstr ""
+msgstr "удалить вырезанное"
msgid "delete file"
-msgstr ""
+msgstr "удалить файл"
msgid "delete playlist entry"
-msgstr ""
+msgstr "удалить запись из плейлиста"
msgid "delete saved playlist"
-msgstr ""
+msgstr "удалить сохраненный плейлист"
msgid "delete..."
msgstr "удалить..."
msgstr "выключить режим перемещения"
msgid "disabled"
-msgstr ""
+msgstr "отключено"
msgid "disconnected"
-msgstr ""
+msgstr "отключено"
msgid "do not change"
-msgstr ""
+msgstr "не изменять"
msgid "do nothing"
msgstr "не делать ничего"
msgstr "выполнено!"
msgid "edit alternatives"
-msgstr ""
+msgstr "изменить alternatives"
msgid "empty"
-msgstr ""
+msgstr "пустой"
msgid "enable"
msgstr "включить"
msgstr "включить режим перемещения"
msgid "enabled"
-msgstr ""
+msgstr "включено"
msgid "end alternatives edit"
-msgstr ""
+msgstr "закончить редактирование alternatives"
msgid "end bouquet edit"
msgstr "конец редактирования пакета"
msgid "end cut here"
-msgstr ""
+msgstr "конец редактирования"
msgid "end favourites edit"
msgstr "конец редактирования избранного"
msgid "enigma2 and network"
-msgstr ""
+msgstr "enigma2 и сеть"
msgid "equal to"
-msgstr ""
+msgstr "также как"
msgid "exceeds dual layer medium!"
-msgstr ""
+msgstr "превышает двухслойный носитель"
msgid "exit DVD player or return to file browser"
-msgstr ""
+msgstr "Закрыть DVD плеер и вернуться в проводник"
msgid "exit mediaplayer"
-msgstr ""
+msgstr "закрыть медиаплеер"
msgid "exit movielist"
-msgstr ""
+msgstr "закрыть список фильмов"
msgid "exit nameserver configuration"
-msgstr ""
+msgstr "закрыть конфигуратор DNS"
msgid "exit network adapter configuration"
-msgstr ""
+msgstr "закрыть конфигуратор сети"
msgid "exit network adapter setup menu"
-msgstr ""
+msgstr "закрыть настройки сетевого адаптера"
msgid "exit network interface list"
-msgstr ""
+msgstr "закрыть список сетевых интерфейсов"
msgid "exit networkadapter setup menu"
-msgstr ""
+msgstr "закрыть настройки сетевого адаптера"
msgid "failed"
-msgstr ""
+msgstr "ошибка"
msgid "fileformats (BMP, PNG, JPG, GIF)"
-msgstr ""
+msgstr "формат файла (BMP, PNG, JPG, GIF)"
msgid "filename"
-msgstr ""
+msgstr "имя файла"
msgid "fine-tune your display"
-msgstr ""
+msgstr "точная настройка дисплея"
msgid "forward to the next chapter"
-msgstr ""
+msgstr "вперед к следующему разделу"
msgid "free"
-msgstr ""
+msgstr "свободно"
msgid "free diskspace"
msgstr "свободное место на диске"
msgstr "полностью выключить"
msgid "go to standby"
-msgstr ""
+msgstr "перейти в ждущий режим"
msgid "green"
-msgstr ""
+msgstr "зеленый"
msgid "hear radio..."
msgstr "Слушать радио"
msgstr "помощь..."
msgid "hidden network"
-msgstr ""
+msgstr "скрытая сеть"
msgid "hide extended description"
-msgstr ""
+msgstr "скрыть расширенное описание"
msgid "hide player"
msgstr "скрыть проигрыватель"
msgid "horizontal"
-msgstr "горизонтальный"
+msgstr "горизонтальная"
msgid "hour"
-msgstr ""
+msgstr "час"
msgid "hours"
-msgstr ""
+msgstr "часов"
msgid "immediate shutdown"
-msgstr ""
+msgstr "немедленное выключение"
#, python-format
msgid ""
"incoming call!\n"
"%s calls on %s!"
msgstr ""
+"входящий звонок!\n"
+"%sзвонок на %s!"
msgid "init module"
msgstr "init модуль"
-msgid "insert mark here"
+msgid "init modules"
msgstr ""
+msgid "insert mark here"
+msgstr "вставить метку"
+
msgid "jump back to the previous title"
-msgstr ""
+msgstr "перейти к предыдущей главе"
msgid "jump forward to the next title"
-msgstr ""
+msgstr "перейти к следующей главе"
msgid "jump to listbegin"
-msgstr ""
+msgstr "перейти в начало списка"
msgid "jump to listend"
-msgstr ""
+msgstr "перейти в конец списка"
msgid "jump to next marked position"
-msgstr ""
+msgstr "перейти к следующей метке"
msgid "jump to previous marked position"
-msgstr ""
+msgstr "перейти к предыдущей метке"
msgid "leave movie player..."
msgstr "покинуть проигрыватель..."
msgstr "левый"
msgid "length"
-msgstr ""
+msgstr "длина"
msgid "list style compact"
-msgstr ""
+msgstr "компактный список"
msgid "list style compact with description"
-msgstr ""
+msgstr "компактный список описанием"
msgid "list style default"
-msgstr ""
+msgstr "список по умолчанию"
msgid "list style single line"
-msgstr ""
+msgstr "список в одну строку"
msgid "load playlist"
-msgstr ""
+msgstr "загрузить плейлист"
msgid "locked"
-msgstr ""
+msgstr "захвачено"
msgid "loopthrough to"
-msgstr ""
+msgstr "петля к"
msgid "manual"
msgstr "ручной"
msgid "menu"
-msgstr ""
+msgstr "меню"
msgid "menulist"
-msgstr ""
+msgstr "список меню"
msgid "mins"
msgstr "mins"
msgid "minute"
-msgstr ""
+msgstr "минута"
msgid "minutes"
msgstr "минут"
msgid "month"
-msgstr ""
+msgstr "месяц"
msgid "move PiP to main picture"
-msgstr ""
+msgstr "переместить PiP на основной экран"
msgid "move down to last entry"
-msgstr ""
+msgstr "переместить вниз к последней записи"
msgid "move down to next entry"
-msgstr ""
+msgstr "переместить вниз к следующей записи"
msgid "move up to first entry"
-msgstr ""
+msgstr "переместить вверх к первой записи"
msgid "move up to previous entry"
-msgstr ""
+msgstr "переместить вверх к предыдущей записи"
msgid "movie list"
-msgstr ""
+msgstr "список фильмов"
msgid "multinorm"
-msgstr ""
+msgstr "мультинорм"
msgid "never"
-msgstr ""
+msgstr "никогда"
msgid "next channel"
msgstr "Следующий канал"
msgid "no"
msgstr "нет"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "не найден HDD"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "не найден модуль"
msgid "no standby"
-msgstr ""
+msgstr "не переходить в ждущий режим"
msgid "no timeout"
-msgstr ""
+msgstr "нет задержки"
msgid "none"
msgstr "никакой"
msgid "not locked"
-msgstr ""
+msgstr "не захвачен"
msgid "not used"
-msgstr ""
+msgstr "не использовано"
msgid "nothing connected"
-msgstr ""
+msgstr "ничего не подключено"
msgid "of a DUAL layer medium used."
-msgstr ""
+msgstr "используемого двухслойного носителя."
msgid "of a SINGLE layer medium used."
-msgstr ""
+msgstr "используемого однослойного носителя."
msgid "off"
msgstr "выкл."
msgstr "вкл."
msgid "on READ ONLY medium."
-msgstr ""
+msgstr "на диск только для чтения."
msgid "once"
msgstr "один раз"
msgid "open nameserver configuration"
-msgstr ""
+msgstr "открыть конфигуратор DNS"
msgid "open servicelist"
msgstr "Открыть список сервисов"
msgstr "Открыть список сервисов(вверх)"
msgid "open virtual keyboard input help"
-msgstr ""
+msgstr "показать помошь к вирт. клавиатуре"
msgid "pass"
msgstr "передать"
msgstr "Пауза"
msgid "play entry"
-msgstr ""
+msgstr "воспроизвести запись"
msgid "play from next mark or playlist entry"
-msgstr ""
+msgstr "воспроизвести начиная со следующей метки или записи в плейлисте"
msgid "play from previous mark or playlist entry"
-msgstr ""
+msgstr "воспроизвести начиная с предыдущей метки или записи в плейлисте"
msgid "please press OK when ready"
msgstr "пожалуйста, нажмите OK когда будете готовы"
msgstr "запись..."
msgid "red"
-msgstr ""
+msgstr "красный"
msgid "remove a nameserver entry"
-msgstr ""
+msgstr "удалить данные DNS"
msgid "remove after this position"
-msgstr ""
+msgstr "удалить после этой позиции"
msgid "remove all alternatives"
-msgstr ""
+msgstr "удалить все альтернативы"
msgid "remove all new found flags"
msgstr "удалить все новые найденные флаги"
msgid "remove before this position"
-msgstr ""
+msgstr "удалить перед этой позицией"
msgid "remove bookmark"
-msgstr ""
+msgstr "удалить закладку"
msgid "remove directory"
-msgstr ""
+msgstr "удалить каталог"
msgid "remove entry"
msgstr "удалить выбранное"
msgid "remove from parental protection"
-msgstr ""
+msgstr "удалить из родительского контроля"
msgid "remove new found flag"
msgstr "удалить флаг новый найденный "
msgid "remove selected satellite"
-msgstr ""
+msgstr "удалить выбранный спутник"
msgid "remove this mark"
-msgstr ""
+msgstr "удалить метку"
msgid "repeat playlist"
-msgstr ""
+msgstr "повторить плейлист"
msgid "repeated"
msgstr "повторный"
msgid "rewind to the previous chapter"
-msgstr ""
+msgstr "назад на предыдущую главу"
msgid "right"
msgstr "правый"
msgid "save last directory on exit"
-msgstr ""
+msgstr "сохранить последний каталог при выходе"
msgid "save playlist"
-msgstr ""
+msgstr "сохранить плейлист"
msgid "save playlist on exit"
-msgstr ""
+msgstr "сохранить плейлист при выходе"
msgid "scan done!"
msgstr "поиск завершен."
msgstr "состояние поиска"
msgid "second"
-msgstr ""
+msgstr "секунда"
msgid "second cable of motorized LNB"
-msgstr ""
+msgstr "второй кабель мотоподвеса"
msgid "seconds"
-msgstr ""
+msgstr "секунд"
msgid "select"
-msgstr ""
+msgstr "выбрать"
msgid "select .NFI flash file"
+msgstr "выбрать .NFI имидж"
+
+msgid "select CAId"
msgstr ""
msgid "select image from server"
-msgstr ""
+msgstr "выбрать имидж с сервера"
msgid "select interface"
-msgstr ""
+msgstr "выбрать интерфейс"
msgid "select menu entry"
-msgstr ""
+msgstr "выбрать из меню"
msgid "select movie"
-msgstr ""
+msgstr "выбрать фильм"
msgid "select the movie path"
-msgstr ""
+msgstr "выбрать путь к фильму"
msgid "service pin"
-msgstr ""
+msgstr "pin сервиса"
msgid "setup pin"
-msgstr ""
+msgstr "pin настроек"
msgid "show DVD main menu"
-msgstr ""
+msgstr "показать главное меню DVD"
msgid "show EPG..."
msgstr "Показать EPG..."
msgid "show Infoline"
-msgstr ""
+msgstr "показать инфолинию"
msgid "show all"
-msgstr ""
+msgstr "показать все"
msgid "show alternatives"
-msgstr ""
+msgstr "показать альтернативы"
msgid "show event details"
msgstr "оказать детали событий"
msgid "show extended description"
-msgstr ""
+msgstr "показать расширенное описание"
msgid "show first selected tag"
-msgstr ""
+msgstr "показать первую выбранную метку"
msgid "show second selected tag"
-msgstr ""
+msgstr "показать вторую выбранную метку"
msgid "show shutdown menu"
-msgstr ""
+msgstr "показать меню выключения"
msgid "show single service EPG..."
-msgstr ""
+msgstr "показать телегид"
msgid "show tag menu"
-msgstr ""
+msgstr "показать метки меню"
msgid "show transponder info"
-msgstr ""
+msgstr "показать инфо транспондера"
msgid "shuffle playlist"
-msgstr ""
+msgstr "перемешать плейлист"
msgid "shutdown"
-msgstr ""
+msgstr "Выключить"
msgid "simple"
-msgstr "Ð\9fростой"
+msgstr "простой"
msgid "skip backward"
msgstr "Перемотка назад"
msgid "skip backward (enter time)"
-msgstr ""
+msgstr "перейти назад (введите время)"
msgid "skip forward"
msgstr "Перемотка вперед"
msgid "skip forward (enter time)"
-msgstr ""
+msgstr "перейти вперед (введите время)"
msgid "slide picture in loop"
-msgstr ""
+msgstr "циклический показ слайдов"
msgid "sort by date"
-msgstr ""
+msgstr "сортировать по дате"
msgid "standard"
-msgstr ""
+msgstr "стандарт"
msgid "standby"
-msgstr ""
+msgstr "ждущий режим"
msgid "start cut here"
-msgstr ""
+msgstr "начало редактирования"
msgid "start directory"
-msgstr ""
+msgstr "начальный каталог"
msgid "start timeshift"
-msgstr "Начать сдвиг времени"
+msgstr "таймшифт"
msgid "stereo"
-msgstr ""
+msgstr "стерео"
msgid "stop PiP"
-msgstr ""
+msgstr "отключить PIP"
msgid "stop entry"
-msgstr ""
+msgstr "остановить вход"
msgid "stop recording"
-msgstr "Ð\9eстановить запись"
+msgstr "остановить запись"
msgid "stop timeshift"
-msgstr "Ð\9eÑ\81Ñ\82ановиÑ\82Ñ\8c Ñ\81двиг вÑ\80емени"
+msgstr "Ð\9eÑ\81Ñ\82ановиÑ\82Ñ\8c Ñ\82аймÑ\88иÑ\84Ñ\82"
msgid "swap PiP and main picture"
-msgstr ""
+msgstr "поменять PiP и основную картинку"
msgid "switch to bookmarks"
-msgstr ""
+msgstr "перейти на закладки"
msgid "switch to filelist"
msgstr "переключить на список файлов"
msgid "switch to playlist"
-msgstr "переключить на список восизведения"
+msgstr "переключить на плейлист"
msgid "switch to the next angle"
-msgstr ""
+msgstr "перейти в следующей угол"
msgid "switch to the next audio track"
-msgstr ""
+msgstr "перейти к следующей звуковой дорожке"
msgid "switch to the next subtitle language"
-msgstr ""
+msgstr "переключиться на следующий язык субтитров"
msgid "template file"
-msgstr ""
+msgstr "Шаблон файла"
msgid "textcolor"
-msgstr ""
+msgstr "цвет текста"
msgid "this recording"
msgstr "это записано"
msgstr "этот сервис защищен PIN-кодом родительского контроля"
msgid "toggle a cut mark at the current position"
-msgstr ""
+msgstr "расположить метку редактирования в этой позициим"
msgid "toggle time, chapter, audio, subtitle info"
-msgstr ""
+msgstr "время переключения, разделы, аудио, информация субтитров"
msgid "unconfirmed"
-msgstr ""
+msgstr "не присвоен"
msgid "unknown service"
msgstr "неизвестный сервис"
msgid "until restart"
-msgstr ""
+msgstr "во время перезагрузки"
msgid "user defined"
msgstr "определен пользователем"
msgid "vertical"
-msgstr "вертикальный"
+msgstr "вертикальная"
msgid "view extensions..."
msgstr "Смотреть дополнения"
msgstr "Смотреть запись"
msgid "wait for ci..."
-msgstr ""
+msgstr "ожидание ci..."
msgid "wait for mmi..."
-msgstr ""
+msgstr "ожидание mmi..."
msgid "waiting"
msgstr "ожидание"
msgstr "Еженедельно"
msgid "whitelist"
-msgstr ""
+msgstr "белый список"
msgid "working"
-msgstr ""
+msgstr "работающий"
msgid "yellow"
-msgstr ""
+msgstr "желтый"
msgid "yes"
msgstr "да"
"your dreambox might be unusable now. Please consult the manual for further "
"assistance before rebooting your dreambox."
msgstr ""
+"Сейчас ваш ресивер может быть непригодным для использования. Обратитесь к "
+"руководству для получения дополнительной помощи до его перезагрузки."
msgid "zap"
-msgstr ""
+msgstr "переключить"
msgid "zapped"
-msgstr ""
+msgstr "переключено"
#~ msgid ""
#~ "\n"
-#~ "Enigma2 will restart after the restore"
+#~ "System will restart after the restore!"
#~ msgstr ""
#~ "\n"
-#~ "Enigma2 будет запущена после восстановления."
+#~ "Система будет перезагружена после восстановления!"
#~ msgid "\"?"
#~ msgstr "\"?"
#~ msgid "Movie Menu"
#~ msgstr "Меню видеопрограмм"
+#~ msgid "Output"
+#~ msgstr "Действие"
+
#~ msgid "Really delete this timer?"
#~ msgstr "Действительно удалить данный таймер?"
#~ msgid "You selected a playlist"
#~ msgstr "Вы выбрали список воспроизведения"
-#~ msgid "delete"
-#~ msgstr "Удалить"
-
#~ msgid "full /etc directory"
#~ msgstr "всю папку /etc"
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2009-02-06 07:42+0100\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-03 08:47+0100\n"
"Last-Translator: WeeGull <weegull@hotmail.com>\n"
"Language-Team: WeeGull <weegull@hotmail.com>\n"
"MIME-Version: 1.0\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Avancerade val och inställningar."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"Tryck OK och vänligen vänta!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Backup av din Dreamboxs inställningar."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Ändra uppgraderingskällas adress."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 kommer startas om efter återställningen"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Online uppdatering av din Dreamboxs mjukvara."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Tryck OK på fjärrkontrollen för att forsätta."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Återskapa din Dreamboxs inställningar."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Återskapa din reambox med en ny firmware."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Återskapa med datum på backup."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Sök efter lokala paket och installera dem."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Välj din backupenhet.\n"
+"Nuvarande enhet: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Visa, installera och ta bort tillgängliga eller installerade paket."
msgid " "
msgstr " "
msgstr "Avancerat"
msgid "Advanced Options"
-msgstr ""
+msgstr "Avancerade Inställningar"
msgid "Advanced Video Setup"
msgstr "Avancerad videoinställning"
msgid "Advanced restore"
-msgstr ""
+msgstr "Avancerad återskapning"
msgid "After event"
msgstr "Efter program"
msgid "An empty filename is illegal."
msgstr "Ett tomt filnamn är inte tillåtet."
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Ett okänt fel uppstod!"
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Är du säker att du vill återskapa\n"
+"följande backup:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Är du säker på att du vill återskapa Enigma2 från backup?\n"
+"Enigma2 kommer starta om efter återskapningen"
msgid "Artist"
msgstr "Artist"
msgstr "Backupläge"
msgid "Backup done."
-msgstr ""
+msgstr "Backup klar."
msgid "Backup failed."
-msgstr ""
+msgstr "Backup misslyckades."
msgid "Backup is done. Please press OK to see the result."
msgstr "Backup klar. Vänligen tryck OK för resultat."
msgid "Backup running"
-msgstr ""
+msgstr "Backup pågår"
msgid "Backup running..."
-msgstr ""
+msgstr "Backup pågår..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Backup av systeminställningar"
msgid "Band"
msgstr "Band"
msgstr "Välj tuner"
msgid "Choose backup files"
-msgstr ""
+msgstr "Välj backupfil"
msgid "Choose backup location"
-msgstr ""
+msgstr "Välj backupdestination"
msgid "Choose bouquet"
msgstr "Välj favoritlista"
msgstr "Välj målkatalog"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Välj uppgraderingskälla"
msgid "Choose your Skin"
msgstr "Välj utseende"
msgid "Common Interface"
msgstr "Common Interface"
+msgid "Common Interface Assignment"
+msgstr ""
+
msgid "Compact Flash"
msgstr "Compact Flash"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Komplex (tillåter mixning av ljudspår och aspekt)"
+msgid "Config"
+msgstr ""
+
msgid "Configuration Mode"
msgstr "Konfigurationsläge"
msgstr "Grundservicelista"
msgid "Default settings"
-msgstr "Grundinstallningar"
+msgstr "Grundinställningar"
msgid "Delay"
msgstr "Fördröjning"
msgstr "Beskrivning"
msgid "Deselect"
-msgstr ""
+msgstr "Avmarkera"
msgid "Destination directory"
msgstr "Målbibliotek"
msgstr "Vill du installera grundsatellitlista?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Vill du installera paketet:\n"
msgid "Do you want to play DVD in drive?"
msgstr "Vill du spela upp DVD i spelaren?"
msgstr "Vill du förhandsvisa denna DVD innan bränning?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Vill du starta om din Dreambox?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Vill du avinstallera paketet:\n"
msgid "Do you want to restore your settings?"
msgstr "Vill du återställa dina inställningar?"
msgstr "Vill du återuppta uppspelningen?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Vill du uppdatera din Dreambox?"
msgid ""
"Do you want to update your Dreambox?\n"
"Tryck OK och vänligen vänta!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Vill du uppgradera paketet:\n"
msgid "Do you want to view a tutorial?"
msgstr "Vill du se en guide?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
msgstr ""
+"Klar - installerat, uppgraderat eller avinstallerat %d paket med %d fel"
msgid "Download"
msgstr "Nedladdning"
msgid "Edit DNS"
msgstr "Ändra DNS"
+msgid "Edit IPKG source URL..."
+msgstr "Edit IPKG source URL..."
+
msgid "Edit Title"
msgstr "Ändra titel"
msgid "Gateway"
msgstr "Gateway"
-msgid "Genre"
+msgid "General AC3 Delay"
msgstr ""
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
+msgid "Genre"
+msgstr "Genre"
+
msgid "German"
msgstr "Tyska"
msgid "Hierarchy mode"
msgstr "Hierarkiskt läge"
+msgid "High bitrate support"
+msgstr ""
+
msgid "Horizontal"
msgstr "horisontal"
msgstr "Ingång"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Installera ny image med hjälp av en USB pinne"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Installera ny image med hjälp av din webläsare"
msgid "Install local IPKG"
-msgstr ""
+msgstr "Installera lokal IPKG"
+
+msgid "Install settings, skins, software..."
+msgstr "Installera inställningar, utseende, mjukvara..."
+
+msgid "Install software updates..."
+msgstr "Installera mjukvaruuppdateringar..."
msgid "Installing"
msgstr "Installera"
msgstr "Intern Flash"
msgid "Invalid Location"
-msgstr "Ogiltig lokation"
+msgstr "Ogiltig sökväg"
#, python-format
msgid "Invalid directory selected: %s"
msgstr "Invertera LCD"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "Italienska"
msgstr "Latitud"
msgid "Latvian"
-msgstr ""
+msgstr "Lettiska"
msgid "Leave DVD Player?"
msgstr "Avsluta DVD Spelare?"
msgid "Left"
msgstr "Vänster"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Låter dig visa/ändra filer i din Dreambox"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgstr "Lokalt Nätverk"
msgid "Location"
-msgstr "Lokation"
+msgstr "Sökväg"
msgid "Lock:"
msgstr "Lås:"
msgstr "Behåll denna markör som vanlig markör"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Hantera din mottagares mjukvara"
msgid "Manual Scan"
msgstr "Manuell sökning"
msgid "No details for this image file"
msgstr "Inga detaljer för denna image fil"
+msgid "No displayable files on this medium found!"
+msgstr "Inga visningsbara filer hittade på detta media!"
+
msgid "No event info found, recording indefinitely."
msgstr "Ingen programinfo hittades, inspelning oändlig."
msgstr "Pakethantering"
msgid "Packet manager"
-msgstr ""
+msgstr "Pakethanterare"
msgid "Page"
msgstr "Sida"
msgid "Play Audio-CD..."
msgstr "Spela Audio-CD..."
+msgid "Play DVD"
+msgstr "Spela DVD"
+
+msgid "Play Music..."
+msgstr "Spela Musik..."
+
msgid "Play recorded movies..."
msgstr "Spela inspelade filmer..."
msgstr "Vänligen välj en underkanal..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Vänligen välj media som ska användas som backupdestination"
msgid "Please select tag to filter..."
msgstr "Vänligen välj märkning för filtrering..."
msgid "Providers"
msgstr "Leverantörer"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "Python frontend för /tmp/mmi.socket"
+
msgid "Quick"
msgstr "Snabb"
msgstr "Uppdateringsfrekvens val."
msgid "Reload"
-msgstr ""
+msgstr "Uppdatera"
msgid "Remove Bookmark"
msgstr "Ta bort Bokmärke"
msgstr "Ta bort vald titel"
msgid "Remove finished."
-msgstr ""
+msgstr "Ta bort färdiga."
msgid "Remove plugins"
msgstr "Ta bort plugins"
msgstr "Ta bort titel"
msgid "Removing"
-msgstr ""
+msgstr "Tar bvort"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
msgstr "Återställ"
msgid "Restore backups..."
-msgstr ""
+msgstr "Återskapa backup..."
msgid "Restore running"
-msgstr ""
+msgstr "Återskapning pågår"
msgid "Restore running..."
-msgstr ""
+msgstr "Återskapning pågår..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Återskapa systeminställningar"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
msgid "Scan "
msgstr "Söka "
+msgid "Scan Files..."
+msgstr "Sök Filer..."
+
msgid "Scan QAM128"
msgstr "Söka QAM128"
msgstr "Sök"
msgid "Select"
-msgstr ""
+msgstr "Välj"
msgid "Select HDD"
msgstr "Välj hårddisk"
+msgid "Select IPKG source to edit..."
+msgstr "Välj IPKG källa att ändra..."
+
msgid "Select Location"
-msgstr "Välj lokation"
+msgstr "Välj Sökväg"
msgid "Select Network Adapter"
msgstr "Välj nätverksadapter"
msgstr "Välj kanal att spela in från"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Välj filer för backuptagning. Nuvarande valda:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Välj filer/kataloger för backuptagning..."
msgid "Select image"
msgstr "Välj image"
msgid "Select video input"
msgstr "Välj video insignal"
+msgid "Select video input with up/down buttons"
+msgstr "Välj video ingång med upp/ner knapparna"
+
msgid "Select video mode"
msgstr "Välj videoläge"
msgstr "Hastigheter för slow motion"
msgid "Software manager"
-msgstr ""
+msgstr "Mjukvaruhanterare"
msgid "Software manager..."
-msgstr ""
+msgstr "Mjukvaruhanterare..."
msgid "Software restore"
-msgstr ""
+msgstr "Mjukvaruåterskapa"
msgid "Software update"
-msgstr ""
+msgstr "Mjukvaruuppdatera"
msgid "Some plugins are not available:\n"
msgstr "Några plugins är inte tillgängliga:\n"
msgstr "Någon annanstans"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Ledsen Mediascanner är inte installerad!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Ledsen inga backuper hittades!"
msgid ""
"Sorry your Backup destination does not exist\n"
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Ledsen din backupdestination är inte skrivbar.\n"
+"Vänligen välj en annan destination."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Ledsen, din backupdestination är inte skrivbar.\n"
+"\n"
+"Vänligen välj annan destination."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
"\n"
"Vill du skriva USB flasher till den stickan?"
+msgid "The following files were found..."
+msgstr "Följande filer hittades..."
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
"partition.\n"
"Vill du verkligen fortsätta?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr "Ett fel uppstod vid nedladdningen av paketlistan. Vänligen prova igen."
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr "Denna .NFI fil innehåller ingen giltig %s image!"
"Detta DVD RW media är redan formaterat - omformatering kommer ta bort all "
"data på skivan."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Den här dreamboxen kan in avkoda %s strömmar!"
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Denna Dreambox kan inte avkoda %s videoströmmar!"
msgid "Try to find used transponders in cable network.. please wait..."
msgstr "Försöker hitta transponders i kabelnätverket... vänligen vänta..."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Försöker ladda ner ny paketlista. Vänligen vänta..."
+
msgid "Tue"
msgstr "Tis"
msgstr "Uppdaterar... Vänlig vänta... Detta tar några minuter...."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Uppgradering färdig."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr "Uppgradering klar. Vill du starta om din Dreambox?"
msgid "Video mode selection."
msgstr "Videoläges val."
+msgid "View Movies..."
+msgstr "Visa Filmer..."
+
+msgid "View Photos..."
+msgstr "Visa Foton..."
+
msgid "View Rass interactive..."
msgstr "Visa Rass interaktivitet..."
+msgid "View Video CD..."
+msgstr "Visa Video CD..."
+
msgid "View teletext..."
msgstr "Visa teletext..."
"\n"
"Really do a factory reset?"
msgstr ""
+"När du utför en fabriksreset, du kommer förlora ALL konfigurationsdata\n"
+"(inkl bouquets, kanaler, satellite data ...)\n"
+"När fabriksreset är klar, din mottagare kommer automatiskt starta om!\n"
+"\n"
+"Verkligen utföra en fabriksreset?"
msgid "Where do you want to backup your settings?"
msgstr "Var vill du spara dina inställningar?"
msgstr "YPbPr"
msgid "Year"
-msgstr ""
+msgstr "År"
msgid "Yes"
msgstr "Ja"
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Du har valt att ta backup på dina inställningar. Vänligen tryck OK för att "
+"starta backup nu."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"Du har valt att återskapa dina inställningar. Enigma2 kommer starta om efter "
+"återskapningen. Vänligen tryck OK för att starta återskapningen nu."
#, python-format
msgid "You have to wait %s!"
"Backupen lyckades. Vi kommer nu att fortsätta förklara "
"uppgraderingsprocessen."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"Din samling överstiger storleken på single layer media, du kommer behöva en "
+"tom dual layer DVD!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Din Dreambox håller på att stängas av. Vänligen vänta..."
msgid "[move mode]"
msgstr "[flyttläge]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr ""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
msgid "abort alternatives edit"
msgstr "avbryt ändra alternativ"
msgid "activate current configuration"
msgstr "aktivera nuvarande konfiguration"
+msgid "add Provider"
+msgstr ""
+
+msgid "add Service"
+msgstr ""
+
msgid "add a nameserver entry"
msgstr "lägga till en namnserver post"
"vill du verkligen återställa\n"
"med följande backup:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
msgstr "ljudspår (%s) format"
msgid "day"
msgstr "dag"
+msgid "delete"
+msgstr "ta bort"
+
msgid "delete cut"
msgstr "ta bort klipp"
msgid "init module"
msgstr "initiera modul"
+msgid "init modules"
+msgstr ""
+
msgid "insert mark here"
msgstr "infoga markör här"
msgid "no"
msgstr "nej"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "ingen hårddisk hittad"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "ingen modul hittad"
msgid "select .NFI flash file"
msgstr "välj .NFI flash fil"
+msgid "select CAId"
+msgstr ""
+
msgid "select image from server"
msgstr "välj image från server"
msgid "zapped"
msgstr "zapped"
-#~ msgid ""
-#~ "\n"
-#~ "Enigma2 will restart after the restore"
-#~ msgstr ""
-#~ "\n"
-#~ "Enigma2 kommer startas om efter återställningen"
-
#~ msgid "\"?"
#~ msgstr "\"?"
#~ msgid "An error has occured. (%s)"
#~ msgstr "Ett fel har uppstått. (%s)"
+#~ msgid "An error occured!"
+#~ msgstr "Ett fel inträffade!"
+
#~ msgid ""
#~ "Are you sure you want to enable WLAN support?\n"
#~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n"
#~ msgid "color"
#~ msgstr "färg"
-#~ msgid "delete"
-#~ msgstr "ta bort"
-
#~ msgid "equal to Socket A"
#~ msgstr "likadant som Ingång A"
msgstr ""
"Project-Id-Version: enigma2 Turkish Locale\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-16 00:05+0100\n"
-"PO-Revision-Date: 2009-02-08 09:39+0200\n"
+"POT-Creation-Date: 2009-03-26 17:08+0100\n"
+"PO-Revision-Date: 2009-03-03 11:16+0200\n"
"Last-Translator: Zülfikar VEYİSOĞLU <zveyis@gmail.com>\n"
"Language-Team: http://www.turkeyforum.com/satforum <zveyis@gmail.com>\n"
"MIME-Version: 1.0\n"
"\n"
"Advanced options and settings."
msgstr ""
+"\n"
+"Gelişmiş seçenekler ve ayarlar."
msgid ""
"\n"
"After pressing OK, please wait!"
msgstr ""
+"\n"
+"OK'a bastıktan sonra lütfen bekleyin!"
msgid ""
"\n"
"Backup your Dreambox settings."
msgstr ""
+"\n"
+"Dreambox ayarlarınızı yedekleyin."
msgid ""
"\n"
"Edit the upgrade source address."
msgstr ""
+"\n"
+"Güncelleme sunucusu adresini düzenleyin."
+
+msgid ""
+"\n"
+"Enigma2 will restart after the restore"
+msgstr ""
+"\n"
+"Enigma2 geri yüklemeden sonra yeniden başlatılacak"
msgid ""
"\n"
"Online update of your Dreambox software."
msgstr ""
+"\n"
+"Dreambox yazılımını çevrimiçi güncelleyin."
msgid ""
"\n"
"Press OK on your remote control to continue."
msgstr ""
+"\n"
+"Devam etmek için kumandanızın OK tuşuna basın."
msgid ""
"\n"
"Restore your Dreambox settings."
msgstr ""
+"\n"
+"Dreambox ayarlarınızı geri yükleyin."
msgid ""
"\n"
"Restore your Dreambox with a new firmware."
msgstr ""
+"\n"
+"Dreambox'ınızı yeni sistem yazılımıyla birlikte geri yükleyin."
msgid ""
"\n"
"Restore your backups by date."
msgstr ""
+"\n"
+"Yedeklerinizi tarihe göre geri yükleyin."
msgid ""
"\n"
"Scan for local packages and install them."
msgstr ""
+"\n"
+"Yereldeki paketleri ara ve yükle."
msgid ""
"\n"
"Select your backup device.\n"
"Current device: "
msgstr ""
+"\n"
+"Yedekleme aygıtını seçin.\n"
+"Mevcut aygıt: "
msgid ""
"\n"
"View, install and remove available or installed packages."
msgstr ""
+"\n"
+"Paketleri görün, yükleyin veya yüklü paketleri kaldırın."
msgid " "
msgstr " "
msgstr "Gelişmiş"
msgid "Advanced Options"
-msgstr ""
+msgstr "Gelişmiş seçenekler"
msgid "Advanced Video Setup"
msgstr "Gelişmiş Görüntü Kurulumu"
msgid "Advanced restore"
-msgstr ""
+msgstr "Gelişmiş geri yükleme"
msgid "After event"
-msgstr "Eylem bittikten sonra"
+msgstr "Program bittikten sonra"
msgid ""
"After the start wizard is completed, you need to protect single services. "
msgid "An empty filename is illegal."
msgstr "Boş dosya adı geçersiz."
-msgid "An error occured!"
-msgstr ""
-
msgid "An unknown error occured!"
msgstr "Bilinmeyen bir hata oluştu!"
"Are you sure you want to restore\n"
"following backup:\n"
msgstr ""
+"Aşağıdaki belirtilen yedeği\n"
+"geri yüklemek istiyor musunuz?:\n"
msgid ""
"Are you sure you want to restore your Enigma2 backup?\n"
"Enigma2 will restart after the restore"
msgstr ""
+"Enigma2 yedeğinizi geri yüklemek istiyor musunuz?\n"
+"Geri yükleme işleminden sonra Enigma2 yeniden başlayacaktır"
msgid "Artist"
msgstr "Sanatçı"
msgstr "Yedeklenecek klasör"
msgid "Backup done."
-msgstr ""
+msgstr "Yedekleme tamamlandı."
msgid "Backup failed."
-msgstr ""
+msgstr "Yedekleme sırasında hata oluştu."
msgid "Backup is done. Please press OK to see the result."
msgstr "Yedekleme tamamlandı. OK tuşuna basarak sonucu görebilirsiniz."
msgid "Backup running"
-msgstr ""
+msgstr "Yedekleme çalışıyor"
msgid "Backup running..."
-msgstr ""
+msgstr "Yedekleme çalışıyor..."
msgid "Backup system settings"
-msgstr ""
+msgstr "Sistem ayarını yedekle"
msgid "Band"
msgstr "Bant"
msgstr "Başlangıç"
msgid "Behavior of 'pause' when paused"
-msgstr "Duraklama kipinde 'duraklat' tuşuna basıldığında"
+msgstr "Duraklama kipinde 'duraklat' tuşu görevi"
msgid "Behavior of 0 key in PiP-mode"
-msgstr "PiP kipinde 0 tuşuna basıldığında"
+msgstr "PiP kipinde 0 tuşu görevi"
msgid "Behavior when a movie is started"
msgstr "Film başlatıldığı zaman"
msgstr "Katalanca"
msgid "Change bouquets in quickzap"
-msgstr "Kanal değiştirirken buketler arası geçişe izin ver"
+msgstr "Kanal değiştirirken buketler arası geçişe izin"
msgid "Change dir."
msgstr "Klasör değiştir"
msgstr "Tuner Seç"
msgid "Choose backup files"
-msgstr ""
+msgstr "Yedekleme dosyası seç"
msgid "Choose backup location"
-msgstr ""
+msgstr "Yedekleme konumu seç"
msgid "Choose bouquet"
msgstr "Buket Seç"
msgstr "Hedef klasörü seç"
msgid "Choose upgrade source"
-msgstr ""
+msgstr "Güncelleme kaynağı..."
msgid "Choose your Skin"
msgstr "Arayüzünüzü Seçin"
msgstr "Temizle"
msgid "Clear before scan"
-msgstr "Kanal aramadan önce eski kanal listesini temizle"
+msgstr "Arama öncesi kanal listesini temizle"
msgid "Clear log"
msgstr "Kayıt günlüğünü temizle"
msgstr "Düşük güç (LP) kod oranı"
msgid "Collection name"
-msgstr "Kolleksiyon adı"
+msgstr "Koleksiyon adı"
msgid "Collection settings"
-msgstr "Kolleksiyon ayarları"
+msgstr "Koleksiyon ayarları"
msgid "Color Format"
msgstr "Renk Biçimi"
msgid "Common Interface"
msgstr "Ortak Arayüz"
+msgid "Common Interface Assignment"
+msgstr ""
+
msgid "Compact Flash"
msgstr "Compact Flash"
msgid "Complex (allows mixing audio tracks and aspects)"
msgstr "Kompleks (karışık ses izlerine ve açılara izin verir)"
+msgid "Config"
+msgstr ""
+
msgid "Configuration Mode"
msgstr "Konfigürasyon kipi"
msgstr "Geçerli sürüm:"
msgid "Custom skip time for '1'/'3'-keys"
-msgstr "'1'/'3' Tuşlarına basıldığında atlanılacak süre"
+msgstr "'1'/'3' tuşlarında atlanılacak süre"
msgid "Custom skip time for '4'/'6'-keys"
-msgstr "'4'/'6' Tuşlarına basıldığında atlanılacak süre"
+msgstr "'4'/'6' tuşlarında atlanılacak süre"
msgid "Custom skip time for '7'/'9'-keys"
-msgstr "'7'/'9' Tuşlarına basıldığında atlanılacak süre"
+msgstr "'7'/'9' tuşlarında atlanılacak süre"
msgid "Customize"
msgstr "Özelleştir"
msgstr "Açıklama"
msgid "Deselect"
-msgstr ""
+msgstr "Seçimi kaldır"
msgid "Destination directory"
msgstr "Hedef Klasör"
msgstr "Varsayılan kanal listesini yüklemek ister misiniz?"
msgid "Do you want to install the package:\n"
-msgstr ""
+msgstr "Seçilen paketi yüklemek istiyor musunuz?:\n"
msgid "Do you want to play DVD in drive?"
msgstr "DVD'yi oynatmak istiyor musunuz?"
msgstr "DVD'yi yazmadan önce önizleme yapmak istiyor musunuz?"
msgid "Do you want to reboot your Dreambox?"
-msgstr ""
+msgstr "Dreambox'ı yeniden başlatmak istiyor musunuz?"
msgid "Do you want to remove the package:\n"
-msgstr ""
+msgstr "Seçilen paketi kaldırmak istiyor musunuz?:\n"
msgid "Do you want to restore your settings?"
msgstr "Ayarlarınızı geri yüklemek istiyor musunuz?"
msgstr "Oynatmaya kaldığınız yerden devam etmek istiyor musunuz?"
msgid "Do you want to update your Dreambox?"
-msgstr ""
+msgstr "Dreambox'ı güncellemek istiyor musunuz?"
msgid ""
"Do you want to update your Dreambox?\n"
"Lütfen OK'a bastıktan sonra bekleyin!"
msgid "Do you want to upgrade the package:\n"
-msgstr ""
+msgstr "Seçilen paketi güncellemek istiyor musunuz?:\n"
msgid "Do you want to view a tutorial?"
msgstr "Cihaz kullanımını anlatan öğreticiyi görmek ister misiniz?"
#, python-format
msgid "Done - Installed, upgraded or removed %d packages with %d errors"
msgstr ""
+"Tamamlandı - %d paket yüklendi, güncellendi veya kaldırıldı. %d pakette hata "
+"oluştu"
msgid "Download"
msgstr "İndir"
msgid "Download .NFI-Files for USB-Flasher"
-msgstr "USB-Flaş için .NFI dosyası indir"
+msgstr "USB Flaşlayıcı için .NFI dosyası indir"
msgid "Download Plugins"
msgstr "Eklenti İndir"
msgid "Edit DNS"
msgstr "DNS Düzenle"
+msgid "Edit IPKG source URL..."
+msgstr "IPKG kaynak adresi..."
+
msgid "Edit Title"
msgstr "Başlık Düzenle"
"\n"
"© 2006 - Stephan Reichholf"
msgstr ""
-"Enigma2 Arayüz Seçici v0.5 BETA\n"
+"Enigma2 Arayüz Seçtirici v0.5 BETA\n"
"\n"
"Herhangi bir hatayla karşılaşırsanız lüften\n"
-"stephan@reichholf.net ile irtibata geçiniz\n"
+"stephan@reichholf.net ile irtibata geçin\n"
"\n"
"© 2006 - Stephan Reichholf"
#. which "winding mode" is entered when first pressing "rewind" or
#. "fast forward".
msgid "Enter Fast Forward at speed"
-msgstr "Hızlı sardırma hızını (FF) seçin"
+msgstr "Hızlı sardırma hızı (FF)"
msgid "Enter Rewind at speed"
-msgstr "Geri sardırma hızını (RW) seçin"
+msgstr "Geri sardırma hızı (RW)"
msgid "Enter WLAN network name/SSID:"
msgstr "Kablosuz (WLAN) ağ adı/SSID girin:"
"gerekiyor."
msgid "Flash"
-msgstr "Flaşa yaz"
+msgstr "Flaş"
msgid "Flashing failed"
msgstr "Flaşa yazma başarısız"
msgid "Gateway"
msgstr "Ağ geçidi"
+msgid "General AC3 Delay"
+msgstr ""
+
+msgid "General AC3 delay"
+msgstr ""
+
+msgid "General PCM Delay"
+msgstr ""
+
+msgid "General PCM delay"
+msgstr ""
+
msgid "Genre"
msgstr "Tür"
msgid "Hierarchy mode"
msgstr "Hiyerarşi kipi"
+msgid "High bitrate support"
+msgstr ""
+
msgid "Horizontal"
msgstr "Yatay (H)"
msgstr "Giriş"
msgid "Install a new image with a USB stick"
-msgstr ""
+msgstr "Yeni imajı USB bellekten yükle"
msgid "Install a new image with your web browser"
-msgstr ""
+msgstr "Yeni imajı internet gezgin (ie,firefox vb.) programıyla yükle"
msgid "Install local IPKG"
-msgstr ""
+msgstr "Çevrimdışı IPKG yükle"
+
+msgid "Install settings, skins, software..."
+msgstr "Yapılandırma ayarı, arayüz, yazılım yükleyin..."
+
+msgid "Install software updates..."
+msgstr "Yazılım güncellemelerini yükle..."
msgid "Installing"
msgstr "Kuruluyor"
msgstr "Ekranı ters çevir"
msgid "Ipkg"
-msgstr ""
+msgstr "Ipkg"
msgid "Italian"
msgstr "İtalyanca"
msgstr "Dil seçimi"
msgid "Language..."
-msgstr "Dil Ayarları (Language)..."
+msgstr "Dil Ayarları..."
msgid "Last speed"
msgstr "Son hız"
msgstr "Enlem"
msgid "Latvian"
-msgstr ""
+msgstr "Letonca"
msgid "Leave DVD Player?"
msgstr "DVD Oynatıcıyı Kapat?"
msgid "Left"
msgstr "Sol"
+msgid "Lets you view/edit files in your Dreambox"
+msgstr "Dreambox'ınızdaki dosyaları görün/düzenleyin"
+
#. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term.
msgid "Letterbox"
msgstr "Letterbox"
msgstr "Bu işareti sadece bir işaret olarak kullan"
msgid "Manage your receiver's software"
-msgstr ""
+msgstr "Uydu alıcınızın sistem yazılımı yönetin"
msgid "Manual Scan"
msgstr "Elle arama"
msgstr "Üretici"
msgid "Margin after record"
-msgstr "Kayıt sonrasında marj süresi ekle"
+msgstr "Kayıt sonrasına marj süresi ekle (dk.)"
msgid "Margin before record (minutes)"
-msgstr "Kayıt başına marj süresi ekle (dakika)"
+msgstr "Kayıt başına marj süresi ekle (dk.)"
msgid "Media player"
msgstr "Ortam oynatıcı"
msgid "No details for this image file"
msgstr "Bu imaj dosyası için detay bilgisi yok"
+msgid "No displayable files on this medium found!"
+msgstr "Bu medyada gösterilecek dosya bulunamadı!"
+
msgid "No event info found, recording indefinitely."
msgstr "EPG bilgisi bulunamadı, süresiz kaydediliyor."
msgstr "Bu filmler için etiket tanımlanmamış"
msgid "No tuner is configured for use with a diseqc positioner!"
-msgstr "DiSEqC pozisyoner kullanımı için tuner ayarı yapılmamış."
+msgstr "DiSEqC pozisyoner kullanımı için tuner ayarı yapılmamış!"
msgid ""
"No tuner is enabled!\n"
msgstr "Paket yönetimi"
msgid "Packet manager"
-msgstr ""
+msgstr "Paket yönetimi"
msgid "Page"
msgstr "Sayfa"
msgid "Play Audio-CD..."
msgstr "Ses CD'si (Audio CD) oynat..."
+msgid "Play DVD"
+msgstr "DVD Oynat"
+
+msgid "Play Music..."
+msgstr "Müzik dinle..."
+
msgid "Play recorded movies..."
msgstr "Kayıtlı video dosyalarını göster..."
msgstr "Lütfen yeniden başlatın"
msgid "Please Select Medium to be Scanned"
-msgstr "Lütfen bakmak istediğiniz DVD medyasını seçiniz"
+msgstr "Lütfen araştırmak istediğiniz medyayı seçin"
msgid "Please change recording endtime"
msgstr "Lütfen kayıt bitiş saatini değiştirin"
msgstr "Lütfen OK'a basın!"
msgid "Please select .NFI flash image file from medium"
-msgstr "Lütfen DVD/CD medyasından, istediğiniz .NFI imajını seçin"
+msgstr "Lütfen medyadan .NFI imajını seçin"
msgid "Please select a playlist to delete..."
msgstr "Seçili oynatma listesini sil..."
msgstr "Lütfen bir alt servis seçin..."
msgid "Please select medium to use as backup location"
-msgstr ""
+msgstr "Lütfen yedekleme konumu için medya seçin"
msgid "Please select tag to filter..."
msgstr "Lütfen filtreleme için etiket seçin ..."
msgid "Providers"
msgstr "Yayıncılar"
+msgid "Python frontend for /tmp/mmi.socket"
+msgstr "/tmp/mmi.socket için Python uç birimi"
+
msgid "Quick"
msgstr "Hızlı"
msgstr "Tazeleme hızı seçimi."
msgid "Reload"
-msgstr ""
+msgstr "Yenile"
msgid "Remove Bookmark"
msgstr "Yer imini sil"
msgstr "Seçilen geçerli başlığı sil"
msgid "Remove finished."
-msgstr ""
+msgstr "Kaldırma işlemi tamamlandı."
msgid "Remove plugins"
msgstr "Eklentileri kaldır"
msgstr "Başlığı sil"
msgid "Removing"
-msgstr ""
+msgstr "Kaldırılıyor"
#, python-format
msgid "Removing directory %s failed. (Maybe not empty.)"
msgstr "Geri yükle"
msgid "Restore backups..."
-msgstr ""
+msgstr "Yedekten geri yükle..."
msgid "Restore running"
-msgstr ""
+msgstr "Geri yükleme çalışıyor"
msgid "Restore running..."
-msgstr ""
+msgstr "Geri yükleme çalışıyor..."
msgid "Restore system settings"
-msgstr ""
+msgstr "Sistem ayarını geri yükle"
msgid ""
"Restoring the settings is done. Please press OK to activate the restored "
msgid "Scan "
msgstr "Ara : "
+msgid "Scan Files..."
+msgstr "Dosyaları ara..."
+
msgid "Scan QAM128"
msgstr "QAM128'i ara"
msgstr "Ara"
msgid "Select"
-msgstr ""
+msgstr "Seç"
msgid "Select HDD"
msgstr "HDD Seç"
+msgid "Select IPKG source to edit..."
+msgstr "IPKG kaynağını seçin..."
+
msgid "Select Location"
msgstr "Konum Seç"
msgstr "Kaydın yapılacağı kanalı seçin"
msgid "Select files for backup. Currently selected:\n"
-msgstr ""
+msgstr "Yedeklemek istediğiniz dosyaları seçin. Mevcut seçiminiz:\n"
msgid "Select files/folders to backup..."
-msgstr ""
+msgstr "Yedekleme için dosya/klasör seçin..."
msgid "Select image"
msgstr "İmajı seçin"
msgid "Select video input"
msgstr "Görüntü girişini seç"
+msgid "Select video input with up/down buttons"
+msgstr "Yukarı/aşağı tuşlarıyla Video girişini seçin"
+
msgid "Select video mode"
msgstr "Görüntü kipini seç"
msgstr "DiSEqC komutu gönder"
msgid "Send DiSEqC only on satellite change"
-msgstr "DiSEqC komutunu yalnızca uydu değiştiğinde gönder"
+msgstr "Yalnızca uydu değiştiğinde DiSEqC gönder"
msgid "Seperate titles with a main menu"
msgstr "Ana menü ile başlıkları ayır"
msgstr "WLAN Durumunu Göster"
msgid "Show blinking clock in display during recording"
-msgstr "OLED üzerindeki saat, kayıt esnasında yanıp sönsün"
+msgstr "OLED kayıt esnasında yanıp sönsün"
msgid "Show infobar on channel change"
msgstr "Kanal değiştirildiğinde bilgi çubuğunu göster"
msgid "Show infobar on event change"
-msgstr "EPG programı değişikliklerinde bilgi çubuğunu göster"
+msgstr "EPG değişikliklerinde bilgi çubuğunu göster"
msgid "Show infobar on skip forward/backward"
-msgstr "İleri/geri sardırma yapıldığında bilgi çubuğunu göster"
+msgstr "İleri/geri sardırmada bilgi çubuğunu göster"
msgid "Show positioner movement"
msgstr "Pozisyoner haraketini göster"
msgstr "Uyku zamanlayıcı eylemi:"
msgid "Slideshow Interval (sec.)"
-msgstr "Slideshow geçiş aralığı (saniye)"
+msgstr "Slayt gösterisi geçiş aralığı (sn.)"
#, python-format
msgid "Slot %d"
msgstr "Ağır çekim hızları"
msgid "Software manager"
-msgstr ""
+msgstr "Yazılım yönetimi"
msgid "Software manager..."
-msgstr ""
+msgstr "Yazılım yönetimi..."
msgid "Software restore"
-msgstr ""
+msgstr "Yazılım geri yükle"
msgid "Software update"
-msgstr ""
+msgstr "Yazılım güncelle"
msgid "Some plugins are not available:\n"
msgstr "Bazı eklentiler kullanılamaz:\n"
msgstr "Başka bir yere"
msgid "Sorry MediaScanner is not installed!"
-msgstr ""
+msgstr "Üzgünüm, MediaScanner eklentisi yüklü değil!"
msgid "Sorry no backups found!"
-msgstr ""
+msgstr "Üzgünüm, yedekleme dosyası bulunamadı!"
msgid ""
"Sorry your Backup destination does not exist\n"
msgstr ""
"Yedek almak istediğiniz hedef bulunamadı\n"
"\n"
-"Lütfen başka bir tane seçin."
+"Lütfen başka bir hedef seçin."
msgid ""
"Sorry your backup destination is not writeable.\n"
"Please choose an other one."
msgstr ""
+"Üzgünüm seçtiğiniz yedekleme hedefinde yazma hakkı yok.\n"
+"Lütfen başka bir hedef seçin."
msgid ""
"Sorry, your backup destination is not writeable.\n"
"\n"
"Please choose another one."
msgstr ""
+"Üzgünüm, seçtiğiniz yedekleme hedefinde yazma hakkı yok.\n"
+"\n"
+"Lütfen başka bir hedef seçin."
#. TRANSLATORS: This must fit into the header button in the EPG-List
msgid "Sort A-Z"
msgstr "Zaman bükücü durdurulsun mu?"
msgid "Stop current event and disable coming events"
-msgstr "Geçerli eylemi durdur ve gelecek eylemleri devre dışı bırak"
+msgstr "Geçerli programı durdur ve gelecek programları devre dışı bırak"
msgid "Stop current event but not coming events"
msgstr "Geçerli eylemi durdur ama gelecek eylemlere dokunma"
msgstr "TV Sistemi"
msgid "Table of content for collection"
-msgstr "Kolleksiyonun içerik listesi tablosu (TOC)"
+msgstr "Koleksiyonun içerik tablosu (TOC)"
msgid "Tag 1"
msgstr "Etiket 1"
"\n"
"USB flaşlayıcıyı bu USB belleğe yazmak istiyor musunuz?"
+msgid "The following files were found..."
+msgstr "Aşağıdaki dosyalar bulundu..."
+
msgid ""
"The input port should be configured now.\n"
"You can now configure the screen by displaying some test pictures. Do you "
"Seçtiğiniz disk bölümü (partition) yeterli boş alana sahip olmayabilir.\n"
"Devam etmek istiyor musunuz?"
+msgid "There was an error downloading the packetlist. Please try again."
+msgstr "Paket listesi indirilirken hata oluştu. Lütfen tekrar deneyin."
+
#, python-format
msgid "This .NFI file does not contain a valid %s image!"
msgstr ".NFI dosyası geçeli bir %s imajı içermiyor!"
"DVD-RW medyası zaten biçimlendirilmiş - yeniden biçimlendirme tüm disk "
"içeriğini silecektir."
+#, python-format
+msgid "This Dreambox can't decode %s streams!"
+msgstr "Dreambox %s streamlarını çözemez!"
+
#, python-format
msgid "This Dreambox can't decode %s video streams!"
msgstr "Dreambox %s video dosyalarını gösteremez!"
msgstr ""
"Kullanılan transponderlar kablolu yayın ağında aranıyor.. lütfen bekleyin..."
+msgid "Trying to download a new packetlist. Please wait..."
+msgstr "Paket listesi indiriliyor. Lütfen bekleyin..."
+
msgid "Tue"
msgstr "Salı"
"Güncelleniyor... Lütfen bekleyin... Bu işlem birkaç dakika sürebilir..."
msgid "Upgrade finished."
-msgstr ""
+msgstr "Güncelleme tamamlandı."
msgid "Upgrade finished. Do you want to reboot your Dreambox?"
msgstr ""
msgstr ""
"Görüntü kaynak seçimi\n"
"\n"
-"Lütfen bu sayfayı TV'nizde görebiliyorsanız OK tuşuna basınız (yada farklı "
-"bir giriş seçiniz).\n"
+"Lütfen bu sayfayı TV'nizde görebiliyorsanız OK tuşuna basın (yada farklı bir "
+"giriş seçin).\n"
"\n"
-"Sonraki giriş otomatik olarak 10 saniye sonra test edilecektir."
+"Sonraki giriş 10 saniye sonra otomatik olarak test edilecektir."
msgid "Video mode selection."
msgstr "Görüntü kipi seçimi."
+msgid "View Movies..."
+msgstr "Film izle..."
+
+msgid "View Photos..."
+msgstr "Fotoğraflara bak..."
+
msgid "View Rass interactive..."
msgstr "Etkileşimli Rass'ı (Radio acoustic sounding system) göster"
+msgid "View Video CD..."
+msgstr "Video CD izle..."
+
msgid "View teletext..."
msgstr "Teleteksi aç..."
"\n"
"Really do a factory reset?"
msgstr ""
+"Fabrika ayarlarına geri döndüğünüzde, yapılandırma dosyalarınızın tamamını "
+"KAYBEDEBİLİRSİNİZ\n"
+"(buketler, kanallar, uydu verileri ve özel ayar dosyalarınız ...)\n"
+"Fabrika ayarlarına geri dönüldükten sonra, uydu alıcınız otomatik olarak "
+"yeniden başlatılacaktır!\n"
+"\n"
+"Fabrika ayarlarına geri dönmek istediğinizden emin misiniz?"
msgid "Where do you want to backup your settings?"
msgstr "Ayarlarınızın yedeğini nereye almak istiyorsunuz?"
"istediğiniz ayarları seçin."
msgid "You can choose, what you want to install..."
-msgstr "Yüklemek istediğinizi seçiniz..."
+msgstr "Yüklemek istediğinizi seçebilirsiniz..."
msgid "You cannot delete this!"
msgstr "Bunu silemezsiniz!"
"You have chosen to backup your settings. Please press OK to start the backup "
"now."
msgstr ""
+"Ayarlarınızı yedeklemeyi seçtiniz. Yedeklemeyi başlatmak için OK tuşuna "
+"basın..."
msgid ""
"You have chosen to create a new .NFI flasher bootable USB stick. This will "
"You have chosen to restore your settings. Enigma2 will restart after "
"restore. Please press OK to start the restore now."
msgstr ""
+"Ayarlarınızı geri yüklemeyi seçtiniz. Geri yükleme işleminin ardından "
+"Enigma2 yeniden başlayacaktır. Geri yüklemeyi başlatmak için OK tuşuna "
+"basın..."
#, python-format
msgid "You have to wait %s!"
"your settings."
msgstr ""
"Dreambox'ınızın PC bağlantısına ihtiyacı var. Eğer daha fazla açıklamaya "
-"ihtiyacınız varsa, lütfen http://www.dm7025.de adresini ziyaret edin.\n"
-"Şimdi Dreambox'ınız kapatılıyor. Web sitesinde belirtilen güncelleme "
-"talimatlarını yerine getirdikten sonra, yeni cihaz yazılımı ayarlarınızı "
+"ihtiyacınız varsa, lütfen http://www.dream-multimedia-tv.de/ adresini "
+"ziyaret edin.\n"
+"Dreambox'ınız şimdi kapatılıyor. Web sitesinde belirtilen güncelleme "
+"talimatlarını yerine getirdikten sonra yeni sistem yazılımı, ayarlarınızı "
"geri yüklemek isteyip istemediğiniz sorusunu soracaktır."
msgid ""
"process."
msgstr "Yedek başarıyla alındı. Şimdi güncelleme işlemine devam edeceğiz."
+msgid ""
+"Your collection exceeds the size of a single layer medium, you will need a "
+"blank dual layer DVD!"
+msgstr ""
+"Koleksiyonunuz tek katman DVD'ye sığmıyor, çift katman DVD kullanmanız "
+"gerekiyor!"
+
msgid "Your dreambox is shutting down. Please stand by..."
msgstr "Dreambox'ınız kapatılıyor. Lütfen bekleyin..."
msgid "[move mode]"
msgstr "[taşıma kipi]"
+msgid "a gui to assign services/providers to common interface modules"
+msgstr ""
+
+msgid "a gui to assign services/providers/caids to common interface modules"
+msgstr ""
+
msgid "abort alternatives edit"
msgstr "alternatif düzenlemekten vazgeç"
msgid "activate current configuration"
msgstr "geçerli yapılandırmayı etkinleştir"
+msgid "add Provider"
+msgstr ""
+
+msgid "add Service"
+msgstr ""
+
msgid "add a nameserver entry"
msgstr "isim sunucu kaydı ekle"
msgstr "alternatiflere ekle"
msgid "add bookmark"
-msgstr "yer imlerine ekle"
+msgstr "yer imi ekle"
msgid "add bouquet"
-msgstr "bukete ekle"
+msgstr "yeni buket oluştur"
msgid "add directory to playlist"
msgstr "klasörü oynatma listesine ekle"
msgstr "işaret ekle"
msgid "add recording (enter recording duration)"
-msgstr "kayıt ekle (kayıt süresi belirleyerek)"
+msgstr "kaydet (kayıt süresi belirleyerek)"
msgid "add recording (enter recording endtime)"
-msgstr "kayıt ekle (kayıt bitiş zamanını girerek)"
+msgstr "kaydet (kayıt bitiş zamanı girerek)"
msgid "add recording (indefinitely)"
-msgstr "kayıt ekle (süresiz)"
+msgstr "kaydet (süresiz)"
msgid "add recording (stop after current event)"
-msgstr "kayıt ekle (geçerli EPG olayı bitene kadar)"
+msgstr "kaydet (geçerli EPG programı bitene kadar)"
msgid "add service to bouquet"
msgstr "kanalı bukete ekle"
"Belirtilen yedeği geri yüklemek\n"
"istediğinizden emin misiniz?:\n"
+msgid "assigned CAIds"
+msgstr ""
+
+msgid "assigned Services/Provider"
+msgstr ""
+
#, python-format
msgid "audio track (%s) format"
msgstr "(%s) ses izi biçimi"
msgid "day"
msgstr "gün"
+msgid "delete"
+msgstr "sil"
+
msgid "delete cut"
msgstr "kesimi sil"
msgstr "birşey yapma"
msgid "don't record"
-msgstr "keydetme"
+msgstr "kaydetme"
msgid "done!"
msgstr "tamamlandı!"
msgid "init module"
msgstr "modülü başlat"
+msgid "init modules"
+msgstr ""
+
msgid "insert mark here"
msgstr "buraya işaret koy"
msgid "no"
msgstr "hayır"
+msgid "no CAId selected"
+msgstr ""
+
+msgid "no CI slots found"
+msgstr ""
+
msgid "no HDD found"
msgstr "HDD bulunamadı"
+msgid "no module"
+msgstr ""
+
msgid "no module found"
msgstr "modül bulunamadı"
msgstr "Lütfen hazır olduğunuzda OK'a basın"
msgid "please wait, loading picture..."
-msgstr "resim/fotoğraf yükleniyor, lütfen bekleyiniz..."
+msgstr "fotoğraf yükleniyor, lütfen bekleyin..."
msgid "previous channel"
msgstr "Önceki kanal"
msgid "select .NFI flash file"
msgstr ".NFI flaş dosyası seçin"
+msgid "select CAId"
+msgstr ""
+
msgid "select image from server"
msgstr "imajı sunucudan seç"
msgstr "seçili ikinci etiketi göster"
msgid "show shutdown menu"
-msgstr "kapatma menüsünü göster"
+msgstr "kapatma menüsü"
msgid "show single service EPG..."
msgstr "Kanal EPG'sini göster..."
msgid "zapped"
msgstr "kanal değiştirildi"
-#~ msgid ""
-#~ "\n"
-#~ "Enigma2 will restart after the restore"
-#~ msgstr ""
-#~ "\n"
-#~ "Enigma2 geri yüklemeden sonra yeniden başlatılacak"
-
#~ msgid "\"?"
#~ msgstr "\"?"
#~ msgid "All..."
#~ msgstr "Tümü..."
+#~ msgid "An error occured!"
+#~ msgstr "Bir hata oluştu!"
+
#~ msgid ""
#~ "Are you sure you want to enable WLAN support?\n"
#~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n"
#~ msgid "Connect to the Internet with your local LAN"
#~ msgstr "Internete yerel ağ donanımı ile bağlanın"
+#~ msgid "Console"
+#~ msgstr "Konsol"
+
+#~ msgid "Console..."
+#~ msgstr "Konsol..."
+
#~ msgid "Copying USB flasher boot image to stick..."
#~ msgstr "Önyükleme yapabilir USB flaşlayıcı imajı belleğe kopyalanıyor..."
#~ msgid "color"
#~ msgstr "renk"
-#~ msgid "delete"
-#~ msgstr "sil"
-
#~ msgid "equal to Socket A"
#~ msgstr "Soket A'ya eşit"
class SkinError(Exception):
def __init__(self, message):
- self.message = message
+ self.msg = message
def __str__(self):
- return "{%s}: %s" % (config.skin.primary_skin, self.message)
+ return "{%s}: %s" % (config.skin.primary_skin, self.msg)
dom_skins = [ ]
attrib = a[0]
value = a[1]
- if attrib in ["pixmap", "pointer", "seek_pointer", "backgroundPixmap", "selectionPixmap"]:
+ if attrib in ("pixmap", "pointer", "seek_pointer", "backgroundPixmap", "selectionPixmap"):
value = resolveFilename(SCOPE_SKIN_IMAGE, value, path_prefix=skin_path_prefix)
if attrib not in ignore:
guiObject.setFont(parseFont(value, scale))
elif attrib == 'zPosition':
guiObject.setZPosition(int(value))
- elif attrib in ["pixmap", "backgroundPixmap", "selectionPixmap"]:
+ elif attrib in ("pixmap", "backgroundPixmap", "selectionPixmap"):
ptr = loadPixmap(value, desktop) # this should already have been filename-resolved.
if attrib == "pixmap":
guiObject.setPixmap(ptr)
min = int(time()) + self.MaxWaitTime
# calculate next activation point
- if len(self.timer_list):
+ if self.timer_list:
w = self.timer_list[0].getNextActivation()
if w < min:
min = w
t = int(time()) + 1
# we keep on processing the first entry until it goes into the future.
- while len(self.timer_list) and self.timer_list[0].getNextActivation() < t:
+ while self.timer_list and self.timer_list[0].getNextActivation() < t:
self.doActivate(self.timer_list[0])