From 46108978fb72b40c7feeb52c2a7abbd437f8751d Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 17 Feb 2009 00:35:44 +0100 Subject: move replace_all function to base/string.h --- lib/base/estring.cpp | 9 +++++++++ lib/base/estring.h | 1 + lib/gui/esubtitle.cpp | 9 --------- lib/gui/esubtitle.h | 1 - 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/base/estring.cpp b/lib/base/estring.cpp index 5d15ddce..f1d50ccc 100644 --- a/lib/base/estring.cpp +++ b/lib/base/estring.cpp @@ -633,3 +633,12 @@ void makeUpper(std::string &s) { 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; +} diff --git a/lib/base/estring.h b/lib/base/estring.h index 68e0970f..d61489eb 100644 --- a/lib/base/estring.h +++ b/lib/base/estring.h @@ -18,6 +18,7 @@ int isUTF8(const std::string &string); 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 { diff --git a/lib/gui/esubtitle.cpp b/lib/gui/esubtitle.cpp index 085a749a..ca5c20d7 100644 --- a/lib/gui/esubtitle.cpp +++ b/lib/gui/esubtitle.cpp @@ -114,15 +114,6 @@ void eSubtitleWidget::setPixmap(ePtr &pixmap, gRegion changed) 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) diff --git a/lib/gui/esubtitle.h b/lib/gui/esubtitle.h index 1635e6de..c88df0e6 100644 --- a/lib/gui/esubtitle.h +++ b/lib/gui/esubtitle.h @@ -58,7 +58,6 @@ private: gRegion m_visible_region; ePtr 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 -- cgit v1.2.3 From 1446dc7551cab6dfac53dda7eb8a8c3b3182cf48 Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 17 Feb 2009 00:36:12 +0100 Subject: filter \n and \t in short description title --- lib/service/event.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/service/event.cpp b/lib/service/event.cpp index e78ddc4e..e15eebfc 100644 --- a/lib/service/event.cpp +++ b/lib/service/event.cpp @@ -88,7 +88,7 @@ bool eServiceEvent::loadLanguage(Event *evt, std::string lang, int tsidonid) 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; } -- cgit v1.2.3 From e0700c8302b02d051be365dfdd6a2d14088cc85d Mon Sep 17 00:00:00 2001 From: acid-burn Date: Tue, 17 Feb 2009 09:26:39 +0100 Subject: allow multiple ipkg configuration files. Limit: one url entry per file really write edited url back dont show arch.conf file variable_width support for inputbox to work properly with sd and hd skins --- .../SystemPlugins/SoftwareManager/plugin.py | 144 +++++++++++++++++---- 1 file changed, 122 insertions(+), 22 deletions(-) diff --git a/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py b/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py index 09b61bd5..1df061e2 100755 --- a/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py +++ b/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py @@ -19,7 +19,7 @@ from Components.SelectionList import SelectionList 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 @@ -82,7 +82,7 @@ class UpdatePluginMenu(Screen): {"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 @@ -157,7 +157,8 @@ class UpdatePluginMenu(Screen): 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 @@ -223,34 +224,123 @@ class UpdatePluginMenu(Screen): self.exe = True self.session.open(RestoreScreen, runRestore = True) +class IPKGMenu(Screen): + skin = """ + + + + + + + """ + + 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 = """ - - + + + + + + """ - 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, @@ -268,12 +358,22 @@ class IPKGSource(Screen): "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() -- cgit v1.2.3 From 6e7778ae1b3e258bc53e6ddd2a4635a84d07a92b Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 17 Feb 2009 11:09:28 +0100 Subject: dont clear terrestrial and cable transponders when not needed --- lib/dvb/db.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index e6108ab5..110cedd8 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -1201,15 +1201,17 @@ RESULT eDVBDB::removeServices(eDVBChannelID chid, unsigned int orbpos) 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 ) -- cgit v1.2.3 From 18d5fedc236e3374f8a31af5e312d12bb16fd31d Mon Sep 17 00:00:00 2001 From: acid-burn Date: Tue, 17 Feb 2009 16:45:43 +0100 Subject: follow Console() changes add WHERE_NETWORKCONFIG_READ to Plugin Descriptor make Reichi happy ;-) --- lib/python/Components/Network.py | 44 ++++++++++++++++++++++++++++++---------- lib/python/Plugins/Plugin.py | 3 +++ 2 files changed, 36 insertions(+), 11 deletions(-) mode change 100644 => 100755 lib/python/Plugins/Plugin.py diff --git a/lib/python/Components/Network.py b/lib/python/Components/Network.py index f32a648c..c0b799ba 100755 --- a/lib/python/Components/Network.py +++ b/lib/python/Components/Network.py @@ -3,6 +3,8 @@ from re import compile as re_compile, search as re_search 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): @@ -22,6 +24,7 @@ class Network: self.activateConsole = Console() self.resetNetworkConsole = Console() self.DnsConsole = Console() + self.config_ready = None self.getInterfaces() def getInterfaces(self, callback = None): @@ -222,6 +225,8 @@ class Network: 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) @@ -418,6 +423,8 @@ class Network: 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(): @@ -448,24 +455,34 @@ class Network: 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 @@ -547,6 +564,11 @@ class Network: 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(): diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py old mode 100644 new mode 100755 index 53e7b0b8..d7fc6898 --- a/lib/python/Plugins/Plugin.py +++ b/lib/python/Plugins/Plugin.py @@ -49,6 +49,9 @@ class PluginDescriptor: # 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 -- cgit v1.2.3 From 7fd9ffdeb796034ee631a795fb5bab31b035e8e7 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 18 Feb 2009 13:25:13 +0100 Subject: add 'last' --- doc/FILEFORMAT | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/FILEFORMAT b/doc/FILEFORMAT index 4f550871..fd692cb7 100644 --- a/doc/FILEFORMAT +++ b/doc/FILEFORMAT @@ -43,6 +43,7 @@ Type is: 0 - 'in' point 1 - 'out' point 2 - mark +3 - last (resumepoint) If the first 'out'-point is not preceeded by an 'in'-point, there is an implicit 'in' point at zero. -- cgit v1.2.3 From 44fd8be83300affa4321aded6f5734f3b6f2001b Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 18 Feb 2009 13:28:11 +0100 Subject: update .meta description --- doc/FILEFORMAT | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/FILEFORMAT b/doc/FILEFORMAT index fd692cb7..66e9598c 100644 --- a/doc/FILEFORMAT +++ b/doc/FILEFORMAT @@ -6,12 +6,15 @@ They don't have a private header. == .meta FILES == -.meta files have currently 4 lines: +.meta files have currently up to 7 lines: +[] +[] +[] The service reference contains the Service-ID of the recorded service. With that ID, you can find the PMT and the elementary streams. @@ -20,6 +23,12 @@ As a backup method, just find the first available PMT and use that. 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 @@ -43,7 +52,6 @@ Type is: 0 - 'in' point 1 - 'out' point 2 - mark -3 - last (resumepoint) If the first 'out'-point is not preceeded by an 'in'-point, there is an implicit 'in' point at zero. -- cgit v1.2.3 From 1c5acf90ed52a7b8ce29aefa108fa2888bd48a98 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 18 Feb 2009 21:28:17 +0100 Subject: speedup --- lib/python/Components/config.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index a6d34152..e3a29b52 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -279,6 +279,7 @@ class ConfigSelection(ConfigElement): if default is None: default = self.choices.default() + self._descr = None self.default = self._value = self.last_value = default self.changed() @@ -296,6 +297,7 @@ class ConfigSelection(ConfigElement): self._value = value else: self._value = self.default + self._descr = None self.changed() def tostring(self, val): @@ -307,7 +309,7 @@ class ConfigSelection(ConfigElement): 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) @@ -336,13 +338,18 @@ class ConfigSelection(ConfigElement): 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) -- cgit v1.2.3 From 9208ede8da1fd495eafc24b9dd2d75d84f8a5952 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Thu, 19 Feb 2009 01:56:43 +0100 Subject: - increase video wizard timeout from 10 to 20 seconds - rearrange summary screen widgets - set summary screen before anything else in the wizard --- lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py | 4 ++-- lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml | 12 ++++++------ lib/python/Screens/Wizard.py | 5 +++++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py index 1d7ce7b5..095e94c0 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py @@ -13,8 +13,8 @@ config.misc.showtestcard = ConfigBoolean(default = False) class VideoWizardSummary(WizardSummary): skin = """ - - + + diff --git a/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml b/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml index 2a592aae..29ac4297 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml +++ b/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml @@ -1,7 +1,7 @@ - + - + self["portpic"].show() @@ -9,7 +9,7 @@ self.clearSelectedKeys() self.selectKey("OK") - + @@ -20,7 +20,7 @@ self.selectKey("DOWN") self["portpic"].hide() - + self.condition = (self.port != "DVI" or self.mode == "PC") @@ -46,7 +46,7 @@ self.selectKey("DOWN") self.rateSelect("60Hz") - + self.condition = (self.port == "DVI" and self.mode in ["720p", "1080i"]) @@ -77,7 +77,7 @@ self.selectKey("UP") self.selectKey("DOWN") - + self.condition = (self.port == "DVI" and self.mode in ["720p", "1080i"]) diff --git a/lib/python/Screens/Wizard.py b/lib/python/Screens/Wizard.py index 2326b915..7d454f43 100755 --- a/lib/python/Screens/Wizard.py +++ b/lib/python/Screens/Wizard.py @@ -475,6 +475,11 @@ class Wizard(Screen): 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] -- cgit v1.2.3 From 6bb47ff06e84149578671195a702e22ada245d37 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Thu, 19 Feb 2009 13:29:45 +0100 Subject: always show option to open file browser in exit dialoge (also when playing from actual dvd medium) --- lib/python/Plugins/Extensions/DVDPlayer/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py index 8e2a9f3a..6a8ffc6f 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py @@ -511,7 +511,7 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP 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")) self.session.openWithCallback(self.exitCB, ChoiceBox, title=_("Leave DVD Player?"), list = choices) -- cgit v1.2.3 From 0abd3c974bc5f2c79948972a3f10f6c968e42016 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 19 Feb 2009 13:57:54 +0100 Subject: allow {text,pixmap}=None, without warning or error, to allow more flexible layout options --- lib/gui/elistboxcontent.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index 44973af7..bf183f99 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -779,6 +779,10 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c 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) : ""; int x = PyInt_AsLong(px) + offset.x(); int y = PyInt_AsLong(py) + offset.y(); @@ -945,6 +949,10 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c 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); -- cgit v1.2.3 From 3ace8a7fd957857348ee785ec0857a4bd3dfed98 Mon Sep 17 00:00:00 2001 From: ghost Date: Fri, 20 Feb 2009 02:04:12 +0100 Subject: dvbtime.cpp: fix compiler warning --- lib/dvb/dvbtime.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index d879cfac..89650f25 100644 --- a/lib/dvb/dvbtime.cpp +++ b/lib/dvb/dvbtime.cpp @@ -145,7 +145,7 @@ eDVBLocalTimeHandler *eDVBLocalTimeHandler::instance; DEFINE_REF(eDVBLocalTimeHandler); eDVBLocalTimeHandler::eDVBLocalTimeHandler() - :m_time_ready(false), m_updateNonTunedTimer(eTimer::create(eApp)) + :m_updateNonTunedTimer(eTimer::create(eApp)), m_time_ready(false) { if ( !instance ) instance=this; -- cgit v1.2.3 From e180b709f892553d73784a30dc32e8251ad7b544 Mon Sep 17 00:00:00 2001 From: ghost Date: Fri, 20 Feb 2009 02:21:50 +0100 Subject: split "delay after continuous tone" value in "delay after continuous tone disable before diseqc" and "delay after final continuous tone change" value and increment the first value now to 25 to fix "tune failed" problems with some diseqc switches --- lib/dvb/sec.cpp | 8 ++++---- lib/dvb/sec.h | 3 ++- lib/python/Components/NimManager.py | 10 +++++++--- .../Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py | 3 ++- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index ac1a2028..8aa0631c 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -563,7 +563,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA 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; @@ -705,7 +705,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA 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; @@ -839,7 +839,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA 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 @@ -884,7 +884,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA 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) ); diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index 5bff6bf7..5d969328 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -271,7 +271,8 @@ class eDVBSatelliteEquipmentControl: public iDVBSatelliteEquipmentControl 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 diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index 6dc49dcf..75ad3779 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -835,9 +835,13 @@ class NimManager: 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)) diff --git a/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py b/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py index ec223d3e..ec472e72 100644 --- a/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py +++ b/lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py @@ -25,7 +25,8 @@ class SecParameterSetup(Screen, ConfigListScreen): 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), -- cgit v1.2.3 From f22a2aca3352ab78bd73da7edae59071293ace73 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Fri, 20 Feb 2009 11:22:35 +0100 Subject: improve usability: hide some advanced options below expert, clear out and resort main menu, hide button text of inactive buttons, warn when adding a new title which causes exceeding single and dual layer medium size --- .../Plugins/Extensions/DVDBurn/ProjectSettings.py | 47 +++++++++++++--------- lib/python/Plugins/Extensions/DVDBurn/TitleList.py | 26 +++++++----- .../Plugins/Extensions/DVDBurn/TitleProperties.py | 26 ++++++------ 3 files changed, 58 insertions(+), 41 deletions(-) diff --git a/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py b/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py index 7407263d..e97961b4 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py +++ b/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py @@ -102,9 +102,15 @@ class ProjectSettings(Screen,ConfigListScreen): 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.settings = project.settings @@ -141,9 +147,10 @@ class ProjectSettings(Screen,ConfigListScreen): 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)) @@ -151,12 +158,13 @@ class ProjectSettings(Screen,ConfigListScreen): #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) @@ -192,14 +200,15 @@ class ProjectSettings(Screen,ConfigListScreen): 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): if scope == "menutemplate": diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleList.py b/lib/python/Plugins/Extensions/DVDBurn/TitleList.py index 749f80eb..7e736f9f 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleList.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleList.py @@ -57,9 +57,9 @@ class TitleList(Screen, HelpableScreen): "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() @@ -74,6 +74,7 @@ class TitleList(Screen, HelpableScreen): 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(): @@ -90,19 +91,15 @@ class TitleList(Screen, HelpableScreen): 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)) 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) @@ -235,6 +232,12 @@ class TitleList(Screen, HelpableScreen): 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) @@ -244,14 +247,19 @@ class TitleList(Screen, HelpableScreen): 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() diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py b/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py index 63ae6c1f..40b85b70 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py @@ -72,19 +72,19 @@ class TitleProperties(Screen,ConfigListScreen): 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) -- cgit v1.2.3 From c7e6f96e31b2ffd4cdc9419d5f9ed4912b960745 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Fri, 20 Feb 2009 11:38:43 +0100 Subject: medium exceeding capacity warning for dvdburn --- po/de.po | 3 +++ 1 file changed, 3 insertions(+) diff --git a/po/de.po b/po/de.po index 5cf7fdd0..21c30885 100755 --- a/po/de.po +++ b/po/de.po @@ -4064,6 +4064,9 @@ msgstr "" "\n" "Möchten Sie den Pincode nun setzen?" +msgid "Your collection exceeds the size of a single layer medium, you will need a blank dual layer DVD!" +msgstr "Die Zusammenstellung übersteigt die Kapazität eines normalen Single-Layer-Rohlings - es wird jetzt eine Dual-Layer-DVD benötigt!" + msgid "Your Dreambox will restart after pressing OK on your remote control." msgstr "" "Ihre Dreambox wird neu starten nachdem Sie OK auf Ihrer Fernbedienung " -- cgit v1.2.3 From b38a38eabbfc7cf4814d6bb9be90d857e8282f9d Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Fri, 20 Feb 2009 14:17:18 +0100 Subject: follow changes in module Tuner with added rolloff, pilot and system/modulation in DiseqcTester/TuneTest --- lib/python/Components/TuneTest.py | 12 ++++++------ lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/python/Components/TuneTest.py b/lib/python/Components/TuneTest.py index de7b0098..8e8644e3 100644 --- a/lib/python/Components/TuneTest.py +++ b/lib/python/Components/TuneTest.py @@ -4,8 +4,8 @@ class Tuner: 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 @@ -102,8 +102,8 @@ class TuneTest: 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]) @@ -203,8 +203,8 @@ class TuneTest: self.progressCallback((self.getProgressLength(), self.tuningtransponder, self.STATUS_START, self.currTuned)) self.timer.start(100, True) - # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, , , , ) - # 0 1 2 3 4 5 6 7 8 9 + # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, , , , , , ) + # 0 1 2 3 4 5 6 7 8 9 10 11 def addTransponder(self, transponder): self.transponderlist.append(transponder) diff --git a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py index 07861954..2bd01522 100644 --- a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py +++ b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py @@ -264,8 +264,8 @@ class DiseqcTester(Screen, TuneTest, ResultParser): def readTransponderList(self): 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]) + print transponder + 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): -- cgit v1.2.3 From 2898c67ef32408ab8b8191294eee59e8784a4870 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Fri, 20 Feb 2009 15:48:49 +0100 Subject: remove debug print --- lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py index 2bd01522..cbd6bc89 100644 --- a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py +++ b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py @@ -264,7 +264,7 @@ class DiseqcTester(Screen, TuneTest, ResultParser): def readTransponderList(self): for sat in nimmanager.getSatListForNim(self.feid): for transponder in nimmanager.getTransponders(sat[0]): - print transponder + #print transponder 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) -- cgit v1.2.3 From 4234e8e7dea4d32a0dc643042d7babf54982fda4 Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 21 Feb 2009 13:44:13 +0100 Subject: teletext.cpp: add support for "X/28/0 format 1" and "M/29/0 format 1" packets... this fixes i.e. wrong characters in polish teletext subtitles used by HBO/Polsat and other --- lib/dvb/teletext.cpp | 124 +++++++++++++++++++++++++++++++++++++-------------- lib/dvb/teletext.h | 4 +- 2 files changed, 93 insertions(+), 35 deletions(-) diff --git a/lib/dvb/teletext.cpp b/lib/dvb/teletext.cpp index ca0412e3..79b3a9ca 100644 --- a/lib/dvb/teletext.cpp +++ b/lib/dvb/teletext.cpp @@ -127,7 +127,7 @@ unsigned int Latin_G2_set[6*16] = { // 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); @@ -149,6 +149,15 @@ static inline unsigned char decode_hamming_84(unsigned char *b) 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); } @@ -258,7 +267,7 @@ void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len) 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), @@ -315,19 +324,10 @@ void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len) } 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; @@ -401,12 +401,54 @@ void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len) } } 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) + { + 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++); + 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) { - 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 (Y == 28 && designation_code == 0) // 28/0 + { +#if 1 + m_X28_t1 = decode_hamming_2418(data++); + m_X28_t2 = decode_hamming_2418(data++); + 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) + { + 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); } } } @@ -430,6 +472,7 @@ void eDVBTeletextParser::handlePageStart() { m_subtitle_page.clear(); m_modifications.clear(); + m_X28_0_valid = 0; // eDebug("erase page!"); } // else @@ -463,8 +506,24 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) 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_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 >> 14) & 0xF) | ((m_X28_t2 & 7) << 4)]; + nat_subset_2 = NationalOptionSubsetsLookup[(m_X28_t1 >> 7) & 0xF]; +// eDebug("override nat subset with X28/0... nat_subset2 is %d", nat_subset_2); + } + else if (m_M29_0_valid) + { + nat_subset = NationalOptionSubsetsLookup[((m_M29_t1 >> 14) & 0xF) | ((m_M29_t2 & 7) << 4)]; + nat_subset_2 = NationalOptionSubsetsLookup[(m_M29_t1 >> 7) & 0xF]; +// eDebug("override nat subset with M29/0... nat_subset2 is %d", nat_subset_2); + } + + /*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, @@ -473,18 +532,20 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) // eDebug("handle subtitle line: %d len", len); for (int i=0; i::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; @@ -498,8 +559,6 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) continue; } - unsigned char b = decode_odd_parity(data + i); - if (b < 0x10) /* spacing attribute */ { if (b < 8) /* colors */ @@ -522,17 +581,11 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) /* 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) @@ -551,9 +604,11 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) 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)); } @@ -575,6 +630,7 @@ void eDVBTeletextParser::setPageAndMagazine(int page, int magazine) 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; diff --git a/lib/dvb/teletext.h b/lib/dvb/teletext.h index a07c6aea..880fa569 100644 --- a/lib/dvb/teletext.h +++ b/lib/dvb/teletext.h @@ -50,7 +50,9 @@ private: 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); -- cgit v1.2.3 From 894e18128f153afdf0b6ab1785a98b32efa6d798 Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 21 Feb 2009 15:21:28 +0100 Subject: fix polish subtitles on HBO services.. 2nd try ;) --- lib/dvb/teletext.cpp | 53 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/lib/dvb/teletext.cpp b/lib/dvb/teletext.cpp index 79b3a9ca..7cef7b28 100644 --- a/lib/dvb/teletext.cpp +++ b/lib/dvb/teletext.cpp @@ -406,8 +406,8 @@ void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len) 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++); + 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 @@ -422,8 +422,8 @@ void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len) if (Y == 28 && designation_code == 0) // 28/0 { #if 1 - m_X28_t1 = decode_hamming_2418(data++); - m_X28_t2 = decode_hamming_2418(data++); + 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 @@ -435,6 +435,15 @@ void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len) 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) @@ -510,24 +519,24 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) nat_subset = nat_subset_2, second_G0_set = 0; - if (m_X28_0_valid) - { - nat_subset = NationalOptionSubsetsLookup[((m_X28_t1 >> 14) & 0xF) | ((m_X28_t2 & 7) << 4)]; - nat_subset_2 = NationalOptionSubsetsLookup[(m_X28_t1 >> 7) & 0xF]; -// eDebug("override nat subset with X28/0... nat_subset2 is %d", nat_subset_2); - } - else if (m_M29_0_valid) - { - nat_subset = NationalOptionSubsetsLookup[((m_M29_t1 >> 14) & 0xF) | ((m_M29_t2 & 7) << 4)]; - nat_subset_2 = NationalOptionSubsetsLookup[(m_M29_t1 >> 7) & 0xF]; -// eDebug("override nat subset with M29/0... nat_subset2 is %d", nat_subset_2); - } - - /*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);*/ + if (m_X28_0_valid) + { + nat_subset = NationalOptionSubsetsLookup[(m_X28_t1 >> 7) & 0xF]; + 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) & 0xF]; + 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 Date: Sat, 21 Feb 2009 16:36:08 +0100 Subject: another small ttx subtitles fix --- lib/dvb/teletext.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dvb/teletext.cpp b/lib/dvb/teletext.cpp index 7cef7b28..de4c6d75 100644 --- a/lib/dvb/teletext.cpp +++ b/lib/dvb/teletext.cpp @@ -521,13 +521,13 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) if (m_X28_0_valid) { - nat_subset = NationalOptionSubsetsLookup[(m_X28_t1 >> 7) & 0xF]; + 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) & 0xF]; + 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); } -- cgit v1.2.3 From 8ae90fb361092e8bc95a269dfacdc695292e574b Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 21 Feb 2009 19:11:48 +0100 Subject: subtitle.cpp/h: fix dvb subtitles for HBO --- lib/dvb/subtitle.cpp | 5 ++++- lib/dvb/subtitle.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/dvb/subtitle.cpp b/lib/dvb/subtitle.cpp index f4b5b7e4..642327bb 100644 --- a/lib/dvb/subtitle.cpp +++ b/lib/dvb/subtitle.cpp @@ -345,6 +345,8 @@ int eDVBSubtitleParser::subtitle_process_segment(__u8 *segment) } } + 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)) @@ -804,7 +806,8 @@ void eDVBSubtitleParser::subtitle_redraw_all() 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 diff --git a/lib/dvb/subtitle.h b/lib/dvb/subtitle.h index fb9c51a2..09d6cd47 100644 --- a/lib/dvb/subtitle.h +++ b/lib/dvb/subtitle.h @@ -71,6 +71,7 @@ struct subtitle_page int page_id; time_t page_time_out; int page_version_number; + int state; int pcs_size; subtitle_page_region *page_regions; -- cgit v1.2.3 From 7a8ce89bacc1f2f6ff77409b9a879462daf09afe Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sun, 22 Feb 2009 23:16:25 +0100 Subject: fix entry_changed --- lib/python/Components/Converter/StringList.py | 3 ++- lib/python/Components/Sources/List.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/python/Components/Converter/StringList.py b/lib/python/Components/Converter/StringList.py index 213f08bc..b21a7cf9 100644 --- a/lib/python/Components/Converter/StringList.py +++ b/lib/python/Components/Converter/StringList.py @@ -52,4 +52,5 @@ class StringList(Converter): index = property(getIndex, setIndex) def entry_changed(self, index): - self.downstream_elements.entry_changed(index) + if self.content: + self.content.invalidateEntry(index) diff --git a/lib/python/Components/Sources/List.py b/lib/python/Components/Sources/List.py index dbe442d1..1eab32b2 100644 --- a/lib/python/Components/Sources/List.py +++ b/lib/python/Components/Sources/List.py @@ -27,7 +27,7 @@ to generate HTML.""" 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 -- cgit v1.2.3 From 75b79db2285d206174382ba81366d50447c4b830 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sun, 22 Feb 2009 23:17:07 +0100 Subject: disable KEY_0 to convert current item to mark as there is no way to undo this --- lib/python/Plugins/Extensions/CutListEditor/keymap.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Plugins/Extensions/CutListEditor/keymap.xml b/lib/python/Plugins/Extensions/CutListEditor/keymap.xml index 741d9eb6..ae4fbb4b 100644 --- a/lib/python/Plugins/Extensions/CutListEditor/keymap.xml +++ b/lib/python/Plugins/Extensions/CutListEditor/keymap.xml @@ -33,7 +33,7 @@ - + -- cgit v1.2.3 From 4b8fe9d6650b7527b3c588f72540cea3c04423b9 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Mon, 23 Feb 2009 15:42:59 +0100 Subject: show warning message when trying to play video container with DTS stream (requires gst-plugins-dvbmedisink > 20090223) --- lib/python/Plugins/Extensions/MediaPlayer/plugin.py | 15 +++++++++++---- lib/service/servicemp3.cpp | 15 ++++++++++++--- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lib/python/Plugins/Extensions/MediaPlayer/plugin.py b/lib/python/Plugins/Extensions/MediaPlayer/plugin.py index 3e023841..e81750ba 100644 --- a/lib/python/Plugins/Extensions/MediaPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/MediaPlayer/plugin.py @@ -224,7 +224,8 @@ class MediaPlayer(Screen, InfoBarBase, InfoBarSeek, InfoBarAudioSelection, InfoB 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 }) @@ -268,11 +269,17 @@ class MediaPlayer(Screen, InfoBarBase, InfoBarSeek, InfoBarAudioSelection, InfoB 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() diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index bbcb3b5c..d90186a5 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -838,6 +838,7 @@ int eServiceMP3::getInfo(int w) case sGenre: case sVideoType: case sTimeCreate: + case sUser+10: case sUser+12: return resIsString; case sCurrentTitle: @@ -886,6 +887,9 @@ std::string eServiceMP3::getInfoString(int w) case sGenre: tag = GST_TAG_GENRE; break; + case sUser+10: + tag = GST_TAG_AUDIO_CODEC; + break; case sVideoType: tag = GST_TAG_VIDEO_CODEC; break; @@ -1025,7 +1029,7 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg) 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)); @@ -1050,8 +1054,13 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *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..."); -- cgit v1.2.3 From 5a6bde9419249a78c957093e0cc438d7c6eeb46c Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Mon, 23 Feb 2009 19:16:53 +0100 Subject: fixed compile errors with g++ 4.3 and replaced some c headers by their c++ counterparts --- lib/base/buffer.cpp | 5 +++-- lib/base/eerror.cpp | 7 ++++--- lib/base/encoding.cpp | 1 + lib/base/estring.cpp | 5 +++-- lib/driver/misc_options.cpp | 1 + lib/dvb/db.h | 4 ++-- lib/dvb/idvb.h | 4 ++-- lib/gdi/accel.cpp | 1 + lib/gdi/gpixmap.cpp | 2 ++ lib/gui/elistboxcontent.h | 2 +- 10 files changed, 20 insertions(+), 12 deletions(-) diff --git a/lib/base/buffer.cpp b/lib/base/buffer.cpp index 3a0a6a3d..5dfdfad5 100644 --- a/lib/base/buffer.cpp +++ b/lib/base/buffer.cpp @@ -1,8 +1,9 @@ #include #include -#include +#include +#include +#include #include -#include void eIOBuffer::removeblock() { diff --git a/lib/base/eerror.cpp b/lib/base/eerror.cpp index 4c4d6551..35e46e05 100644 --- a/lib/base/eerror.cpp +++ b/lib/base/eerror.cpp @@ -1,8 +1,9 @@ #include #include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/lib/base/encoding.cpp b/lib/base/encoding.cpp index 5d6617d9..45fea102 100644 --- a/lib/base/encoding.cpp +++ b/lib/base/encoding.cpp @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/base/estring.cpp b/lib/base/estring.cpp index f1d50ccc..dcba7705 100644 --- a/lib/base/estring.cpp +++ b/lib/base/estring.cpp @@ -1,6 +1,7 @@ +#include +#include +#include #include -#include -#include #include #include #include diff --git a/lib/driver/misc_options.cpp b/lib/driver/misc_options.cpp index c567878c..43e6dad3 100644 --- a/lib/driver/misc_options.cpp +++ b/lib/driver/misc_options.cpp @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/dvb/db.h b/lib/dvb/db.h index 55e008fb..11fb1ab1 100644 --- a/lib/dvb/db.h +++ b/lib/dvb/db.h @@ -51,11 +51,11 @@ public: RESULT getChannelFrontendData(const eDVBChannelID &id, ePtr &parm); - RESULT addService(const eServiceReferenceDVB &service, eDVBService *service); + RESULT addService(const eServiceReferenceDVB &referenc, eDVBService *service); RESULT getService(const eServiceReferenceDVB &reference, ePtr &service); RESULT flush(); - RESULT startQuery(ePtr &query, eDVBChannelQuery *query, const eServiceReference &source); + RESULT startQuery(ePtr &query, eDVBChannelQuery *q, const eServiceReference &source); RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet); ////// diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index ec016d69..6dd0f903 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -385,13 +385,13 @@ public: virtual RESULT getChannelFrontendData(const eDVBChannelID &id, ePtr &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 &service)=0; virtual RESULT flush()=0; virtual RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet)=0; - virtual RESULT startQuery(ePtr &query, eDVBChannelQuery *query, const eServiceReference &source)=0; + virtual RESULT startQuery(ePtr &query, eDVBChannelQuery *q, const eServiceReference &source)=0; }; #endif // SWIG diff --git a/lib/gdi/accel.cpp b/lib/gdi/accel.cpp index 27b4abcc..d9c80e2e 100644 --- a/lib/gdi/accel.cpp +++ b/lib/gdi/accel.cpp @@ -1,3 +1,4 @@ +#include #include #include #include diff --git a/lib/gdi/gpixmap.cpp b/lib/gdi/gpixmap.cpp index 315c18d1..e01e5e43 100644 --- a/lib/gdi/gpixmap.cpp +++ b/lib/gdi/gpixmap.cpp @@ -1,3 +1,5 @@ +#include +#include #include #include #include diff --git a/lib/gui/elistboxcontent.h b/lib/gui/elistboxcontent.h index 64699013..6bb45590 100644 --- a/lib/gui/elistboxcontent.h +++ b/lib/gui/elistboxcontent.h @@ -73,7 +73,7 @@ public: 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); -- cgit v1.2.3 From 574f425cc1ebece0aa5f09fb77a8cb7ad0310a1f Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 24 Feb 2009 20:56:21 +0100 Subject: small optimizations and cleanups by Moritz Venn --- RecordTimer.py | 2 +- keymapparser.py | 4 +- lib/python/Components/Converter/FrontendInfo.py | 4 +- lib/python/Components/Converter/RdsInfo.py | 14 +- lib/python/Components/Converter/ServiceInfo.py | 36 +- lib/python/Components/Converter/ServiceName.py | 2 +- lib/python/Components/Converter/ServicePosition.py | 6 +- lib/python/Components/Converter/ServiceTime.py | 2 +- lib/python/Components/Converter/Streaming.py | 3 - lib/python/Components/DreamInfoHandler.py | 2 +- lib/python/Components/Element.py | 4 +- lib/python/Components/Harddisk.py | 15 +- lib/python/Components/HelpMenuList.py | 12 +- lib/python/Components/Language.py | 13 +- lib/python/Components/NimManager.py | 28 +- lib/python/Components/ParentalControl.py | 7 +- lib/python/Components/ParentalControlList.py | 6 +- lib/python/Components/PluginComponent.py | 6 +- lib/python/Components/PluginList.py | 40 +- lib/python/Components/Renderer/FrontpanelLed.py | 3 - lib/python/Components/Renderer/Picon.py | 4 +- lib/python/Components/Scanner.py | 5 +- lib/python/Components/SelectionList.py | 18 +- lib/python/Components/Sources/RdsDecoder.py | 2 +- lib/python/Components/TimerList.py | 2 +- lib/python/Components/TimerSanityCheck.py | 3 +- lib/python/Components/Timezones.py | 7 +- lib/python/Components/config.py | 6 +- .../Plugins/Extensions/CutListEditor/plugin.py | 6 +- .../Plugins/Extensions/DVDBurn/TitleProperties.py | 7 +- lib/python/Plugins/Extensions/DVDBurn/plugin.py | 5 +- lib/python/Plugins/Extensions/DVDPlayer/plugin.py | 2 +- .../Plugins/Extensions/FileManager/plugin.py | 5 +- .../Plugins/Extensions/MediaPlayer/plugin.py | 8 +- .../Plugins/Extensions/MediaScanner/plugin.py | 10 +- .../Plugins/Extensions/PicturePlayer/plugin.py | 2 +- lib/python/Plugins/Extensions/SocketMMI/plugin.py | 2 +- .../Plugins/SystemPlugins/DiseqcTester/plugin.py | 2 +- .../SystemPlugins/SoftwareManager/BackupRestore.py | 2 - .../SystemPlugins/Videomode/VideoHardware.py | 4 +- .../Plugins/SystemPlugins/Videomode/VideoWizard.py | 2 +- .../Plugins/SystemPlugins/Videomode/plugin.py | 13 +- lib/python/Screens/About.py | 4 +- lib/python/Screens/ChannelSelection.py | 40 +- lib/python/Screens/Ci.py | 2 +- lib/python/Screens/Console.py | 3 +- lib/python/Screens/DefaultWizard.py | 4 +- lib/python/Screens/EpgSelection.py | 2 +- lib/python/Screens/EventView.py | 16 +- lib/python/Screens/HarddiskSetup.py | 2 +- lib/python/Screens/HelpMenu.py | 16 +- lib/python/Screens/InfoBar.py | 4 +- lib/python/Screens/InfoBarGenerics.py | 83 ++- lib/python/Screens/LanguageSelection.py | 19 +- lib/python/Screens/LocationBox.py | 17 +- lib/python/Screens/Menu.py | 5 +- lib/python/Screens/MessageBox.py | 4 +- lib/python/Screens/MovieSelection.py | 18 +- lib/python/Screens/Mute.py | 3 +- lib/python/Screens/NetworkSetup.py | 23 +- lib/python/Screens/NumericalTextInputHelpDialog.py | 2 +- lib/python/Screens/PVRState.py | 4 +- lib/python/Screens/ParentalControlSetup.py | 4 +- lib/python/Screens/PluginBrowser.py | 18 +- lib/python/Screens/Rc.py | 1 - lib/python/Screens/Satconfig.py | 14 +- lib/python/Screens/ServiceInfo.py | 24 +- lib/python/Screens/Setup.py | 7 +- lib/python/Screens/Standby.py | 7 +- lib/python/Screens/SubservicesQuickzap.py | 24 +- lib/python/Screens/SubtitleDisplay.py | 5 +- lib/python/Screens/Subtitles.py | 31 +- lib/python/Screens/TaskView.py | 6 +- lib/python/Screens/TimeDateInput.py | 7 +- lib/python/Screens/TimerEdit.py | 13 +- lib/python/Screens/TimerEntry.py | 30 +- lib/python/Screens/TimerSelection.py | 1 - lib/python/Screens/VirtualKeyBoard.py | 580 +++++++++++---------- lib/python/Screens/Wizard.py | 7 +- lib/python/Screens/WizardLanguage.py | 4 - lib/python/Tools/NumericalTextInput.py | 2 +- mytest.py | 15 +- skin.py | 8 +- timer.py | 4 +- 84 files changed, 673 insertions(+), 736 deletions(-) diff --git a/RecordTimer.py b/RecordTimer.py index aeff9d05..9f3b2ffb 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -63,7 +63,7 @@ class RecordTimerEntry(timer.TimerEntry, object): 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" diff --git a/keymapparser.py b/keymapparser.py index 63bca0f9..0e544e94 100644 --- a/keymapparser.py +++ b/keymapparser.py @@ -8,10 +8,10 @@ from Tools.KeyBindings import addKeyBinding 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"): diff --git a/lib/python/Components/Converter/FrontendInfo.py b/lib/python/Components/Converter/FrontendInfo.py index 796ac330..4043a1be 100644 --- a/lib/python/Components/Converter/FrontendInfo.py +++ b/lib/python/Components/Converter/FrontendInfo.py @@ -29,7 +29,7 @@ class FrontendInfo(Converter, object): @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 @@ -54,7 +54,7 @@ class FrontendInfo(Converter, object): @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: diff --git a/lib/python/Components/Converter/RdsInfo.py b/lib/python/Components/Converter/RdsInfo.py index 3a7b2be3..f3f2b673 100644 --- a/lib/python/Components/Converter/RdsInfo.py +++ b/lib/python/Components/Converter/RdsInfo.py @@ -9,18 +9,12 @@ class RdsInfo(Converter, object): 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 diff --git a/lib/python/Components/Converter/ServiceInfo.py b/lib/python/Components/Converter/ServiceInfo.py index 71180254..d4054f0c 100644 --- a/lib/python/Components/Converter/ServiceInfo.py +++ b/lib/python/Components/Converter/ServiceInfo.py @@ -13,26 +13,16 @@ class ServiceInfo(Converter, object): 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: @@ -56,16 +46,18 @@ class ServiceInfo(Converter, object): 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 diff --git a/lib/python/Components/Converter/ServiceName.py b/lib/python/Components/Converter/ServiceName.py index 18b1f2a5..210c1aab 100644 --- a/lib/python/Components/Converter/ServiceName.py +++ b/lib/python/Components/Converter/ServiceName.py @@ -47,5 +47,5 @@ class ServiceName(Converter, object): 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) diff --git a/lib/python/Components/Converter/ServicePosition.py b/lib/python/Components/Converter/ServicePosition.py index 2bcc5492..b92af40b 100644 --- a/lib/python/Components/Converter/ServicePosition.py +++ b/lib/python/Components/Converter/ServicePosition.py @@ -35,7 +35,7 @@ class ServicePosition(Converter, Poll, object): 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 @@ -128,8 +128,8 @@ class ServicePosition(Converter, Poll, object): 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: diff --git a/lib/python/Components/Converter/ServiceTime.py b/lib/python/Components/Converter/ServiceTime.py index 89965067..d30839c6 100644 --- a/lib/python/Components/Converter/ServiceTime.py +++ b/lib/python/Components/Converter/ServiceTime.py @@ -16,7 +16,7 @@ class ServiceTime(Converter, object): elif type == "Duration": self.type = self.DURATION else: - raise ElementError("'%s' is not for eEventTime converter" % type) + raise ElementError("'%s' is not for ServiceTime converter" % type) @cached def getTime(self): diff --git a/lib/python/Components/Converter/Streaming.py b/lib/python/Components/Converter/Streaming.py index 2746ee84..0c0d274c 100644 --- a/lib/python/Components/Converter/Streaming.py +++ b/lib/python/Components/Converter/Streaming.py @@ -9,9 +9,6 @@ from Components.Element import cached # "+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 diff --git a/lib/python/Components/DreamInfoHandler.py b/lib/python/Components/DreamInfoHandler.py index c5f82629..2f2e757c 100644 --- a/lib/python/Components/DreamInfoHandler.py +++ b/lib/python/Components/DreamInfoHandler.py @@ -31,7 +31,7 @@ class InfoHandler(xml.sax.ContentHandler): 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": diff --git a/lib/python/Components/Element.py b/lib/python/Components/Element.py index f4a8f127..509a1c8d 100644 --- a/lib/python/Components/Element.py +++ b/lib/python/Components/Element.py @@ -18,10 +18,10 @@ def cached(f): 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 diff --git a/lib/python/Components/Harddisk.py b/lib/python/Components/Harddisk.py index 75d68fad..8664f79a 100755 --- a/lib/python/Components/Harddisk.py +++ b/lib/python/Components/Harddisk.py @@ -44,8 +44,8 @@ class Harddisk: 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: @@ -73,14 +73,14 @@ class Harddisk: 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 "" @@ -358,8 +358,7 @@ class HarddiskManager: ("/", _("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 @@ -371,14 +370,14 @@ class HarddiskManager: 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 diff --git a/lib/python/Components/HelpMenuList.py b/lib/python/Components/HelpMenuList.py index ddf871a7..66139dfb 100755 --- a/lib/python/Components/HelpMenuList.py +++ b/lib/python/Components/HelpMenuList.py @@ -17,8 +17,6 @@ class HelpMenuList(GUIComponent): 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 @@ -36,13 +34,15 @@ class HelpMenuList(GUIComponent): 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) ) diff --git a/lib/python/Components/Language.py b/lib/python/Components/Language.py index 74dd67d8..268fdb21 100644 --- a/lib/python/Components/Language.py +++ b/lib/python/Components/Language.py @@ -64,18 +64,17 @@ class Language: 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): diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index 75ad3779..48778571 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -112,7 +112,7 @@ class SecConfigure: 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 @@ -168,7 +168,7 @@ class SecConfigure: 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) @@ -447,7 +447,7 @@ class NIM(object): 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 @@ -458,20 +458,20 @@ class NIM(object): 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] @@ -781,10 +781,10 @@ class NimManager: 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": diff --git a/lib/python/Components/ParentalControl.py b/lib/python/Components/ParentalControl.py index 8c8a3305..d68e01ff 100644 --- a/lib/python/Components/ParentalControl.py +++ b/lib/python/Components/ParentalControl.py @@ -33,7 +33,7 @@ def InitParentalControl(): 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, "")))) @@ -117,10 +117,7 @@ class ParentalControl: 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 diff --git a/lib/python/Components/ParentalControlList.py b/lib/python/Components/ParentalControlList.py index 71912620..128e6d3e 100644 --- a/lib/python/Components/ParentalControlList.py +++ b/lib/python/Components/ParentalControlList.py @@ -8,8 +8,10 @@ from Tools.LoadPixmap import LoadPixmap 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 diff --git a/lib/python/Components/PluginComponent.py b/lib/python/Components/PluginComponent.py index 6e357cd0..fff5c475 100644 --- a/lib/python/Components/PluginComponent.py +++ b/lib/python/Components/PluginComponent.py @@ -96,9 +96,9 @@ class PluginComponent: 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 = [ ] diff --git a/lib/python/Components/PluginList.py b/lib/python/Components/PluginList.py index 63136cce..39c60ff7 100644 --- a/lib/python/Components/PluginList.py +++ b/lib/python/Components/PluginList.py @@ -7,40 +7,38 @@ from enigma import eListboxPythonMultiContent, gFont 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): diff --git a/lib/python/Components/Renderer/FrontpanelLed.py b/lib/python/Components/Renderer/FrontpanelLed.py index 7bb584e5..c0083966 100644 --- a/lib/python/Components/Renderer/FrontpanelLed.py +++ b/lib/python/Components/Renderer/FrontpanelLed.py @@ -2,9 +2,6 @@ from Components.Element import Element # this is not a GUI renderer. class FrontpanelLed(Element): - def __init__(self): - Element.__init__(self) - def changed(self, *args, **kwargs): if self.source.value: pattern = 0x55555555 diff --git a/lib/python/Components/Renderer/Picon.py b/lib/python/Components/Renderer/Picon.py index de19c9aa..5ae43ed8 100644 --- a/lib/python/Components/Renderer/Picon.py +++ b/lib/python/Components/Renderer/Picon.py @@ -6,9 +6,9 @@ from enigma import ePixmap 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) diff --git a/lib/python/Components/Scanner.py b/lib/python/Components/Scanner.py index 17c4aaa8..813c09f8 100644 --- a/lib/python/Components/Scanner.py +++ b/lib/python/Components/Scanner.py @@ -114,13 +114,10 @@ def scanDevice(mountpoint): # ...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) diff --git a/lib/python/Components/SelectionList.py b/lib/python/Components/SelectionList.py index a4f1d71a..08af7d02 100644 --- a/lib/python/Components/SelectionList.py +++ b/lib/python/Components/SelectionList.py @@ -6,8 +6,10 @@ from Tools.LoadPixmap import LoadPixmap 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 @@ -23,13 +25,11 @@ class SelectionList(MenuList): 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] ] + diff --git a/lib/python/Components/Sources/RdsDecoder.py b/lib/python/Components/Sources/RdsDecoder.py index 3ec9a25d..26a3e5a7 100644 --- a/lib/python/Components/Sources/RdsDecoder.py +++ b/lib/python/Components/Sources/RdsDecoder.py @@ -23,7 +23,7 @@ class RdsDecoder(PerServiceBase, Source, object): 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)) diff --git a/lib/python/Components/TimerList.py b/lib/python/Components/TimerList.py index a237c364..1109860a 100644 --- a/lib/python/Components/TimerList.py +++ b/lib/python/Components/TimerList.py @@ -21,7 +21,7 @@ class TimerList(HTMLComponent, GUIComponent, object): 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 diff --git a/lib/python/Components/TimerSanityCheck.py b/lib/python/Components/TimerSanityCheck.py index cf505022..c0ca10fa 100644 --- a/lib/python/Components/TimerSanityCheck.py +++ b/lib/python/Components/TimerSanityCheck.py @@ -135,8 +135,7 @@ class TimerSanityCheck: 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 diff --git a/lib/python/Components/Timezones.py b/lib/python/Components/Timezones.py index f3e24ee6..7f709159 100644 --- a/lib/python/Components/Timezones.py +++ b/lib/python/Components/Timezones.py @@ -52,11 +52,8 @@ class Timezones: 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" diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index e3a29b52..79e99b03 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -385,7 +385,7 @@ class ConfigBoolean(ConfigElement): 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 @@ -1187,7 +1187,7 @@ class ConfigSet(ConfigElement): 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): @@ -1352,7 +1352,7 @@ class ConfigLocations(ConfigElement): 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): diff --git a/lib/python/Plugins/Extensions/CutListEditor/plugin.py b/lib/python/Plugins/Extensions/CutListEditor/plugin.py index 1ef15a53..ed7cfb70 100644 --- a/lib/python/Plugins/Extensions/CutListEditor/plugin.py +++ b/lib/python/Plugins/Extensions/CutListEditor/plugin.py @@ -317,7 +317,7 @@ class CutListEditor(Screen, InfoBarBase, InfoBarSeek, InfoBarCueSheetSupport, He 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)) @@ -350,7 +350,7 @@ class CutListEditor(Screen, InfoBarBase, InfoBarSeek, InfoBarCueSheetSupport, He 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)) @@ -358,7 +358,7 @@ class CutListEditor(Screen, InfoBarBase, InfoBarSeek, InfoBarCueSheetSupport, He 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)) diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py b/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py index 40b85b70..1c2099fb 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py @@ -154,7 +154,7 @@ class LanguageChoices(): 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() @@ -164,8 +164,7 @@ class LanguageChoices(): 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: @@ -183,4 +182,4 @@ class LanguageChoices(): return key return "nolang" -languageChoices = LanguageChoices() \ No newline at end of file +languageChoices = LanguageChoices() diff --git a/lib/python/Plugins/Extensions/DVDBurn/plugin.py b/lib/python/Plugins/Extensions/DVDBurn/plugin.py index 29076cea..45f438da 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/plugin.py +++ b/lib/python/Plugins/Extensions/DVDBurn/plugin.py @@ -12,5 +12,6 @@ def main_add(session, service, **kwargs): 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") ] diff --git a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py index 6a8ffc6f..80629c5d 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py @@ -705,7 +705,7 @@ def filescan(**kwargs): ScanPath(path = "", with_subdirs = False), ], name = "DVD", - description = "Play DVD", + description = _("Play DVD"), openfnc = filescan_open, )] diff --git a/lib/python/Plugins/Extensions/FileManager/plugin.py b/lib/python/Plugins/Extensions/FileManager/plugin.py index 12389813..62c9e7b2 100644 --- a/lib/python/Plugins/Extensions/FileManager/plugin.py +++ b/lib/python/Plugins/Extensions/FileManager/plugin.py @@ -59,5 +59,6 @@ def main(session, **kwargs): 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)] diff --git a/lib/python/Plugins/Extensions/MediaPlayer/plugin.py b/lib/python/Plugins/Extensions/MediaPlayer/plugin.py index e81750ba..e26c65d4 100644 --- a/lib/python/Plugins/Extensions/MediaPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/MediaPlayer/plugin.py @@ -991,7 +991,7 @@ def filescan(**kwargs): ScanPath(path = "", with_subdirs = False), ], name = "Movie", - description = "View Movies...", + description = _("View Movies..."), openfnc = filescan_open, ), Scanner(mimetypes = ["video/x-vcd"], @@ -1001,7 +1001,7 @@ def filescan(**kwargs): 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"], @@ -1010,7 +1010,7 @@ def filescan(**kwargs): ScanPath(path = "", with_subdirs = False), ], name = "Music", - description = "Play Music...", + description = _("Play Music..."), openfnc = filescan_open, )] try: @@ -1022,7 +1022,7 @@ def filescan(**kwargs): ScanPath(path = "", with_subdirs = False), ], name = "Audio-CD", - description = "Play Audio-CD...", + description = _("Play Audio-CD..."), openfnc = audioCD_open, )) return mediatypes diff --git a/lib/python/Plugins/Extensions/MediaScanner/plugin.py b/lib/python/Plugins/Extensions/MediaScanner/plugin.py index 2c31197d..0cefa353 100755 --- a/lib/python/Plugins/Extensions/MediaScanner/plugin.py +++ b/lib/python/Plugins/Extensions/MediaScanner/plugin.py @@ -23,16 +23,16 @@ def mountpoint_choosen(option): 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): @@ -41,7 +41,7 @@ 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) @@ -91,7 +91,7 @@ def autostart(reason, **kwargs): def Plugins(**kwargs): return [ - PluginDescriptor(name="MediaScanner", description="Scan Files...", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main), + PluginDescriptor(name="MediaScanner", description=_("Scan Files..."), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main), # PluginDescriptor(where = PluginDescriptor.WHERE_MENU, fnc=menuHook), PluginDescriptor(where = PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart), PluginDescriptor(where = PluginDescriptor.WHERE_AUTOSTART, fnc = autostart) diff --git a/lib/python/Plugins/Extensions/PicturePlayer/plugin.py b/lib/python/Plugins/Extensions/PicturePlayer/plugin.py index 05adb633..10e4e514 100644 --- a/lib/python/Plugins/Extensions/PicturePlayer/plugin.py +++ b/lib/python/Plugins/Extensions/PicturePlayer/plugin.py @@ -586,7 +586,7 @@ def filescan(**kwargs): ScanPath(path = "", with_subdirs = False), ], name = "Pictures", - description = "View Photos...", + description = _("View Photos..."), openfnc = filescan_open, ) diff --git a/lib/python/Plugins/Extensions/SocketMMI/plugin.py b/lib/python/Plugins/Extensions/SocketMMI/plugin.py index 4eadf2ea..387c8306 100644 --- a/lib/python/Plugins/Extensions/SocketMMI/plugin.py +++ b/lib/python/Plugins/Extensions/SocketMMI/plugin.py @@ -22,6 +22,6 @@ def autostart(reason, **kwargs): socketHandler = SocketMMIMessageHandler() def Plugins(**kwargs): - return [ PluginDescriptor(name = "SocketMMI", description = "Python frontend for /tmp/mmi.socket", where = PluginDescriptor.WHERE_MENU, fnc = menu), + 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) ] diff --git a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py index cbd6bc89..a4793949 100644 --- a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py +++ b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py @@ -623,7 +623,7 @@ class DiseqcTesterNimSelection(NimSelection): 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": diff --git a/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py b/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py index 947452e9..327f08ed 100755 --- a/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py +++ b/lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py @@ -308,5 +308,3 @@ class RestoreScreen(Screen, ConfigListScreen): def runAsync(self, finished_cb): self.finished_cb = finished_cb self.doRestore() - - \ No newline at end of file diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py index 6a85c4da..64f79e04 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py @@ -67,7 +67,7 @@ class VideoHardware: 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: @@ -283,7 +283,7 @@ class VideoHardware: 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 diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py index 095e94c0..8f8bea09 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py @@ -165,7 +165,7 @@ class VideoWizard(WizardLanguage, Rc): 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: diff --git a/lib/python/Plugins/SystemPlugins/Videomode/plugin.py b/lib/python/Plugins/SystemPlugins/Videomode/plugin.py index 30bdf796..5a7dfd1b 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/plugin.py @@ -52,8 +52,9 @@ class VideoSetup(Screen, ConfigListScreen): 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: @@ -76,9 +77,11 @@ class VideoSetup(Screen, ConfigListScreen): 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)) diff --git a/lib/python/Screens/About.py b/lib/python/Screens/About.py index e184512b..6cf0f7b4 100644 --- a/lib/python/Screens/About.py +++ b/lib/python/Screens/About.py @@ -25,7 +25,7 @@ class About(Screen): 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: @@ -33,7 +33,7 @@ class About(Screen): 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: diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index ebfbe812..bae8f7de 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -95,7 +95,7 @@ class ChannelContextMenu(Screen): 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: @@ -558,7 +558,7 @@ class ChannelSelectionEdit: 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() @@ -781,13 +781,13 @@ class ChannelSelectionBase(Screen): 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 @@ -831,9 +831,8 @@ class ChannelSelectionBase(Screen): 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) @@ -961,7 +960,7 @@ class ChannelSelectionBase(Screen): 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 @@ -1235,8 +1234,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect 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) @@ -1249,7 +1247,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect 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() @@ -1259,7 +1257,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect 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() @@ -1269,7 +1267,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect 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() @@ -1289,16 +1287,14 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect 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 @@ -1411,7 +1407,7 @@ class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelS 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() @@ -1421,7 +1417,7 @@ class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelS 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() @@ -1431,7 +1427,7 @@ class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelS 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() diff --git a/lib/python/Screens/Ci.py b/lib/python/Screens/Ci.py index 5028301e..a997f7fe 100644 --- a/lib/python/Screens/Ci.py +++ b/lib/python/Screens/Ci.py @@ -121,7 +121,7 @@ class MMIDialog(Screen): 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() diff --git a/lib/python/Screens/Console.py b/lib/python/Screens/Console.py index c6b156cf..2058c041 100644 --- a/lib/python/Screens/Console.py +++ b/lib/python/Screens/Console.py @@ -11,7 +11,6 @@ class Console(Screen): """ def __init__(self, session, title = "Console", cmdlist = None, finishedCallback = None, closeOnSuccess = False): - self.skin = Console.skin Screen.__init__(self, session) self.finishedCallback = finishedCallback @@ -68,4 +67,4 @@ class Console(Screen): 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) diff --git a/lib/python/Screens/DefaultWizard.py b/lib/python/Screens/DefaultWizard.py index 9883dc8e..73b07acf 100644 --- a/lib/python/Screens/DefaultWizard.py +++ b/lib/python/Screens/DefaultWizard.py @@ -96,8 +96,6 @@ def filescan_open(list, session, **kwargs): 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 = @@ -106,7 +104,7 @@ def filescan(**kwargs): 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" diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index e7388fc2..ae96333e 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -68,7 +68,7 @@ class EPGSelection(Screen): 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"], { diff --git a/lib/python/Screens/EventView.py b/lib/python/Screens/EventView.py index 6aed1e11..c55d9527 100644 --- a/lib/python/Screens/EventView.py +++ b/lib/python/Screens/EventView.py @@ -20,7 +20,7 @@ class EventViewBase: 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() @@ -134,12 +134,12 @@ class EventViewBase: 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) @@ -189,7 +189,7 @@ class EventViewBase: 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: diff --git a/lib/python/Screens/HarddiskSetup.py b/lib/python/Screens/HarddiskSetup.py index 19a674ec..c9f069fe 100644 --- a/lib/python/Screens/HarddiskSetup.py +++ b/lib/python/Screens/HarddiskSetup.py @@ -39,7 +39,7 @@ class HarddiskSetup(Screen): 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 diff --git a/lib/python/Screens/HelpMenu.py b/lib/python/Screens/HelpMenu.py index abef38db..74882a35 100644 --- a/lib/python/Screens/HelpMenu.py +++ b/lib/python/Screens/HelpMenu.py @@ -29,13 +29,13 @@ class HelpMenu(Screen, Rc): #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: @@ -55,6 +55,6 @@ class HelpableScreen: 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) diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py index bd9ea182..4d92bd39 100644 --- a/lib/python/Screens/InfoBar.py +++ b/lib/python/Screens/InfoBar.py @@ -148,8 +148,8 @@ class MoviePlayer(InfoBarBase, InfoBarShowHide, \ 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) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 3f9fe213..e39e028d 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -369,25 +369,27 @@ class InfoBarSimpleEventView: }) 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 InfoBarEPG: """ EPG - Opens an EPG list when the showEPGList action fires """ @@ -440,7 +442,7 @@ class InfoBarEPG: 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)) @@ -455,7 +457,7 @@ class InfoBarEPG: self.bouquetSel.up() bouquet = self.bouquetSel.getCurrent() services = self.getBouquetServices(bouquet) - if len(services): + if services: self.epg_bouquet = bouquet epg.setServices(services) @@ -642,9 +644,9 @@ class InfoBarSeek: 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: @@ -772,7 +774,7 @@ class InfoBarSeek: 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() @@ -885,30 +887,31 @@ class InfoBarSeek: 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: @@ -994,7 +997,7 @@ class InfoBarSeek: self.eofState = 0 if not 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 eofstate == -1 or not seekstate in (self.SEEK_STATE_PLAY, self.SEEK_STATE_PAUSE): seekable = self.getSeek() if seekable is not None: seekable.seekTo(-1) @@ -1480,7 +1483,7 @@ class InfoBarInstantRecord: 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 @@ -1631,13 +1634,13 @@ class InfoBarAudioSelection: 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) @@ -1649,7 +1652,7 @@ class InfoBarAudioSelection: 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 @@ -2080,9 +2083,6 @@ class InfoBarSummary(Screen): # Reference # - def __init__(self, session, parent): - Screen.__init__(self, session, parent = parent) - class InfoBarSummarySupport: def __init__(self): pass @@ -2108,9 +2108,6 @@ class InfoBarMoviePlayerSummary(Screen): """ - def __init__(self, session, parent): - Screen.__init__(self, session) - class InfoBarMoviePlayerSummarySupport: def __init__(self): pass @@ -2211,7 +2208,7 @@ class InfoBarServiceErrorPopupSupport: 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)"), @@ -2222,9 +2219,7 @@ class InfoBarServiceErrorPopupSupport: 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") diff --git a/lib/python/Screens/LanguageSelection.py b/lib/python/Screens/LanguageSelection.py index 94ede08c..082daa55 100644 --- a/lib/python/Screens/LanguageSelection.py +++ b/lib/python/Screens/LanguageSelection.py @@ -76,21 +76,22 @@ class LanguageSelection(Screen): 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): diff --git a/lib/python/Screens/LocationBox.py b/lib/python/Screens/LocationBox.py index fa47b1f2..61d7105d 100644 --- a/lib/python/Screens/LocationBox.py +++ b/lib/python/Screens/LocationBox.py @@ -163,11 +163,11 @@ class LocationBox(Screen, NumericalTextInput, HelpableScreen): }) # Run some functions when shown - self.onShown.extend([ + self.onShown.extend(( boundFunction(self.setTitle, windowTitle), self.updateTarget, self.showHideRename, - ]) + )) self.onLayoutFinish.append(self.switchToFileListOnStart) @@ -241,7 +241,7 @@ class LocationBox(Screen, NumericalTextInput, HelpableScreen): ) 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): @@ -454,7 +454,7 @@ class LocationBox(Screen, NumericalTextInput, HelpableScreen): 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 @@ -503,16 +503,12 @@ class LocationBox(Screen, NumericalTextInput, HelpableScreen): 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__( @@ -524,8 +520,9 @@ class TimeshiftLocationBox(LocationBox): 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() diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py index 93f23dfb..5f2032f1 100644 --- a/lib/python/Screens/Menu.py +++ b/lib/python/Screens/Menu.py @@ -61,9 +61,6 @@ class MenuSummary(Screen): """ - def __init__(self, session, parent): - Screen.__init__(self, session, parent) - class Menu(Screen): ALLOW_SUSPEND = True @@ -118,7 +115,7 @@ class Menu(Screen): 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): diff --git a/lib/python/Screens/MessageBox.py b/lib/python/Screens/MessageBox.py index 8a5989c7..10485680 100644 --- a/lib/python/Screens/MessageBox.py +++ b/lib/python/Screens/MessageBox.py @@ -43,7 +43,7 @@ class MessageBox(Screen): 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) @@ -134,7 +134,7 @@ class MessageBox(Screen): 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() diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py index 5951653f..174a4f07 100644 --- a/lib/python/Screens/MovieSelection.py +++ b/lib/python/Screens/MovieSelection.py @@ -65,20 +65,20 @@ class MovieContextMenu(Screen): }) 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: diff --git a/lib/python/Screens/Mute.py b/lib/python/Screens/Mute.py index f64be901..f80267ad 100644 --- a/lib/python/Screens/Mute.py +++ b/lib/python/Screens/Mute.py @@ -1,6 +1,5 @@ from Screen import Screen class Mute(Screen): - def __init__(self, session): - Screen.__init__(self, session) + pass diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py index ea2d17e6..50f8c41b 100755 --- a/lib/python/Screens/NetworkSetup.py +++ b/lib/python/Screens/NetworkSetup.py @@ -28,8 +28,10 @@ class InterfaceList(MenuList): 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: @@ -62,7 +64,7 @@ class NetworkAdapterSelection(Screen,HelpableScreen): 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", @@ -232,17 +234,16 @@ class NameserverSetup(Screen, ConfigListScreen, HelpableScreen): 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) diff --git a/lib/python/Screens/NumericalTextInputHelpDialog.py b/lib/python/Screens/NumericalTextInputHelpDialog.py index 39c644b9..e0979587 100644 --- a/lib/python/Screens/NumericalTextInputHelpDialog.py +++ b/lib/python/Screens/NumericalTextInputHelpDialog.py @@ -4,7 +4,7 @@ from Components.Label import Label 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 diff --git a/lib/python/Screens/PVRState.py b/lib/python/Screens/PVRState.py index 8b90c420..891379ca 100644 --- a/lib/python/Screens/PVRState.py +++ b/lib/python/Screens/PVRState.py @@ -8,5 +8,5 @@ class PVRState(Screen): self["state"] = Label(text="") class TimeshiftState(PVRState): - def __init__(self, session): - PVRState.__init__(self, session) + pass + diff --git a/lib/python/Screens/ParentalControlSetup.py b/lib/python/Screens/ParentalControlSetup.py index 6ae12cae..4c63dd5c 100644 --- a/lib/python/Screens/ParentalControlSetup.py +++ b/lib/python/Screens/ParentalControlSetup.py @@ -215,9 +215,7 @@ class ParentalControlEditor(Screen): 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() diff --git a/lib/python/Screens/PluginBrowser.py b/lib/python/Screens/PluginBrowser.py index 0f6ee746..cd17e2e0 100644 --- a/lib/python/Screens/PluginBrowser.py +++ b/lib/python/Screens/PluginBrowser.py @@ -51,11 +51,9 @@ class PluginBrowser(Screen): 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): @@ -187,7 +185,7 @@ class PluginDownloadBrowser(Screen): 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")) @@ -204,10 +202,10 @@ class PluginDownloadBrowser(Screen): 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) diff --git a/lib/python/Screens/Rc.py b/lib/python/Screens/Rc.py index 3a7c78b3..27ba1abd 100644 --- a/lib/python/Screens/Rc.py +++ b/lib/python/Screens/Rc.py @@ -81,4 +81,3 @@ class Rc: for selectPic in self.selectpics: for pic in selectPic[1]: self[pic].hide() - \ No newline at end of file diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py index da6fcc12..8b5089a3 100644 --- a/lib/python/Screens/Satconfig.py +++ b/lib/python/Screens/Satconfig.py @@ -21,7 +21,7 @@ class NimSetup(Screen, ConfigListScreen): 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)) @@ -99,7 +99,7 @@ class NimSetup(Screen, ConfigListScreen): 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) @@ -204,7 +204,7 @@ class NimSetup(Screen, ConfigListScreen): 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) @@ -453,7 +453,7 @@ class NimSelection(Screen): 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] @@ -461,11 +461,11 @@ class NimSelection(Screen): 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": @@ -491,4 +491,4 @@ class NimSelection(Screen): 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) diff --git a/lib/python/Screens/ServiceInfo.py b/lib/python/Screens/ServiceInfo.py index df8af4b4..fa2f4474 100644 --- a/lib/python/Screens/ServiceInfo.py +++ b/lib/python/Screens/ServiceInfo.py @@ -19,11 +19,6 @@ def to_unsigned(x): 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: @@ -34,10 +29,13 @@ def ServiceInfoListEntry(a, b, valueType=TYPE_TEXT, param=4): 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): @@ -151,9 +149,7 @@ class ServiceInfo(Screen): "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): @@ -186,7 +182,7 @@ class ServiceInfo(Screen): 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), @@ -198,7 +194,7 @@ class ServiceInfo(Screen): ("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), @@ -206,7 +202,7 @@ class ServiceInfo(Screen): ("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), diff --git a/lib/python/Screens/Setup.py b/lib/python/Screens/Setup.py index 1d035b8a..7226562f 100644 --- a/lib/python/Screens/Setup.py +++ b/lib/python/Screens/Setup.py @@ -21,10 +21,10 @@ setupfile.close() 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 = """ @@ -35,11 +35,10 @@ class SetupSummary(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) diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py index d09f28af..afea94b9 100644 --- a/lib/python/Screens/Standby.py +++ b/lib/python/Screens/Standby.py @@ -87,9 +87,6 @@ class StandbySummary(Screen): """ - def __init__(self, session, parent): - Screen.__init__(self, session) - from enigma import quitMainloop, iRecordableService from Screens.MessageBox import MessageBox from time import time @@ -100,7 +97,7 @@ inTryQuitMainloop = False 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 = "" @@ -137,7 +134,7 @@ class TryQuitMainloop(MessageBox): 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 diff --git a/lib/python/Screens/SubservicesQuickzap.py b/lib/python/Screens/SubservicesQuickzap.py index 24af517d..3bcc3c46 100644 --- a/lib/python/Screens/SubservicesQuickzap.py +++ b/lib/python/Screens/SubservicesQuickzap.py @@ -9,10 +9,17 @@ from Components.ServiceEventTracker import InfoBarBase 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() @@ -97,12 +104,15 @@ class SubservicesQuickzap(InfoBarBase, InfoBarShowHide, InfoBarMenu, InfoBarInst 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): diff --git a/lib/python/Screens/SubtitleDisplay.py b/lib/python/Screens/SubtitleDisplay.py index 80d3bd26..13ece59a 100644 --- a/lib/python/Screens/SubtitleDisplay.py +++ b/lib/python/Screens/SubtitleDisplay.py @@ -1,7 +1,6 @@ from Screens.Screen import Screen class SubtitleDisplay(Screen): - def __init__(self, session): - Screen.__init__(self, session) - + pass + # not really much to do... diff --git a/lib/python/Screens/Subtitles.py b/lib/python/Screens/Subtitles.py index e6378619..54bc7a5b 100644 --- a/lib/python/Screens/Subtitles.py +++ b/lib/python/Screens/Subtitles.py @@ -30,10 +30,11 @@ class Subtitles(Screen, ConfigListScreen): 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 @@ -44,29 +45,29 @@ class Subtitles(Screen, ConfigListScreen): 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() @@ -95,7 +96,7 @@ class Subtitles(Screen, ConfigListScreen): ConfigListScreen.keyRight(self) def ok(self): - if len(self.list): + if self.list: cur = self["config"].getCurrent() self.enableSubtitle(cur[2]) self.close(1) diff --git a/lib/python/Screens/TaskView.py b/lib/python/Screens/TaskView.py index 69604279..1453c05f 100644 --- a/lib/python/Screens/TaskView.py +++ b/lib/python/Screens/TaskView.py @@ -80,7 +80,7 @@ class JobView(InfoBarNotifications, Screen, ConfigListScreen): 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: @@ -94,11 +94,11 @@ class JobView(InfoBarNotifications, Screen, ConfigListScreen): 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() diff --git a/lib/python/Screens/TimeDateInput.py b/lib/python/Screens/TimeDateInput.py index 7f940909..56ccae90 100644 --- a/lib/python/Screens/TimeDateInput.py +++ b/lib/python/Screens/TimeDateInput.py @@ -42,9 +42,10 @@ class TimeDateInput(Screen, ConfigListScreen): 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) diff --git a/lib/python/Screens/TimerEdit.py b/lib/python/Screens/TimerEdit.py index 6499ef50..caaf8c95 100644 --- a/lib/python/Screens/TimerEdit.py +++ b/lib/python/Screens/TimerEdit.py @@ -171,14 +171,11 @@ class TimerEditList(Screen): 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() diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py index 92a16af8..73b2175b 100644 --- a/lib/python/Screens/TimerEntry.py +++ b/lib/python/Screens/TimerEntry.py @@ -57,12 +57,12 @@ class TimerEntry(Screen, ConfigListScreen): 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" @@ -74,7 +74,7 @@ class TimerEntry(Screen, ConfigListScreen): 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 @@ -98,7 +98,7 @@ class TimerEntry(Screen, ConfigListScreen): 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"))]) @@ -117,7 +117,7 @@ class TimerEntry(Screen, ConfigListScreen): 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 @@ -197,14 +197,14 @@ class TimerEntry(Screen, ConfigListScreen): 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) @@ -236,7 +236,7 @@ class TimerEntry(Screen, ConfigListScreen): 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) @@ -281,18 +281,18 @@ class TimerEntry(Screen, ConfigListScreen): 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) @@ -367,7 +367,7 @@ class TimerEntry(Screen, ConfigListScreen): 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): @@ -410,9 +410,7 @@ 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 = [] @@ -444,7 +442,7 @@ class TimerLog(Screen): 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("") diff --git a/lib/python/Screens/TimerSelection.py b/lib/python/Screens/TimerSelection.py index 7a1d9ecd..a97c7ba3 100644 --- a/lib/python/Screens/TimerSelection.py +++ b/lib/python/Screens/TimerSelection.py @@ -22,4 +22,3 @@ class TimerSelection(Screen): def selected(self): self.close(self["timerlist"].getCurrentIndex()) - \ No newline at end of file diff --git a/lib/python/Screens/VirtualKeyBoard.py b/lib/python/Screens/VirtualKeyBoard.py index 5dc1a090..9b676a5f 100755 --- a/lib/python/Screens/VirtualKeyBoard.py +++ b/lib/python/Screens/VirtualKeyBoard.py @@ -1,289 +1,291 @@ -# -*- 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.append(MultiContentEntryPixmapAlphaTest(pos=(x, 0), size=(45, 45), png=key_bg)) - res.append(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) +# -*- 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) diff --git a/lib/python/Screens/Wizard.py b/lib/python/Screens/Wizard.py index 7d454f43..555110a4 100755 --- a/lib/python/Screens/Wizard.py +++ b/lib/python/Screens/Wizard.py @@ -604,10 +604,7 @@ class WizardManager: 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() diff --git a/lib/python/Screens/WizardLanguage.py b/lib/python/Screens/WizardLanguage.py index ec9758d2..91fc80db 100644 --- a/lib/python/Screens/WizardLanguage.py +++ b/lib/python/Screens/WizardLanguage.py @@ -31,7 +31,3 @@ class WizardLanguage(Wizard): self.updateText(firstset = True) self.updateValues() self.updateLanguageDescription() - - - - \ No newline at end of file diff --git a/lib/python/Tools/NumericalTextInput.py b/lib/python/Tools/NumericalTextInput.py index c5576405..df6a5ea8 100644 --- a/lib/python/Tools/NumericalTextInput.py +++ b/lib/python/Tools/NumericalTextInput.py @@ -52,7 +52,7 @@ class NumericalTextInput: 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 diff --git a/mytest.py b/mytest.py index c335bf2d..efbc34bb 100755 --- a/mytest.py +++ b/mytest.py @@ -256,7 +256,7 @@ class Session: 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: @@ -275,7 +275,7 @@ class Session: 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. @@ -417,10 +417,7 @@ def runScreenTest(): 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() @@ -444,7 +441,7 @@ def runScreenTest(): screen = screensToRun[0][1] - if len(screensToRun): + if screensToRun: session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen) else: session.open(screen) @@ -476,8 +473,8 @@ def runScreenTest(): ] wakeupList.sort() recordTimerWakeupAuto = False - if len(wakeupList): - startTime = wakeupList.pop(0) + if wakeupList: + 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: diff --git a/skin.py b/skin.py index 6baf6b71..a37716f1 100644 --- a/skin.py +++ b/skin.py @@ -26,10 +26,10 @@ def dump(x, i=0): 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 = [ ] @@ -98,7 +98,7 @@ def collectAttributes(skinAttributes, node, skin_path_prefix=None, ignore=[]): 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: @@ -131,7 +131,7 @@ def applySingleAttribute(guiObject, desktop, attrib, value, scale = ((1,1),(1,1) 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) diff --git a/timer.py b/timer.py index fd5bb5af..64df9c88 100644 --- a/timer.py +++ b/timer.py @@ -222,7 +222,7 @@ class Timer: 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 @@ -278,5 +278,5 @@ class Timer: 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]) -- cgit v1.2.3 From 59d5d3748a33a1102cf1455c6ac52e95b18e2edc Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 25 Feb 2009 09:55:11 +0100 Subject: unicable fix by adenin (when Kathrein ESU33 is used) --- lib/dvb/sec.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index 8aa0631c..d14acc85 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -897,11 +897,11 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA 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); -- cgit v1.2.3 From f46b03d1dd4bf90975b0c946fc2720202832b836 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 25 Feb 2009 12:31:33 +0100 Subject: make SoftwareManager filescan description translatable --- lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py b/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py index 1df061e2..3eefa47d 100755 --- a/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py +++ b/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py @@ -815,7 +815,7 @@ def filescan(**kwargs): ScanPath(path = "", with_subdirs = False), ], name = "Ipkg", - description = "Install software updates...", + description = _("Install software updates..."), openfnc = filescan_open, ) def UpgradeMain(session, **kwargs): -- cgit v1.2.3 From d78844c80c0fc546186b6cbc52b3f7cb1ea3a680 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 26 Feb 2009 01:51:08 +0100 Subject: some CI fixes --- lib/dvb_ci/dvbci.cpp | 227 ++++++++++++++++++++++++++++++++++++--------------- lib/dvb_ci/dvbci.h | 12 ++- 2 files changed, 172 insertions(+), 67 deletions(-) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index 75250404..d088075c 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -18,6 +18,14 @@ #include +#undef CIDEBUG + +#ifdef CIDEBUG + #define eDebugCI(x...) eDebug(x) +#else + #define eDebugCI(x...) +#endif + eDVBCIInterfaces *eDVBCIInterfaces::instance = 0; eDVBCIInterfaces::eDVBCIInterfaces() @@ -101,9 +109,6 @@ int eDVBCIInterfaces::reset(int slotid) if( (slot = getSlot(slotid)) == 0 ) return -1; - eDVBCISession::deleteSessions(slot); - ciRemoved(slot); - return slot->reset(); } @@ -195,11 +200,13 @@ int eDVBCIInterfaces::cancelEnq(int slotid) 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) { @@ -209,9 +216,13 @@ void eDVBCIInterfaces::ciRemoved(eDVBCISlot *slot) 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; @@ -222,8 +233,10 @@ void eDVBCIInterfaces::ciRemoved(eDVBCISlot *slot) tmp->linked_next = 0; } slot->linked_next=0; + slot->user_mapped=false; } } + recheckPMTHandlers(); } static bool canDescrambleMultipleServices(int slotid) @@ -245,22 +258,39 @@ 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 service; eServiceReferenceDVB ref; + eDVBCISlot *tmp = it->cislot; eDVBServicePMTHandler *pmthandler = it->pmthandler; eDVBServicePMTHandler::program p; pmthandler->getServiceReference(ref); pmthandler->getService(service); + + eDebugCI("recheck %p %s", pmthandler, ref.toString().c_str()); + + // check if this pmt handler has already assigned CI(s) .. and this CI(s) are already running + 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::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; @@ -274,15 +304,18 @@ void eDVBCIInterfaces::recheckPMTHandlers() for (eSmartPtrList::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::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()); @@ -291,20 +324,19 @@ void eDVBCIInterfaces::recheckPMTHandlers() } 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::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; } } @@ -313,11 +345,11 @@ void eDVBCIInterfaces::recheckPMTHandlers() { for (CAID_LIST::iterator ca(caids.begin()); ca != caids.end(); ++ca) { - std::set::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; } } @@ -332,7 +364,8 @@ void eDVBCIInterfaces::recheckPMTHandlers() 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; } } @@ -341,47 +374,74 @@ void eDVBCIInterfaces::recheckPMTHandlers() 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()) @@ -432,8 +492,15 @@ void eDVBCIInterfaces::recheckPMTHandlers() 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; + } } } } @@ -520,9 +587,10 @@ void eDVBCIInterfaces::removePMTHandler(eDVBServicePMTHandler *pmthandler) 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 @@ -539,7 +607,9 @@ void eDVBCIInterfaces::gotPMT(eDVBServicePMTHandler *pmthandler) 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; } } @@ -551,7 +621,7 @@ int eDVBCIInterfaces::getMMIState(int slotid) if( (slot = getSlot(slotid)) == 0 ) return -1; - + return slot->getMMIState(); } @@ -659,25 +729,28 @@ PyObject *eDVBCIInterfaces::getDescrambleRules(int slotid) ePyObject caid_list = PyList_New(caids); ePyObject service_list = PyList_New(services); ePyObject provider_list = PyList_New(providers); - std::set::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::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::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); @@ -712,7 +785,7 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject) { 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; @@ -757,19 +830,41 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject) 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(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) @@ -820,14 +915,13 @@ void eDVBCISlot::data(int 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); } @@ -838,7 +932,7 @@ void eDVBCISlot::data(int what) 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); @@ -886,14 +980,19 @@ eDVBCISlot::eDVBCISlot(eMainloop *context, int nr) ca_manager = 0; use_count = 0; linked_next = 0; + user_mapped = false; 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); + eDebug("CI Slot %d has fd %d", getSlotID(), fd); state = stateInvalid; if (fd >= 0) @@ -932,7 +1031,7 @@ int eDVBCISlot::getSlotID() int eDVBCISlot::reset() { - eDebug("edvbcislot: reset requested"); + eDebug("CI Slot %d: reset requested", getSlotID()); if (state == stateInvalid) { @@ -955,7 +1054,7 @@ int eDVBCISlot::reset() int eDVBCISlot::startMMI() { - eDebug("edvbcislot: startMMI()"); + eDebug("CI Slot %d: startMMI()", getSlotID()); if(application_manager) application_manager->startMMI(); @@ -965,7 +1064,7 @@ int eDVBCISlot::startMMI() int eDVBCISlot::stopMMI() { - eDebug("edvbcislot: stopMMI()"); + eDebug("CI Slot %d: stopMMI()", getSlotID()); if(mmi_session) mmi_session->stopMMI(); @@ -975,7 +1074,7 @@ int eDVBCISlot::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); @@ -993,7 +1092,7 @@ int eDVBCISlot::getMMIState() 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); @@ -1003,7 +1102,7 @@ int eDVBCISlot::answerEnq(char *value) int eDVBCISlot::cancelEnq() { - eDebug("edvbcislot: cancelENQ"); + eDebug("CI Slot %d: cancelENQ", getSlotID()); if(mmi_session) mmi_session->cancelEnq(); @@ -1146,7 +1245,7 @@ int eDVBCISlot::setSource(data_source source) 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); @@ -1161,12 +1260,12 @@ int eDVBCISlot::setSource(data_source source) 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; } diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h index 4e3fcce2..c06ae7e3 100644 --- a/lib/dvb_ci/dvbci.h +++ b/lib/dvb_ci/dvbci.h @@ -38,6 +38,11 @@ enum data_source TUNER_A, TUNER_B, TUNER_C, TUNER_D, CI_A, CI_B, CI_C, CI_D }; +typedef std::pair providerPair; +typedef std::set providerSet; +typedef std::set caidSet; +typedef std::set serviceSet; + class eDVBCISlot: public iObject, public Object { friend class eDVBCIInterfaces; @@ -51,13 +56,14 @@ class eDVBCISlot: public iObject, public Object eDVBCICAManagerSession *ca_manager; eDVBCIMMISession *mmi_session; std::priority_queue sendqueue; - std::set possible_caids; - std::set possible_services; - std::set 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); public: enum {stateRemoved, stateInserted, stateInvalid, stateResetted}; -- cgit v1.2.3 From 8569882f5729e964e5871fd9b6f4a6bf8d4f2405 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 26 Feb 2009 02:20:09 +0100 Subject: fix pro7 'vpts did not increase when seeking'-bug --- lib/dvb/dvb.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 24609438..87e76305 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1026,11 +1026,6 @@ int eDVBChannelFilePush::filterRecordData(const unsigned char *_data, int len, s fts += 188; } - /* force payload only */ - ts[3] &= ~0x30; - ts[3] |= 0x10; - -// memset(ts + 4, 0xFF, (offset % 188) - 4); m_iframe_state = 1; } -- cgit v1.2.3 From db3985b36a8e42c4c9d560bc4efaa4ef75d48c56 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 26 Feb 2009 14:16:37 +0100 Subject: language update: pl,lt,sv,de,nl,tr,lv --- po/de.po | 341 +++++++++++++++++++++++++++++++++++++------------------ po/lt.po | 335 ++++++++++++++++++++++++++++++++++++------------------ po/lv.po | 385 +++++++++++++++++++++++++++++++++++++++++---------------------- po/nl.po | 257 ++++++++++++++++++++++++++++++------------ po/pl.po | 99 ++++++++++++---- po/sv.po | 220 ++++++++++++++++++++++++++---------- po/tr.po | 295 +++++++++++++++++++++++++++++++++--------------- 7 files changed, 1333 insertions(+), 599 deletions(-) mode change 100755 => 100644 po/de.po diff --git a/po/de.po b/po/de.po old mode 100755 new mode 100644 index 21c30885..6fc82571 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: tuxbox-enigma 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 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 \n" "Language-Team: none\n" @@ -23,62 +23,94 @@ msgid "" "\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 "" @@ -159,11 +191,13 @@ msgid "* Only available when entering hidden SSID or network key" msgstr "* Verfügbar für die Eingabe der Netzwerk SSID oder Passwortes" msgid ".NFI Download failed:" -msgstr "" +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" @@ -422,13 +456,13 @@ msgid "Advanced" 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" @@ -448,7 +482,7 @@ msgid "All" msgstr "Alle" msgid "All Satellites" -msgstr "" +msgstr "Alle Satelliten" msgid "Alpha" msgstr "Transparenz" @@ -462,9 +496,6 @@ msgstr "Tuner-Priorität bei Alternativen Services" 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!" @@ -475,7 +506,7 @@ msgid "" "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 "" @@ -565,23 +596,23 @@ msgid "Backup Mode" 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" @@ -691,7 +722,7 @@ msgid "Channel Selection" msgstr "Kanalliste" msgid "Channel not in services list" -msgstr "" +msgstr "Kanal nicht in der Kanalliste" msgid "Channel:" msgstr "Kanal:" @@ -718,10 +749,10 @@ msgid "Choose Tuner" 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" @@ -733,7 +764,7 @@ msgid "Choose target folder" 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" @@ -811,7 +842,7 @@ msgid "Conflicting timer" msgstr "In Konflikt stehender Timer" msgid "Connected to" -msgstr "" +msgstr "Verbunden mit" msgid "Connected to Fritz!Box!" msgstr "Mit Fritz!Box verbunden!" @@ -846,13 +877,15 @@ msgstr "Kontrast" 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" @@ -862,7 +895,7 @@ msgstr "Erzeugen des Film-Verzeichnisses fehlgeschlagen" #, python-format msgid "Creating directory %s failed." -msgstr "" +msgstr "Erzeugen des Verzeichnisses %s fehlgeschlagen." msgid "Creating partition failed" msgstr "Partitionserzeugung fehlgeschlagen" @@ -957,7 +990,7 @@ msgid "Description" msgstr "Beschreibung" msgid "Deselect" -msgstr "" +msgstr "Markierung aufheben" msgid "Destination directory" msgstr "Zielverzeichnis" @@ -988,7 +1021,7 @@ msgstr "Direkte Wiedergabe verknüpfter Titel ohne Menü" #, python-format msgid "Directory %s nonexistent." -msgstr "" +msgstr "Verzeichnis %s existiert nicht." msgid "Disable" msgstr "Aus" @@ -1025,7 +1058,7 @@ msgid "Display 4:3 content as" 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" @@ -1034,13 +1067,13 @@ 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 @@ -1051,7 +1084,7 @@ msgstr "Wollen Sie \"%s\" wirklich löschen?" 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" @@ -1062,11 +1095,11 @@ msgstr "" #, 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" @@ -1091,7 +1124,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1100,10 +1133,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1112,7 +1145,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1122,7 +1155,7 @@ msgstr "" "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?" @@ -1141,18 +1174,19 @@ msgstr "Beendet - %d installierte oder aktualisierte Pakete mit %d Fehlern" #, 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" @@ -1191,6 +1225,9 @@ msgstr "" msgid "Edit DNS" msgstr "Bearbeite DNS" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" msgstr "Titel schneiden" @@ -1281,7 +1318,7 @@ msgid "Enter Rewind at speed" 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:" @@ -1296,7 +1333,7 @@ msgid "Error" msgstr "Fehler" msgid "Error executing plugin" -msgstr "" +msgstr "Ausführen des plugins fehlgeschlagen" #, python-format msgid "" @@ -1400,7 +1437,7 @@ msgid "Flash" msgstr "" msgid "Flashing failed" -msgstr "" +msgstr "Flashen fehlgeschlagen" msgid "Format" msgstr "Formatieren" @@ -1433,7 +1470,7 @@ msgid "Friday" msgstr "Freitag" msgid "Frisian" -msgstr "" +msgstr "Friesisch" msgid "Fritz!Box FON IP address" msgstr "Fritz!Box FON IP-Adresse" @@ -1603,12 +1640,18 @@ msgid "Input" 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" @@ -1646,7 +1689,7 @@ msgstr "Fehlerhafter Ort" #, python-format msgid "Invalid directory selected: %s" -msgstr "" +msgstr "Ungültiges Verzeichnis ausgewählt: %s" msgid "Inversion" msgstr "Inversion" @@ -1712,6 +1755,9 @@ msgstr "DVD Player beenden?" 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 "" @@ -1786,7 +1832,7 @@ msgid "Make this mark just a mark" 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" @@ -1795,7 +1841,7 @@ msgid "Manual transponder" msgstr "Manueller Transponder" msgid "Manufacturer" -msgstr "" +msgstr "Hersteller" msgid "Margin after record" msgstr "Nachlauf hinter Aufnahme" @@ -1822,7 +1868,7 @@ msgid "Message" msgstr "Nachricht" msgid "Message..." -msgstr "" +msgstr "Nachricht..." msgid "Mkfs failed" msgstr "Mkfs fehlgeschlagen" @@ -1883,6 +1929,8 @@ msgstr "NÄCHSTE" 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" @@ -1969,7 +2017,7 @@ msgstr "" "Festplatte nicht initialisiert." msgid "No Networks found" -msgstr "" +msgstr "Keine Netzwerke gefunden" msgid "No backup needed" msgstr "Keine Sicherung benötigt" @@ -1982,6 +2030,9 @@ msgstr "" "(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." @@ -2096,6 +2147,8 @@ msgid "" "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" @@ -2191,7 +2244,7 @@ msgid "PiPSetup" msgstr "PiP-Einstellung" msgid "PicturePlayer" -msgstr "" +msgstr "Bildbetrachter" #. TRANSLATORS: (aspect ratio policy: black bars on left/right) in doubt, keep english term. msgid "Pillarbox" @@ -2209,6 +2262,12 @@ msgstr "Abspielen" msgid "Play Audio-CD..." msgstr "Audio-CD abspielen" +msgid "Play DVD" +msgstr "" + +msgid "Play Music..." +msgstr "" + msgid "Play recorded movies..." msgstr "Aufgenommene Filme abspielen..." @@ -2226,6 +2285,7 @@ msgstr "Bitte überprüfen Sie ihre Netzwerkeinstellungen" 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..." @@ -2260,7 +2320,7 @@ msgid "Please enter filename (empty = use current date)" 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" @@ -2283,7 +2343,7 @@ msgid "Please press OK!" 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..." @@ -2298,13 +2358,13 @@ msgid "Please select a subservice..." 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..." @@ -2338,7 +2398,7 @@ msgid "Please wait for activation of your network configuration..." 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..." @@ -2413,11 +2473,11 @@ msgid "Press OK to activate the settings." 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." @@ -2435,7 +2495,7 @@ msgid "Primary DNS" msgstr "Primärer DNS" msgid "Priority" -msgstr "" +msgstr "Priorität" msgid "Properties of current title" msgstr "Eigenschaften des ausgewählten Titels" @@ -2455,9 +2515,12 @@ msgstr "Zu durchsuchende Anbieter" msgid "Providers" msgstr "Anbieter" -msgid "Quick" +msgid "Python frontend for /tmp/mmi.socket" msgstr "" +msgid "Quick" +msgstr "Schnell" + msgid "Quickzap" msgstr "Schnellumschalter" @@ -2480,7 +2543,7 @@ msgid "Ram Disk" msgstr "Ramdisk" msgid "Random" -msgstr "" +msgstr "zufällig" msgid "Really close without saving settings?" msgstr "Änderungen gehen verloren. Wirklich schließen?" @@ -2501,7 +2564,7 @@ msgid "Really shutdown now?" msgstr "Wollen Sie trotzdem ausschalten?" msgid "Reboot" -msgstr "" +msgstr "Neustart" msgid "Reception Settings" msgstr "Empfangseinstellungen" @@ -2511,7 +2574,7 @@ msgstr "Aufnahme" #, 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..." @@ -2535,7 +2598,7 @@ msgid "Refresh rate selection." msgstr "Auswahl der Bildwiederholungsrate." msgid "Reload" -msgstr "" +msgstr "aktualisieren" msgid "Remove Bookmark" msgstr "Bookmark entfernen" @@ -2550,7 +2613,7 @@ msgid "Remove currently selected title" msgstr "entferne aktuell ausgewählten Titel" msgid "Remove finished." -msgstr "" +msgstr "Entfernen abgeschlossen." msgid "Remove plugins" msgstr "Plugins entfernen" @@ -2562,17 +2625,17 @@ msgid "Remove the incomplete .NFI file?" 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" @@ -2622,16 +2685,16 @@ msgid "Restore" 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 " @@ -2725,6 +2788,9 @@ msgstr "Skalierungsmodus" msgid "Scan " msgstr "Suche " +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "Durchsuche QAM128" @@ -2817,6 +2883,9 @@ msgstr "" msgid "Select HDD" msgstr "Festplattenauswahl" +msgid "Select IPKG source to edit..." +msgstr "" + msgid "Select Location" msgstr "Lokation auswählen" @@ -2836,10 +2905,10 @@ msgid "Select channel to record from" 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" @@ -2850,6 +2919,9 @@ msgstr "Wähle Bildwiederholrate" 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" @@ -2938,7 +3010,7 @@ msgid "Show Info" 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" @@ -3038,10 +3110,10 @@ msgid "Somewhere else" 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" @@ -3056,12 +3128,17 @@ msgid "" "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" @@ -3211,10 +3288,10 @@ msgid "Terrestrial provider" msgstr "Region" msgid "Test DiSEqC settings" -msgstr "" +msgstr "Teste DiSEqC Einstellungen" msgid "Test Type" -msgstr "" +msgstr "Testtyp" msgid "Test mode" msgstr "Testmodus" @@ -3267,6 +3344,9 @@ msgstr "" "\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 " @@ -3303,7 +3383,7 @@ msgstr "Das Paket enthält keine Daten" #, 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." @@ -3316,7 +3396,7 @@ msgstr "Die Pincodes unterscheiden sich." #, 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" @@ -3332,6 +3412,8 @@ msgid "" "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?" @@ -3356,6 +3438,9 @@ msgstr "" "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 "" @@ -3364,11 +3449,16 @@ 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 "" +"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 " @@ -3377,6 +3467,10 @@ msgstr "" "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!" @@ -3508,7 +3602,7 @@ msgid "Timeshift not possible!" msgstr "Timeshift nicht möglich!" msgid "Timeshift path..." -msgstr "" +msgstr "Timeshift Verzeichnis..." msgid "Timezone" msgstr "Zeitzone" @@ -3580,6 +3674,9 @@ msgstr "Suche benutzte Transponder im Kabel Netzwerk.. bitte warten..." 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" @@ -3614,7 +3711,7 @@ msgid "Two" msgstr "Zwei" msgid "Type" -msgstr "" +msgstr "Typ" msgid "Type of scan" msgstr "Art der Suche" @@ -3629,7 +3726,7 @@ msgid "USB Stick" msgstr "USB-Stick" msgid "USB stick wizard" -msgstr "" +msgstr "USB Stick Assistent" msgid "Ukrainian" msgstr "" @@ -3681,7 +3778,7 @@ 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?" @@ -3699,7 +3796,7 @@ msgid "Use DHCP" msgstr "Adresse automatisch beziehen (DHCP)" msgid "Use Interface" -msgstr "Netwerkadapter aktivieren" +msgstr "Netzwerkadapter aktivieren" msgid "Use Power Measurement" msgstr "Verwende Stromaufnahmen-Messung" @@ -3763,7 +3860,7 @@ msgid "VMGM (intro trailer)" msgstr "" msgid "Vertical" -msgstr "" +msgstr "Vertikal" msgid "Video Fine-Tuning" msgstr "Video-Feineinstellung" @@ -3798,9 +3895,18 @@ msgstr "" 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..." @@ -3901,12 +4007,18 @@ msgid "" "\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" @@ -3921,7 +4033,7 @@ msgid "Write failed!" msgstr "Schreiben fehlgeschlagen!" msgid "Writing NFI image file to flash completed" -msgstr "" +msgstr "Flash-Schreibvorgang der NFI Image Datei abgeschlossen." msgid "YPbPr" msgstr "YPbPr" @@ -4026,6 +4138,8 @@ msgid "" "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 " @@ -4064,9 +4178,6 @@ msgstr "" "\n" "Möchten Sie den Pincode nun setzen?" -msgid "Your collection exceeds the size of a single layer medium, you will need a blank dual layer DVD!" -msgstr "Die Zusammenstellung übersteigt die Kapazität eines normalen Single-Layer-Rohlings - es wird jetzt eine Dual-Layer-DVD benötigt!" - msgid "Your Dreambox will restart after pressing OK on your remote control." msgstr "" "Ihre Dreambox wird neu starten nachdem Sie OK auf Ihrer Fernbedienung " @@ -4082,6 +4193,11 @@ msgstr "" "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..." @@ -4111,17 +4227,17 @@ msgstr "" "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?" +"Öffnen der Motor-Einstellungen lief?" msgid "Zap back to service before satfinder?" msgstr "" "Zurückschalten zum Sender der vor dem\n" -"öffnen des Satfinders lief?" +"Öffnen des Satfinders lief?" msgid "[alternative edit]" msgstr "[Alternativen-Bearbeitung]" @@ -4229,19 +4345,19 @@ msgid "background image" 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)" @@ -4401,10 +4517,10 @@ msgid "exit networkadapter setup menu" msgstr "" msgid "failed" -msgstr "" +msgstr "fehlgeschlagen" msgid "fileformats (BMP, PNG, JPG, GIF)" -msgstr "" +msgstr "Dateiformate (BMP, PNG, JPG, GIF" msgid "filename" msgstr "Dateiname" @@ -4428,7 +4544,7 @@ msgid "go to standby" msgstr "schalte in Standby" msgid "green" -msgstr "" +msgstr "grün" msgid "hear radio..." msgstr "Radio hören..." @@ -4437,7 +4553,7 @@ msgid "help..." msgstr "Hilfe..." msgid "hidden network" -msgstr "" +msgstr "verstecktes Netzwerk" msgid "hide extended description" msgstr "erweiterte Beschreibung ausblenden" @@ -4592,7 +4708,7 @@ msgid "not locked" msgstr "Kein Signal" msgid "not used" -msgstr "" +msgstr "nicht verwendet" msgid "nothing connected" msgstr "Nichts angeschlossen" @@ -4640,10 +4756,10 @@ msgid "play entry" 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" @@ -4664,7 +4780,7 @@ msgid "recording..." msgstr "nimmt auf..." msgid "red" -msgstr "" +msgstr "rot" msgid "remove a nameserver entry" msgstr "DNS Servereintrag entfernen" @@ -4791,10 +4907,10 @@ msgid "show extended description" 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" @@ -4869,7 +4985,7 @@ msgid "swap PiP and main picture" msgstr "Tausche PiP mit Hauptbild" msgid "switch to bookmarks" -msgstr "" +msgstr "gehe zu bookmarks" msgid "switch to filelist" msgstr "In Dateiliste wechseln" @@ -4878,7 +4994,7 @@ msgid "switch to playlist" 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" @@ -4890,7 +5006,7 @@ msgid "template file" msgstr "" msgid "textcolor" -msgstr "" +msgstr "Textfarbe" msgid "this recording" msgstr "Diese Aufnahme" @@ -4944,7 +5060,7 @@ msgid "working" msgstr "" msgid "yellow" -msgstr "" +msgstr "gelb" msgid "yes" msgstr "ja" @@ -4967,10 +5083,10 @@ msgstr "umgeschaltet" #~ 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:" @@ -4978,6 +5094,9 @@ msgstr "umgeschaltet" #~ 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" diff --git a/po/lt.po b/po/lt.po index 1f7994f5..481b970c 100644 --- a/po/lt.po +++ b/po/lt.po @@ -2,8 +2,8 @@ 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: 2008-11-25 00:26+0200\n" +"POT-Creation-Date: 2009-02-26 14:15+0100\n" +"PO-Revision-Date: 2009-02-16 19:53+0200\n" "Last-Translator: Audronis, Grincevicius \n" "Language-Team: Adga / enigma2 (c) \n" "MIME-Version: 1.0\n" @@ -17,62 +17,94 @@ msgid "" "\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 adresus." + +msgid "" +"\n" +"Enigma2 will restart after the restore" +msgstr "" +"\n" +"Enigma2 iš naujo pasileis 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" +"Išsirinkite 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 " " @@ -147,10 +179,10 @@ msgid "(show optional DVD audio menu)" msgstr "(rodyti pasirenkamą DVD garso meniu)" msgid "* Only available if more than one interface is active." -msgstr "* Pasiekiamas tiktai, jei daugiau kaip vienas interfeisas yra aktyvus." +msgstr "* Pasiekiama tiktai, jei daugiau kaip viena sąsaja yra aktyvi." msgid "* Only available when entering hidden SSID or network key" -msgstr "* Pasiekiamas tiktai, surinkus paslėptą SSID ar tinklo raktą" +msgstr "* Pasiekiama tiktai, surinkus paslėptą SSID ar tinklo raktą" msgid ".NFI Download failed:" msgstr ".NFI parsisiuntimas klaidingas:" @@ -418,13 +450,13 @@ msgid "Advanced" msgstr "Išplėstinis" msgid "Advanced Options" -msgstr "" +msgstr "Išplėstiniai nustatymai" msgid "Advanced Video Setup" msgstr "Išplėstiniai vaizdo nustatymai" msgid "Advanced restore" -msgstr "" +msgstr "Išplėstinis atkūrimas" msgid "After event" msgstr "Po įvykio" @@ -457,9 +489,6 @@ msgstr "Kitų kanalų imtuvo pirmenybė" 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!" @@ -484,11 +513,15 @@ msgid "" "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" @@ -560,22 +593,22 @@ msgid "Backup Mode" msgstr "Išsaugojimo būdas" msgid "Backup done." -msgstr "" +msgstr "Atsarginė kopija padaryta." msgid "Backup failed." -msgstr "" +msgstr "Atsarginė kopija nepadaryta." 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 "Vykdoma atsarginė kopija " msgid "Backup running..." -msgstr "" +msgstr "Vykdoma atsarginė kopija..." msgid "Backup system settings" -msgstr "" +msgstr "Sisteminių nustatymų atsarginė kopija" msgid "Band" msgstr "Juosta" @@ -667,16 +700,16 @@ msgid "Change dir." msgstr "Pakeisti dir." msgid "Change pin code" -msgstr "Pakeisti PIN kodą" +msgstr "Pakeisti pin kodą" msgid "Change service pin" -msgstr "Pakeisti kanalo PIN" +msgstr "Pakeisti kanalo pin" msgid "Change service pins" msgstr "Pakeisti kanalo pins" msgid "Change setup pin" -msgstr "Pakeisti nustatymų PIN" +msgstr "Pakeisti nustatymų pin" msgid "Channel" msgstr "Kanalas" @@ -685,13 +718,13 @@ msgid "Channel Selection" msgstr "Kanalo pasirinkimas" msgid "Channel not in services list" -msgstr "" +msgstr "Kanalo nėra kanalų sąraše" msgid "Channel:" msgstr "Kanalas:" msgid "Channellist menu" -msgstr "Kanalų meniu sąrašas" +msgstr "Kanalų sąrašo meniu" msgid "Chap." msgstr "Skyr." @@ -712,10 +745,10 @@ msgid "Choose Tuner" msgstr "Išsirinkite imtuvą" msgid "Choose backup files" -msgstr "" +msgstr "Išsirinkite atsarginės kopijos failus" msgid "Choose backup location" -msgstr "" +msgstr "Išsirinkite atsarginės kopijos vietą" msgid "Choose bouquet" msgstr "Išsirinkite paketą" @@ -727,16 +760,16 @@ msgid "Choose target folder" msgstr "Išsirinkite aplanką" msgid "Choose upgrade source" -msgstr "" +msgstr "Išsirinkite 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" @@ -846,10 +879,10 @@ msgstr "Negalima užkrauti! Joks diskas neįdėtas?" #, 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 "Kurti DVD-ISO" msgid "Create movie folder failed" msgstr "Fimų aplanko sukurti nepavyko" @@ -951,7 +984,7 @@ msgid "Description" msgstr "Aprašymas" msgid "Deselect" -msgstr "" +msgstr "Nepasirinkti" msgid "Destination directory" msgstr "Direktorijos vieta" @@ -1019,7 +1052,7 @@ msgid "Display 4:3 content as" msgstr "Rodyti kaip 4:3 " msgid "Display >16:9 content as" -msgstr "" +msgstr "Monitorius> 16:9 turinys kaip" msgid "Display Setup" msgstr "Monitoriaus nustatymas" @@ -1089,7 +1122,7 @@ msgid "Do you want to install default sat lists?" msgstr "Jūs norite įdiegti numatytus palydovų sąrašus?" msgid "Do you want to install the package:\n" -msgstr "" +msgstr "Ar jūs norite įdiegti package:\n" msgid "Do you want to play DVD in drive?" msgstr "Jūs norite paleisti DVD?" @@ -1098,10 +1131,10 @@ msgid "Do you want to preview this DVD before burning?" msgstr "Jūs norite peržiūrėti šį DVD prieš išdeginimą?" msgid "Do you want to reboot your Dreambox?" -msgstr "" +msgstr "Ar jūs norite paleisti iš naujo Dreambox?" msgid "Do you want to remove the package:\n" -msgstr "" +msgstr "Ar jūs norite pašalinti paketą:\n" msgid "Do you want to restore your settings?" msgstr "Jūs norite atkurti nustatymus?" @@ -1110,7 +1143,7 @@ msgid "Do you want to resume this playback?" msgstr "Jūs norite tęsti šį atkūrimą?" msgid "Do you want to update your Dreambox?" -msgstr "" +msgstr "Ar jūs norite atnaujinti savo Dreambox?" msgid "" "Do you want to update your Dreambox?\n" @@ -1120,7 +1153,7 @@ msgstr "" "Spauskite OK ir palaukite!" msgid "Do you want to upgrade the package:\n" -msgstr "" +msgstr "Ar jūs norite atnaujinti paketą:\n" msgid "Do you want to view a tutorial?" msgstr "Ar norite peržiūrėti aprašymą?" @@ -1138,7 +1171,7 @@ msgstr "Baigta - Įdiegta arba atnaujinta %d paketų su %d klaidomis" #, 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" @@ -1189,6 +1222,9 @@ msgstr "Redaguoti" msgid "Edit DNS" msgstr "Redaguoti DNS" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" msgstr "Redaguoti pavadinimą" @@ -1429,7 +1465,7 @@ msgid "Friday" msgstr "Penktadienis" msgid "Frisian" -msgstr "" +msgstr "Frizų" msgid "Fritz!Box FON IP address" msgstr "Fritz!Box FON IP adresas" @@ -1500,7 +1536,7 @@ msgid "Hierarchy mode" msgstr "Hierarchijos režimas" msgid "Horizontal" -msgstr "" +msgstr "Horizontalus" msgid "How many minutes do you want to record?" msgstr "Kiek minučių norite daryti įrašą?" @@ -1598,12 +1634,18 @@ msgid "Input" 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 internetine naršykle" msgid "Install local IPKG" +msgstr "Įdiegti vietinį IPKG" + +msgid "Install settings, skins, software..." +msgstr "" + +msgid "Install software updates..." msgstr "" msgid "Installing" @@ -1650,7 +1692,7 @@ msgid "Invert display" msgstr "Monitoriaus pervertimas" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "Italų" @@ -1699,7 +1741,7 @@ msgid "Latitude" msgstr "Platuma" msgid "Latvian" -msgstr "" +msgstr "Latvių" msgid "Leave DVD Player?" msgstr "Išeiti iš DVD grotuvo?" @@ -1707,6 +1749,9 @@ msgstr "Išeiti iš DVD grotuvo?" msgid "Left" msgstr "Kairė" +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" @@ -1751,7 +1796,7 @@ msgid "Lock:" msgstr "Lock:" msgid "Log results to harddisk" -msgstr "" +msgstr "Log rezultatus į kietą diską" msgid "Long Keypress" msgstr "Ilgas mygtuko spaudimas" @@ -1781,7 +1826,7 @@ msgid "Make this mark just a mark" 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" @@ -1790,7 +1835,7 @@ msgid "Manual transponder" msgstr "Rankinis transponderis" msgid "Manufacturer" -msgstr "" +msgstr "Gamintojas" msgid "Margin after record" msgstr "Sujungti po įrašymo" @@ -1817,7 +1862,7 @@ msgid "Message" msgstr "Pranešimas" msgid "Message..." -msgstr "" +msgstr "Pranešimas..." msgid "Mkfs failed" msgstr "Mkfs nepavyko" @@ -1979,6 +2024,9 @@ msgstr "" msgid "No details for this image file" msgstr "Nėra informacijos apie šį atvaizdą" +msgid "No displayable files on this medium found!" +msgstr "" + msgid "No event info found, recording indefinitely." msgstr "Informacija apie įvykius nerasta, tęsiamas įrašymas." @@ -2060,9 +2108,9 @@ msgid "" " Please verify that you have attached a compatible WLAN device or enable " "your local network interface." msgstr "" -"Joks veikiantis belaidžio tinklo interfeisas nerastas.\n" -"Prašome patikrinti, kad jūs pridėjote suderinamą WLAN prietaisą ar įjungėte " -"jūsų vietinio tinklo interfeisą." +"Jokia veikianti belaidžio tinklo sąsaja nerasta.\n" +"Prašome patikrinti, ar jūs pridėjote suderinamą WLAN prietaisą ar įjungėte " +"jūsų vietinio tinklo sąsają." msgid "No, but restart from begin" msgstr "Ne, paleisti nuo pradžių" @@ -2159,7 +2207,7 @@ msgid "Packet management" msgstr "Paketų valdymas" msgid "Packet manager" -msgstr "" +msgstr "Paketų valdymas" msgid "Page" msgstr "Puslapis" @@ -2208,6 +2256,12 @@ msgstr "Leisti" msgid "Play Audio-CD..." msgstr "Paleisti Garso-CD..." +msgid "Play DVD" +msgstr "" + +msgid "Play Music..." +msgstr "" + msgid "Play recorded movies..." msgstr "Leisti įrašytus filmus..." @@ -2300,6 +2354,7 @@ msgstr "Prašome išsirinkti subkanalą..." msgid "Please select medium to use as backup location" msgstr "" +"Prašome išsirinkti media, kurią naudosite kaip vietą atsarginei kopijai" msgid "Please select tag to filter..." msgstr "Prašome išsirinkti kortelę filtravimui..." @@ -2339,7 +2394,7 @@ msgid "Please wait for activation of your network configuration..." 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..." @@ -2418,7 +2473,7 @@ msgstr "Spauskite OK ir redaguokite nustatymus." #, python-format msgid "Press OK to get further details for %s" -msgstr "" +msgstr "Spauskite OK, kad gauti tolimesnes detales dėl %s" msgid "Press OK to scan" msgstr "Spauskite OK paieškai." @@ -2436,7 +2491,7 @@ msgid "Primary DNS" msgstr "Pirminis DNS" msgid "Priority" -msgstr "" +msgstr "Pirmenybė" msgid "Properties of current title" msgstr "Dabartinio pavadinimo ypatybės" @@ -2456,9 +2511,12 @@ msgstr "Tiekėjas, kurį norite skanuoti" msgid "Providers" msgstr "Tiekėjai" -msgid "Quick" +msgid "Python frontend for /tmp/mmi.socket" msgstr "" +msgid "Quick" +msgstr "Greitas" + msgid "Quickzap" msgstr "Greitas perjungimas" @@ -2481,7 +2539,7 @@ msgid "Ram Disk" msgstr "Ram Diskas" msgid "Random" -msgstr "" +msgstr "Atsitiktinis" msgid "Really close without saving settings?" msgstr "Tikrai uždaryti be nustatymų išsaugojimo ?" @@ -2512,7 +2570,7 @@ msgstr "Įrašyti" #, 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..." @@ -2536,7 +2594,7 @@ msgid "Refresh rate selection." msgstr "Atnaujinkite normos pasirinkimą" msgid "Reload" -msgstr "" +msgstr "Užkrauti" msgid "Remove Bookmark" msgstr "Pašalinti žymę" @@ -2551,7 +2609,7 @@ msgid "Remove currently selected title" msgstr "Pašalinkite dabartinį pasirinktą pavadinimą" msgid "Remove finished." -msgstr "" +msgstr "Pašalinimas baigtas." msgid "Remove plugins" msgstr "Pašalinti priedus" @@ -2563,13 +2621,13 @@ msgid "Remove the incomplete .NFI file?" msgstr "Pašalinti neužbaigtą .NFI failą?" msgid "Remove timer" -msgstr "" +msgstr "Pašalinti laikmatį" msgid "Remove title" msgstr "Pašalinti " msgid "Removing" -msgstr "" +msgstr "Pašalinama" #, python-format msgid "Removing directory %s failed. (Maybe not empty.)" @@ -2621,16 +2679,16 @@ msgid "Restore" msgstr "Atkurti" msgid "Restore backups..." -msgstr "" +msgstr "Atkurti atsargines kopijas..." msgid "Restore running" -msgstr "" +msgstr "Vykdomas atkūrimas" msgid "Restore running..." -msgstr "" +msgstr "Vykdomas atkūrimas..." msgid "Restore system settings" -msgstr "" +msgstr "Atkurti sisteminius nustatymus" msgid "" "Restoring the settings is done. Please press OK to activate the restored " @@ -2724,6 +2782,9 @@ msgstr "Skalės režimas" msgid "Scan " msgstr "Skanuoti" +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "Skanuoti QAM128" @@ -2813,46 +2874,52 @@ msgid "Seek" msgstr "Ieškoti" msgid "Select" -msgstr "" +msgstr "Pasirinkti" msgid "Select HDD" -msgstr "Pasirinkite kietą diską" +msgstr "Išsirinkite kietą diską" + +msgid "Select IPKG source to edit..." +msgstr "" msgid "Select Location" -msgstr "Pasirinkite vietą" +msgstr "Išsirinkite vietą" msgid "Select Network Adapter" -msgstr "Pasirinkite tinklo adapterį" +msgstr "Išsirinkite tinklo adapterį" msgid "Select a movie" -msgstr "Pasirinkite filmą" +msgstr "Išsirinkite filmą" msgid "Select audio mode" -msgstr "Pasirinkite garsą" +msgstr "Išsirinkite garsą" msgid "Select audio track" -msgstr "Pasirinkite garso takelį" +msgstr "Išsirinkite garso takelį" msgid "Select channel to record from" -msgstr "Pasirinkite kanalą įrašymui" +msgstr "Išsirinkite kanalą įrašymui" msgid "Select files for backup. Currently selected:\n" -msgstr "" +msgstr "Išsirinkite failus atsarginei kopijai. Dabar pasirinkta:\n" msgid "Select files/folders to backup..." -msgstr "" +msgstr "Išsirinkite failus/aplankus atsarginei kopijai..." msgid "Select image" msgstr "Išsirinkite atvaizdą" msgid "Select refresh rate" -msgstr "Pasirinkite atnujinimo normą" +msgstr "Išsirinkite atnaujinimo normą" msgid "Select video input" -msgstr "Pasirinkite vaizdo įėjimą" +msgstr "Išsirinkite vaizdo įėjimą" + +msgid "Select video input with up/down buttons" +msgstr "" msgid "Select video mode" -msgstr "Pasirinkite vaizdo būdą" +msgstr "Išsirinkite vaizdo būdą" msgid "Selected source image" msgstr "Išsirinktas šaltinio atvaizdas" @@ -2921,7 +2988,7 @@ msgid "Set as default Interface" msgstr "Pasirinkti numatytą sąsają" msgid "Set interface as default Interface" -msgstr "Nustatytas interfeisas kaip numatytas interfeisas" +msgstr "Nustatyta sąsaja, kaip numatyta sąsaja" msgid "Set limits" msgstr "Nustatykite ribas" @@ -3021,16 +3088,16 @@ msgid "Slow Motion speeds" 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" @@ -3039,10 +3106,10 @@ msgid "Somewhere else" 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, atsarginių kopijų nerasta!" msgid "" "Sorry your Backup destination does not exist\n" @@ -3051,18 +3118,23 @@ msgid "" msgstr "" "Atsiprašome, bet nurodytos atsarginės kopijos čia nėra.\n" "\n" -"Pasirinkite prašome kitą!" +"Prašome išsirinkti 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" @@ -3133,10 +3205,10 @@ msgid "Stop test" msgstr "Stabdyti testavimą" msgid "Stop testing plane after # failed transponders" -msgstr "" +msgstr "Stabdykite bandymą po to kai # klaidingi transponderiai" msgid "Stop testing plane after # successful transponders" -msgstr "" +msgstr "Stabdykite bandymą po to kai # sėkmingi transponderiai" msgid "Store position" msgstr "Išsaugoti padėtį" @@ -3212,10 +3284,10 @@ msgid "Terrestrial provider" msgstr "Antžeminis tiekėjas" msgid "Test DiSEqC settings" -msgstr "" +msgstr "Bandyti DiSEqC nustatymus" msgid "Test Type" -msgstr "" +msgstr "Bandymo tipas" msgid "Test mode" msgstr "Testuoti" @@ -3251,7 +3323,7 @@ msgstr "" "atvaizdą iš perdavimo serverio ir išsaugoti tai prietaise?" msgid "The backup failed. Please choose a different backup location." -msgstr "Išsaugoti nepavyko. Pasirinkite kitą vietą išsaugojimui. " +msgstr "Išsaugoti nepavyko. Išsirinkite kitą vietą išsaugojimui. " #, python-format msgid "" @@ -3267,6 +3339,9 @@ msgstr "" "\n" "Jūs norite įrašyti USB diegėją į šį raktelį?" +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 " @@ -3320,7 +3395,7 @@ msgstr "Surinkti PIN kodai skiriasi." #, 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." @@ -3360,6 +3435,9 @@ msgstr "" "Gali trukti laisvos vietos pasirinktame skaidinyje.\n" "Ar norite tęsti?" +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 "Šis .NFI failas neturi galiojančio %s atvaizdo!" @@ -3385,6 +3463,10 @@ msgstr "" "Š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 "" + #, python-format msgid "This Dreambox can't decode %s video streams!" msgstr "Šis Dreambox negali iškoduoti %s vaizdo srautų!" @@ -3590,6 +3672,9 @@ msgid "Try to find used transponders in cable network.. please wait..." msgstr "" "Pabandykite surasti Transponderius kabeliniuose tinkluose.. prašome laukti..." +msgid "Trying to download a new packetlist. Please wait..." +msgstr "" + msgid "Tue" msgstr "Ant" @@ -3624,7 +3709,7 @@ msgid "Two" msgstr "Du" msgid "Type" -msgstr "" +msgstr "Tipas" msgid "Type of scan" msgstr "Skanavimo būdas" @@ -3662,13 +3747,13 @@ msgid "Uncommitted DiSEqC command" 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" @@ -3689,7 +3774,7 @@ msgid "Updating... Please wait... This can take some minutes..." 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ą?" @@ -3771,7 +3856,7 @@ msgid "VMGM (intro trailer)" msgstr "VMGM (įvadas)" msgid "Vertical" -msgstr "" +msgstr "Vertikalus" msgid "Video Fine-Tuning" msgstr "Tikslus vaizdo suderinimas" @@ -3806,9 +3891,18 @@ msgstr "" msgid "Video mode selection." msgstr "Vaizdo būdo pasirinkimas." +msgid "View Movies..." +msgstr "" + +msgid "View Photos..." +msgstr "" + msgid "View Rass interactive..." msgstr "Žiūrėti Rass interaktyviai..." +msgid "View Video CD..." +msgstr "" + msgid "View teletext..." msgstr "Žiūrėti teletekstą..." @@ -3874,7 +3968,7 @@ msgstr "" "Ieškokite pradžios, kurią jūs norite iškirpti. Spauskite OK, išsirinkite ' " "iškirpimo pradžią'.\n" "\n" -"Tada ieškokite pabaigos, spauskite OK, pasirinkite 'iškirpimo pabaigą'. Štai " +"Tada ieškokite pabaigos, spauskite OK, Išsirinkite 'iškirpimo pabaigą'. Štai " "ir viskas." msgid "" @@ -3915,6 +4009,13 @@ msgid "" "\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ą?" @@ -4040,6 +4141,8 @@ msgid "" "You have chosen to backup your settings. Please press OK to start the backup " "now." msgstr "" +"Jūs nusprendėte padaryti savo nustatymų atsarginę kopiją. Prašome spausti " +"OK, kad pradėtumėte atsarginės kopijos darymą." msgid "" "You have chosen to create a new .NFI flasher bootable USB stick. This will " @@ -4052,6 +4155,8 @@ msgid "" "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!" @@ -4090,6 +4195,11 @@ msgid "" "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 "" + msgid "Your dreambox is shutting down. Please stand by..." msgstr "Jūsų imtuvas išsijungia. Būkite šalia..." @@ -4117,9 +4227,9 @@ msgid "" "Do you want to disable the second network interface?" msgstr "" "Jūsų tinklo konfigūracija aktyvuota.\n" -"Rastas antras sukonfigūruotas interfeisas.\n" +"Rasta antra sukonfigūruota sąsaja.\n" "\n" -"Jūs norite išjungti antrą tinklo interfeisą?" +"Jūs norite išjungti antrą tinklo sąsają?" msgid "Zap back to service before positioner setup?" msgstr "Perjungti atgal į kanalą po pozicionieriaus nustatymo?" @@ -4182,7 +4292,7 @@ msgid "add recording (enter recording duration)" msgstr "pridėti įrašą (įrašykite įrašo ilgį)" msgid "add recording (enter recording endtime)" -msgstr "pridėti įrašymą (įrašykite įrašymo pabaigos laiką) " +msgstr "pridėti įrašą (įrašykite įrašymo pabaigos laiką) " msgid "add recording (indefinitely)" msgstr "pridėti įrašą (identišką)" @@ -4224,7 +4334,7 @@ msgid "audio tracks" msgstr "garso takeliai" msgid "auto" -msgstr "" +msgstr "auto" msgid "back" msgstr "atgal" @@ -4261,7 +4371,7 @@ msgid "chapters" msgstr "skyriai" msgid "choose destination directory" -msgstr "pasirinkite direktoriją" +msgstr "Išsirinkite direktoriją" msgid "circular left" msgstr "apskritiminė kairė" @@ -4399,7 +4509,7 @@ msgid "exit network adapter setup menu" msgstr "išeiti iš tinklo adapterio nustatymų meniu" msgid "exit network interface list" -msgstr "išeiti iš tinklo interfeiso sąrašo" +msgstr "išeiti iš tinklo sąsajos sąrašo" msgid "exit networkadapter setup menu" msgstr "išeiti iš tinklo adapterio nustatymų meniu" @@ -4596,7 +4706,7 @@ msgid "not locked" msgstr "neužrakintas" msgid "not used" -msgstr "" +msgstr "nenaudojama" msgid "nothing connected" msgstr "niekas nepajungta" @@ -4756,16 +4866,16 @@ msgid "select image from server" msgstr "išsirinkite atvaizdą iš serverio" msgid "select interface" -msgstr "išsrinkite interfeisą" +msgstr "išsrinkite sąsają" msgid "select menu entry" msgstr "išsirinkite meniu įėjimą" msgid "select movie" -msgstr "pasirinkite filmą" +msgstr "išsirinkite filmą" msgid "select the movie path" -msgstr "pasirinkite filmo kelią" +msgstr "išsirinkite filmo kelią" msgid "service pin" msgstr "kanalo PIN" @@ -4882,7 +4992,7 @@ msgid "switch to playlist" 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į" @@ -4891,7 +5001,7 @@ msgid "switch to the next subtitle language" msgstr "perjungti į kitą subtitrų kalbą" msgid "template file" -msgstr "" +msgstr "šablono failas" msgid "textcolor" msgstr "teksto spalva" @@ -4945,7 +5055,7 @@ msgid "whitelist" msgstr "baltas sąrašas" msgid "working" -msgstr "" +msgstr "dirba" msgid "yellow" msgstr "geltonas" @@ -4971,10 +5081,10 @@ msgstr "įjungta" #~ 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 "\"?" #~ msgstr "\"?" @@ -5007,6 +5117,9 @@ msgstr "įjungta" #~ msgid "An error has occured. (%s)" #~ msgstr "Įvyko klaida. (%s)" +#~ msgid "An error occured!" +#~ msgstr "Įvyko klaida!" + #~ msgid "" #~ "Are you sure you want to enable WLAN support?\n" #~ "Connect your Wlan USB Stick to your Dreambox and press OK.\n" diff --git a/po/lv.po b/po/lv.po index 03362751..ee5fae4a 100644 --- a/po/lv.po +++ b/po/lv.po @@ -2,8 +2,8 @@ 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-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 \n" "Language-Team: Ivo / enigma2 (c) \n" "MIME-Version: 1.0\n" @@ -17,62 +17,94 @@ msgid "" "\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 " " @@ -327,14 +359,14 @@ msgid "" "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 "" @@ -412,8 +444,8 @@ 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." @@ -421,13 +453,13 @@ msgid "Advanced" 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" @@ -462,9 +494,6 @@ msgstr "Alternatīvo uztvērēju prioritātes" 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!" @@ -489,11 +518,15 @@ msgid "" "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" @@ -566,22 +599,22 @@ msgid "Backup Mode" 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" @@ -600,7 +633,7 @@ msgid "Behavior of 0 key in PiP-mode" 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" @@ -722,10 +755,10 @@ msgid "Choose Tuner" 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" @@ -737,7 +770,7 @@ msgid "Choose target folder" 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" @@ -853,7 +886,7 @@ msgid "Could not connect to Dreambox .NFI Image Feed Server:" 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" @@ -962,8 +995,9 @@ msgstr "" msgid "Description" msgstr "Apraksts" +# ??? msgid "Deselect" -msgstr "" +msgstr "Neizvēlēties" msgid "Destination directory" msgstr "Galamērķa mape" @@ -1104,7 +1138,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1113,10 +1147,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1125,7 +1159,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1135,7 +1169,7 @@ msgstr "" "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?" @@ -1145,15 +1179,16 @@ msgstr "Neapturēt pašreizējo notikumu bet izslēgt nākamos notikumus" #, 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" @@ -1205,6 +1240,9 @@ msgstr "Rediģēt" msgid "Edit DNS" msgstr "Rediģēt DNS" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" msgstr "Rediģēt nosaukumu" @@ -1311,7 +1349,7 @@ msgid "Error" msgstr "Kļūda" msgid "Error executing plugin" -msgstr "Kļūda palaižot spraudni" +msgstr "Kļūda, palaižot spraudni" #, python-format msgid "" @@ -1467,8 +1505,8 @@ 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" @@ -1547,7 +1585,7 @@ msgid "" "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 " @@ -1574,7 +1612,7 @@ msgid "Image flash utility" 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" @@ -1582,7 +1620,7 @@ 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" @@ -1615,12 +1653,18 @@ msgid "Input" 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" @@ -1667,7 +1711,7 @@ msgid "Invert display" msgstr "Inverss displejs" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "Itāļu" @@ -1716,7 +1760,7 @@ msgid "Latitude" msgstr "Platums" msgid "Latvian" -msgstr "" +msgstr "Latviešu" msgid "Leave DVD Player?" msgstr "Iziet no DVD atskaņotāja?" @@ -1724,6 +1768,9 @@ 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" @@ -1789,16 +1836,16 @@ msgid "Mainmenu" 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" @@ -1894,7 +1941,7 @@ msgid "NEXT" 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" @@ -1994,6 +2041,9 @@ msgstr "" 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." @@ -2002,7 +2052,7 @@ msgstr "Nav brīva uztvērēja!" 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." @@ -2122,7 +2172,7 @@ msgid "" "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." @@ -2130,7 +2180,7 @@ msgid "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" @@ -2166,10 +2216,10 @@ msgid "Package list update" 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" @@ -2218,6 +2268,12 @@ msgstr "Atskaņot" 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..." @@ -2225,7 +2281,7 @@ msgid "Please Reboot" 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" @@ -2250,12 +2306,12 @@ msgid "" "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" @@ -2285,11 +2341,11 @@ msgid "" "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!" @@ -2310,7 +2366,7 @@ msgid "Please select a subservice..." 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..." @@ -2335,19 +2391,19 @@ msgid "" "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..." @@ -2359,7 +2415,7 @@ msgid "Please wait while your network is restarting..." 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..." @@ -2407,7 +2463,6 @@ msgstr "Pozicioniera kustība" msgid "Positioner setup" msgstr "Pozicioniera iestatne" -# ??? msgid "Positioner storage" msgstr "Pozicioniera atmiņa" @@ -2421,23 +2476,23 @@ msgid "Preparing... Please wait" 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" @@ -2451,7 +2506,6 @@ msgstr "Primārā DNS" msgid "Priority" msgstr "Prioritāte" -# ??? msgid "Properties of current title" msgstr "Aktīvā nosaukuma parametri" @@ -2470,6 +2524,9 @@ msgstr "Operators, kuru vēlaties meklēt" msgid "Providers" msgstr "Operatori" +msgid "Python frontend for /tmp/mmi.socket" +msgstr "" + msgid "Quick" msgstr "Ātrais" @@ -2535,7 +2592,7 @@ msgid "Recording" 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" @@ -2550,7 +2607,7 @@ msgid "Refresh rate selection." msgstr "Atjaunināšanas ātruma izvēle." msgid "Reload" -msgstr "" +msgstr "Pārlādēt" msgid "Remove Bookmark" msgstr "Dzēst grāmatzīmi" @@ -2565,7 +2622,7 @@ msgid "Remove currently selected title" msgstr "Dzēst pašreiz atlasīto virsrakstu" msgid "Remove finished." -msgstr "" +msgstr "Dzēst pabeigtos." msgid "Remove plugins" msgstr "Dzēst spraudņus" @@ -2583,11 +2640,11 @@ msgid "Remove title" 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" @@ -2635,22 +2692,22 @@ msgid "Restore" 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" @@ -2739,6 +2796,9 @@ msgstr "Mērogošanas režīms" msgid "Scan " msgstr "Meklēt " +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "Meklēt QAM128" @@ -2767,40 +2827,40 @@ msgid "Scan additional SR" 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 " @@ -2828,11 +2888,14 @@ msgid "Seek" 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" @@ -2852,10 +2915,10 @@ msgid "Select channel to record from" 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" @@ -2866,6 +2929,9 @@ msgstr "Izvēlēties atsvaidzes intensitāti" 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" @@ -2959,7 +3025,7 @@ msgid "Show WLAN Status" 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" @@ -3041,16 +3107,16 @@ msgid "Slow Motion speeds" 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" @@ -3059,10 +3125,10 @@ msgid "Somewhere else" 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" @@ -3071,12 +3137,14 @@ msgid "" 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" @@ -3287,6 +3355,9 @@ msgstr "" "\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" @@ -3380,6 +3451,9 @@ msgstr "" "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!" @@ -3396,7 +3470,7 @@ msgid "" "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 " @@ -3405,6 +3479,10 @@ msgstr "" "Š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!" @@ -3463,11 +3541,11 @@ msgstr "" "Š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." @@ -3556,7 +3634,7 @@ msgid "" "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ā " @@ -3605,6 +3683,9 @@ msgstr "Mēģina atrast izmantotus transponderus kabeļu tīklā.. lūdzu gaidie 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" @@ -3705,10 +3786,10 @@ msgid "Updating... Please wait... This can take some minutes..." 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" @@ -3757,7 +3838,7 @@ msgid "" "\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" @@ -3765,7 +3846,7 @@ msgid "" "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." # ??? @@ -3773,7 +3854,7 @@ msgid "Use usals for this sat" 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" @@ -3782,7 +3863,7 @@ msgid "User defined" msgstr "Lietotāja definēts" msgid "VCR scart" -msgstr "VCR skart savienojums" +msgstr "VCR scart savienojums" msgid "VMGM (intro trailer)" msgstr "VMGM (ievada treileris)" @@ -3822,10 +3903,19 @@ msgstr "" 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..." @@ -3867,7 +3957,7 @@ msgstr "" "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" @@ -3890,9 +3980,9 @@ msgstr "" "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 "" @@ -3900,9 +3990,9 @@ 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" @@ -3932,6 +4022,11 @@ msgid "" "\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?" @@ -4001,7 +4096,7 @@ msgid "You can choose, what you want to install..." 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." @@ -4016,7 +4111,7 @@ msgstr "" 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 "" @@ -4033,9 +4128,9 @@ 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" @@ -4043,19 +4138,21 @@ msgid "" 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 " @@ -4068,10 +4165,12 @@ msgid "" "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, " @@ -4084,7 +4183,7 @@ msgstr "" "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" @@ -4105,9 +4204,14 @@ msgid "" "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..." @@ -4115,14 +4219,15 @@ msgid "" "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." @@ -4426,7 +4531,7 @@ msgid "failed" 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" @@ -4752,7 +4857,7 @@ msgstr "meklēšana pabeigta!" #, 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" @@ -4991,14 +5096,17 @@ msgstr "pārslēgts" #~ 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" @@ -5062,6 +5170,15 @@ msgstr "pārslēgts" #~ 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" diff --git a/po/nl.po b/po/nl.po index a61d7f60..367b14e4 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,10 +6,10 @@ msgid "" 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 \n" -"Language-Team: none \n" +"POT-Creation-Date: 2009-02-26 14:15+0100\n" +"PO-Revision-Date: 2009-02-18 00:35+0100\n" +"Last-Translator: \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -22,62 +22,92 @@ msgid "" "\n" "Advanced options and settings." msgstr "" +"\n" +"Geavanceerde opties en instellingen." msgid "" "\n" "After pressing OK, please wait!" msgstr "" +"\n" +"Druk op OK en eventjes geduld!" msgid "" "\n" "Backup your Dreambox settings." msgstr "" +"\n" +"Backup 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 "" 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" +"Herstellen 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 " " @@ -422,13 +452,13 @@ msgid "Advanced" 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" @@ -461,9 +491,6 @@ msgstr "Alternatieve tuner prioriteit" 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!" @@ -474,7 +501,7 @@ msgid "" "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 "" @@ -488,11 +515,15 @@ 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 herstellen?\n" +"Enigma2 zal herstarten na het terugzetten" msgid "Artist" msgstr "Artiest" @@ -555,31 +586,31 @@ msgid "Background" 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" @@ -715,13 +746,13 @@ msgid "Checking Filesystem..." 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" @@ -733,16 +764,16 @@ msgid "Choose target folder" 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" @@ -852,7 +883,7 @@ msgstr "Kan medium niet laden! Geen disk in speler?" #, 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" @@ -957,7 +988,7 @@ msgid "Description" msgstr "Omschrijving" msgid "Deselect" -msgstr "" +msgstr "Deselecteer" msgid "Destination directory" msgstr "Doel map" @@ -1025,7 +1056,7 @@ msgid "Display 4:3 content as" msgstr "4:3 materiaal weergeven als" msgid "Display >16:9 content as" -msgstr "" +msgstr "Weergave >16:9 toon als" msgid "Display Setup" msgstr "Display instellingen" @@ -1095,7 +1126,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1104,10 +1135,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1116,7 +1147,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1126,7 +1157,7 @@ msgstr "" "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?" @@ -1145,6 +1176,7 @@ msgstr "Klaar - %d paket(ten) geïnstalleerd of vervangen. %d fout(en)" #, 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" @@ -1195,8 +1227,11 @@ msgstr "Bewerk" msgid "Edit DNS" msgstr "DNS wijzigen" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" -msgstr "Bewerk Titel" +msgstr "Wijzig Titel" msgid "Edit chapters of current title" msgstr "Wijzig hoofdstuk van de huidige titel" @@ -1506,7 +1541,7 @@ msgid "Hierarchy mode" msgstr "Hiërarchie modus" msgid "Horizontal" -msgstr "" +msgstr "Horizontaal" msgid "How many minutes do you want to record?" msgstr "Hoeveel minuten wilt u opnemen?" @@ -1602,12 +1637,18 @@ msgid "Input" 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 "Installeer lokale IPKG" + +msgid "Install settings, skins, software..." +msgstr "" + +msgid "Install software updates..." msgstr "" msgid "Installing" @@ -1654,7 +1695,7 @@ msgid "Invert display" msgstr "Inverteer display" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "Italiaans" @@ -1703,7 +1744,7 @@ msgid "Latitude" msgstr "Breedtegraad" msgid "Latvian" -msgstr "" +msgstr "Lets" msgid "Leave DVD Player?" msgstr "DVD speler afsluiten?" @@ -1711,6 +1752,9 @@ msgstr "DVD speler afsluiten?" 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 "Letterbox" @@ -1785,7 +1829,7 @@ msgid "Make this mark just a mark" msgstr "Universele markering" msgid "Manage your receiver's software" -msgstr "" +msgstr "Beheer uw ontvanger software" msgid "Manual Scan" msgstr "Handmatig zoeken" @@ -1794,7 +1838,7 @@ msgid "Manual transponder" msgstr "Transponder handmatig" msgid "Manufacturer" -msgstr "" +msgstr "Fabrikant" msgid "Margin after record" msgstr "Marge na afloop opname (minuten)" @@ -1981,6 +2025,9 @@ msgstr "" msgid "No details for this image file" msgstr "Geen details voor dit bestand:" +msgid "No displayable files on this medium found!" +msgstr "" + msgid "No event info found, recording indefinitely." msgstr "Geen EPG gegevens gevonden. Opname voor onbepaalde tijd." @@ -2159,7 +2206,7 @@ msgid "Packet management" msgstr "Pakket beheer" msgid "Packet manager" -msgstr "" +msgstr "Pakket manager" msgid "Page" msgstr "Pagina" @@ -2208,6 +2255,12 @@ msgstr "Afspelen" msgid "Play Audio-CD..." msgstr "Speel Muziek-CD" +msgid "Play DVD" +msgstr "" + +msgid "Play Music..." +msgstr "" + msgid "Play recorded movies..." msgstr "Opname afspelen..." @@ -2300,7 +2353,7 @@ msgid "Please select a subservice..." 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..." @@ -2457,6 +2510,9 @@ msgstr "Zoek op provider" msgid "Providers" msgstr "Providers" +msgid "Python frontend for /tmp/mmi.socket" +msgstr "" + msgid "Quick" msgstr "Snel" @@ -2513,7 +2569,7 @@ msgstr "Opname" #, 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..." @@ -2537,7 +2593,7 @@ msgid "Refresh rate selection." msgstr "Herhalingsfrequentie selectie" msgid "Reload" -msgstr "" +msgstr "Herlaad" msgid "Remove Bookmark" msgstr "Markeerpunt verwijderen" @@ -2552,7 +2608,7 @@ msgid "Remove currently selected title" msgstr "De momenteel geselecteerde titel verwijderen" msgid "Remove finished." -msgstr "" +msgstr "Verwijderen voltooid." msgid "Remove plugins" msgstr "Verwijderen" @@ -2570,7 +2626,7 @@ msgid "Remove title" msgstr "Titel verwijderen" msgid "Removing" -msgstr "" +msgstr "Verwijderen" #, python-format msgid "Removing directory %s failed. (Maybe not empty.)" @@ -2622,16 +2678,16 @@ msgid "Restore" 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 " @@ -2725,6 +2781,9 @@ msgstr "Schaalmodus" msgid "Scan " msgstr "Zoeken" +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "Zoek QAM128" @@ -2813,11 +2872,14 @@ msgid "Seek" msgstr "Zoeken" msgid "Select" -msgstr "" +msgstr "Selecteer" msgid "Select HDD" msgstr "Kies harde schijf" +msgid "Select IPKG source to edit..." +msgstr "" + msgid "Select Location" msgstr "Selecteer locatie" @@ -2837,10 +2899,10 @@ msgid "Select channel to record from" 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" @@ -2851,6 +2913,9 @@ msgstr "Selecteer herhalingsfrequentie" msgid "Select video input" msgstr "Selecteer video ingang" +msgid "Select video input with up/down buttons" +msgstr "" + msgid "Select video mode" msgstr "Selecteer video modus" @@ -3021,16 +3086,16 @@ msgid "Slow Motion speeds" msgstr "Stap snelheid" msgid "Software manager" -msgstr "" +msgstr "Software manager" msgid "Software manager..." -msgstr "" +msgstr "Software manager..." 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" @@ -3039,10 +3104,10 @@ msgid "Somewhere else" 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" @@ -3057,12 +3122,17 @@ msgid "" "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" @@ -3186,11 +3256,9 @@ msgstr "Systeem" #. 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!" @@ -3270,6 +3338,9 @@ msgstr "" "\n" "Wenst u de USB flasher op deze stick te schrijven?" +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 " @@ -3360,6 +3431,9 @@ msgstr "" "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 "" + #, python-format msgid "This .NFI file does not contain a valid %s image!" msgstr "Dit .NFI bestand bevat geen geldig %s image!" @@ -3385,6 +3459,10 @@ msgstr "" "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 "" + #, python-format msgid "This Dreambox can't decode %s video streams!" msgstr "Deze Dreambox kan volgende %s video niet decoderen!" @@ -3590,6 +3668,9 @@ msgstr "" "Probeer nu gebruikte transponders op het kabelnetwerk te vinden. Een " "ogenblik a.u.b." +msgid "Trying to download a new packetlist. Please wait..." +msgstr "" + msgid "Tue" msgstr "Di" @@ -3624,7 +3705,7 @@ msgid "Two" msgstr "Twee" msgid "Type" -msgstr "" +msgstr "Type" msgid "Type of scan" msgstr "Zoekmodus" @@ -3662,13 +3743,13 @@ msgid "Uncommitted DiSEqC command" 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" @@ -3691,7 +3772,7 @@ msgstr "" "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?" @@ -3773,7 +3854,7 @@ msgid "VMGM (intro trailer)" msgstr "VMGM (intro trailer)" msgid "Vertical" -msgstr "" +msgstr "Vertikaal" msgid "Video Fine-Tuning" msgstr "Video fijn instellingen..." @@ -3806,9 +3887,18 @@ msgstr "" msgid "Video mode selection." msgstr "Video modus selectie" +msgid "View Movies..." +msgstr "" + +msgid "View Photos..." +msgstr "" + msgid "View Rass interactive..." msgstr "Rass Interactive weergeven" +msgid "View Video CD..." +msgstr "" + msgid "View teletext..." msgstr "Teletekst weergeven..." @@ -3913,6 +4003,13 @@ msgid "" "\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?" @@ -4031,12 +4128,14 @@ msgid "" "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 " @@ -4049,6 +4148,8 @@ msgid "" "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!" @@ -4089,6 +4190,11 @@ msgstr "" "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 "" + msgid "Your dreambox is shutting down. Please stand by..." msgstr "Uw Dreambox wordt nu afgesloten. Een ogenblik a.u.b..." @@ -4595,7 +4701,7 @@ msgid "not locked" msgstr "Nee" msgid "not used" -msgstr "" +msgstr "niet gebruikt" msgid "nothing connected" msgstr "niets aangesloten" @@ -4881,7 +4987,7 @@ msgid "switch to playlist" 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" @@ -4967,3 +5073,6 @@ msgstr "zap" msgid "zapped" msgstr "zapte" + +#~ msgid "An error occured!" +#~ msgstr "Er is een fout opgetreden!" diff --git a/po/pl.po b/po/pl.po index 765bf1a3..d070bd43 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,8 +7,8 @@ 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-08 13:44+0100\n" +"POT-Creation-Date: 2009-02-26 14:15+0100\n" +"PO-Revision-Date: 2009-02-13 18:45+0100\n" "Last-Translator: Sebastian \n" "Language-Team: none\n" "MIME-Version: 1.0\n" @@ -36,6 +36,13 @@ msgid "" "Edit the upgrade source address." msgstr "" +msgid "" +"\n" +"Enigma2 will restart after the restore" +msgstr "" +"\n" +"Enigma2 zostanie zrestartowana po przywróceniu" + msgid "" "\n" "Online update of your Dreambox software." @@ -458,9 +465,6 @@ msgstr "Alternatywny priorytet usług tunera" 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!" @@ -734,10 +738,10 @@ 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ść" @@ -1023,7 +1027,7 @@ msgid "Display >16:9 content as" msgstr "Wyświetlaj zawartość >16:9 jako" msgid "Display Setup" -msgstr "Ustawienia wyświtlania" +msgstr "Ustawienia wyświetlacza" #, python-format msgid "" @@ -1190,6 +1194,9 @@ msgstr "Edytuj" msgid "Edit DNS" msgstr "Edytuj DNS" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" msgstr "Edytuj Tytuł" @@ -1606,6 +1613,12 @@ msgstr "" msgid "Install local IPKG" msgstr "" +msgid "Install settings, skins, software..." +msgstr "" + +msgid "Install software updates..." +msgstr "" + msgid "Installing" msgstr "Instalowanie" @@ -1707,6 +1720,9 @@ msgstr "Zamknąć odtwarzacz DVD?" msgid "Left" msgstr "Lewo" +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" @@ -1939,7 +1955,7 @@ msgid "NetworkWizard" msgstr "Kreator sieci" msgid "New" -msgstr "Nowy" +msgstr "Nowe" msgid "New pin" msgstr "Nowy pin" @@ -1978,6 +1994,9 @@ msgstr "" msgid "No details for this image file" msgstr "Brak opisu dla tego image'a" +msgid "No displayable files on this medium found!" +msgstr "" + msgid "No event info found, recording indefinitely." msgstr "Nie znaleziono informacji o wydarzeniu, nagrywanie nieokreślone." @@ -2204,6 +2223,12 @@ msgstr "Odtwarzaj" msgid "Play Audio-CD..." msgstr "Odtwarzanie CD-Audio..." +msgid "Play DVD" +msgstr "" + +msgid "Play Music..." +msgstr "" + msgid "Play recorded movies..." msgstr "Odtwarzanie nagranego filmu..." @@ -2451,6 +2476,9 @@ msgstr "Provider do skanowania" msgid "Providers" msgstr "Providerzy" +msgid "Python frontend for /tmp/mmi.socket" +msgstr "" + msgid "Quick" msgstr "Szybko" @@ -2664,7 +2692,7 @@ msgid "Right" msgstr "Prawo" msgid "Rolloff" -msgstr "Wyłącz rolowanie" +msgstr "Rolloff" msgid "Rotor turning speed" msgstr "Prędkość obrotu rotora" @@ -2720,6 +2748,9 @@ msgstr "Tryb skalowania" msgid "Scan " msgstr "Skanuj" +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "Skanuj QAM128" @@ -2813,6 +2844,9 @@ msgstr "" msgid "Select HDD" msgstr "Wybierz HDD" +msgid "Select IPKG source to edit..." +msgstr "" + msgid "Select Location" msgstr "Wybierz lokalizację" @@ -2846,6 +2880,9 @@ msgstr "Wybierz prędkość odświeżania" msgid "Select video input" msgstr "Wybierz wejście Wideo" +msgid "Select video input with up/down buttons" +msgstr "" + msgid "Select video mode" msgstr "Wybierz tryb wideo" @@ -3264,6 +3301,9 @@ msgstr "" "\n" "Czy chesz zapisać USB flash'er na tym napedzie?" +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 " @@ -3356,6 +3396,9 @@ msgstr "" "Nie ma wystarczająco miejsca na wybranej partycji.\n" "Czy kontynuować?" +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 "Plik .NFI nie posiada prawidłowego %s image'a!" @@ -3382,6 +3425,10 @@ msgstr "" "Nosnik DVD RW zawiera dane- jego sformatowanie spowoduje utrate danych na " "nosniku." +#, python-format +msgid "This Dreambox can't decode %s streams!" +msgstr "" + #, python-format msgid "This Dreambox can't decode %s video streams!" msgstr "Dreambox nie moze zdekodować %s strumienia video!" @@ -3582,6 +3629,9 @@ msgid "Try to find used transponders in cable network.. please wait..." msgstr "" "Spróbuj odnaleźć używane transpondery w sieci kablowej... Proszę czekać..." +msgid "Trying to download a new packetlist. Please wait..." +msgstr "" + msgid "Tue" msgstr "Wto" @@ -3764,7 +3814,7 @@ msgid "Vertical" msgstr "Pionowo [V]" msgid "Video Fine-Tuning" -msgstr "Konfiguracja obrazu..." +msgstr "Korekcja obrazu..." msgid "Video Fine-Tuning Wizard" msgstr "Kreator czystości obrazu " @@ -3796,9 +3846,18 @@ msgstr "" msgid "Video mode selection." msgstr "Wybór trybu wideo" +msgid "View Movies..." +msgstr "" + +msgid "View Photos..." +msgstr "" + msgid "View Rass interactive..." msgstr "Pokaż interaktywne Rass..." +msgid "View Video CD..." +msgstr "" + msgid "View teletext..." msgstr "Pokaż teletext..." @@ -4077,6 +4136,11 @@ msgstr "" "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 "" + msgid "Your dreambox is shutting down. Please stand by..." msgstr "Twój Dreambox jest wyłączany. Prosze czekać..." @@ -4160,7 +4224,7 @@ msgid "add file to playlist" 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" @@ -4251,10 +4315,10 @@ msgid "choose destination directory" 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ę" @@ -4956,13 +5020,6 @@ msgstr "Przełącz" msgid "zapped" msgstr "Przełączony" -#~ msgid "" -#~ "\n" -#~ "Enigma2 will restart after the restore" -#~ msgstr "" -#~ "\n" -#~ "Enigma2 zostanie zrestartowana po przywróceniu" - #, fuzzy #~ msgid "\"?" #~ msgstr "\"?" diff --git a/po/sv.po b/po/sv.po index 979fbacc..07dee0b3 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: tuxbox-enigma 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-16 00:05+0100\n" -"PO-Revision-Date: 2009-02-06 07:42+0100\n" +"POT-Creation-Date: 2009-02-26 14:15+0100\n" +"PO-Revision-Date: 2009-02-17 12:36+0100\n" "Last-Translator: WeeGull \n" "Language-Team: WeeGull \n" "MIME-Version: 1.0\n" @@ -23,62 +23,94 @@ msgid "" "\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 " " @@ -422,13 +454,13 @@ msgid "Advanced" 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" @@ -461,9 +493,6 @@ msgstr "Alternativ tunerprioritering" 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!" @@ -488,11 +517,15 @@ msgid "" "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" @@ -564,22 +597,22 @@ msgid "Backup Mode" 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" @@ -716,10 +749,10 @@ msgid "Choose Tuner" 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" @@ -731,7 +764,7 @@ msgid "Choose target folder" msgstr "Välj målkatalog" msgid "Choose upgrade source" -msgstr "" +msgstr "Välj uppgraderingskälla" msgid "Choose your Skin" msgstr "Välj utseende" @@ -929,7 +962,7 @@ msgid "Default services lists" msgstr "Grundservicelista" msgid "Default settings" -msgstr "Grundinstallningar" +msgstr "Grundinställningar" msgid "Delay" msgstr "Fördröjning" @@ -955,7 +988,7 @@ msgid "Description" msgstr "Beskrivning" msgid "Deselect" -msgstr "" +msgstr "Avmarkera" msgid "Destination directory" msgstr "Målbibliotek" @@ -1093,7 +1126,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1102,10 +1135,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1114,7 +1147,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1124,7 +1157,7 @@ msgstr "" "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?" @@ -1143,6 +1176,7 @@ msgstr "Klar - Installerat eller uppgraderat %d paket med %d fel" #, 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" @@ -1193,6 +1227,9 @@ msgstr "Ändra" msgid "Edit DNS" msgstr "Ändra DNS" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" msgstr "Ändra titel" @@ -1459,7 +1496,7 @@ msgid "Gateway" msgstr "Gateway" msgid "Genre" -msgstr "" +msgstr "Genre" msgid "German" msgstr "Tyska" @@ -1598,12 +1635,18 @@ msgid "Input" 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 "Installera lokal IPKG" + +msgid "Install settings, skins, software..." +msgstr "" + +msgid "Install software updates..." msgstr "" msgid "Installing" @@ -1637,7 +1680,7 @@ msgid "Internal Flash" msgstr "Intern Flash" msgid "Invalid Location" -msgstr "Ogiltig lokation" +msgstr "Ogiltig sökväg" #, python-format msgid "Invalid directory selected: %s" @@ -1650,7 +1693,7 @@ msgid "Invert display" msgstr "Invertera LCD" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "Italienska" @@ -1699,7 +1742,7 @@ msgid "Latitude" msgstr "Latitud" msgid "Latvian" -msgstr "" +msgstr "Lettiska" msgid "Leave DVD Player?" msgstr "Avsluta DVD Spelare?" @@ -1707,6 +1750,9 @@ msgstr "Avsluta DVD Spelare?" msgid "Left" msgstr "Vänster" +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" @@ -1745,7 +1791,7 @@ msgid "Local Network" msgstr "Lokalt Nätverk" msgid "Location" -msgstr "Lokation" +msgstr "Sökväg" msgid "Lock:" msgstr "Lås:" @@ -1781,7 +1827,7 @@ msgid "Make this mark just a mark" 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" @@ -1977,6 +2023,9 @@ msgstr "" msgid "No details for this image file" msgstr "Inga detaljer för denna image fil" +msgid "No displayable files on this medium found!" +msgstr "" + msgid "No event info found, recording indefinitely." msgstr "Ingen programinfo hittades, inspelning oändlig." @@ -2152,7 +2201,7 @@ msgid "Packet management" msgstr "Pakethantering" msgid "Packet manager" -msgstr "" +msgstr "Pakethanterare" msgid "Page" msgstr "Sida" @@ -2201,6 +2250,12 @@ msgstr "Spela upp" msgid "Play Audio-CD..." msgstr "Spela Audio-CD..." +msgid "Play DVD" +msgstr "" + +msgid "Play Music..." +msgstr "" + msgid "Play recorded movies..." msgstr "Spela inspelade filmer..." @@ -2291,7 +2346,7 @@ msgid "Please select a subservice..." 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..." @@ -2449,6 +2504,9 @@ msgstr "Leverantör att scanna" msgid "Providers" msgstr "Leverantörer" +msgid "Python frontend for /tmp/mmi.socket" +msgstr "" + msgid "Quick" msgstr "Snabb" @@ -2529,7 +2587,7 @@ msgid "Refresh rate selection." msgstr "Uppdateringsfrekvens val." msgid "Reload" -msgstr "" +msgstr "Uppdatera" msgid "Remove Bookmark" msgstr "Ta bort Bokmärke" @@ -2544,7 +2602,7 @@ msgid "Remove currently selected title" msgstr "Ta bort vald titel" msgid "Remove finished." -msgstr "" +msgstr "Ta bort färdiga." msgid "Remove plugins" msgstr "Ta bort plugins" @@ -2562,7 +2620,7 @@ msgid "Remove title" msgstr "Ta bort titel" msgid "Removing" -msgstr "" +msgstr "Tar bvort" #, python-format msgid "Removing directory %s failed. (Maybe not empty.)" @@ -2614,16 +2672,16 @@ msgid "Restore" 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 " @@ -2717,6 +2775,9 @@ msgstr "Scalingläge" msgid "Scan " msgstr "Söka " +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "Söka QAM128" @@ -2804,13 +2865,16 @@ msgid "Seek" msgstr "Sök" msgid "Select" -msgstr "" +msgstr "Välj" msgid "Select HDD" msgstr "Välj hårddisk" +msgid "Select IPKG source to edit..." +msgstr "" + msgid "Select Location" -msgstr "Välj lokation" +msgstr "Välj Sökväg" msgid "Select Network Adapter" msgstr "Välj nätverksadapter" @@ -2828,10 +2892,10 @@ msgid "Select channel to record from" 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" @@ -2842,6 +2906,9 @@ msgstr "Välj uppdateringsfrekvens" msgid "Select video input" msgstr "Välj video insignal" +msgid "Select video input with up/down buttons" +msgstr "" + msgid "Select video mode" msgstr "Välj videoläge" @@ -3012,16 +3079,16 @@ msgid "Slow Motion speeds" 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" @@ -3030,10 +3097,10 @@ msgid "Somewhere else" 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" @@ -3048,12 +3115,17 @@ msgid "" "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" @@ -3260,6 +3332,9 @@ msgstr "" "\n" "Vill du skriva USB flasher till den stickan?" +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 " @@ -3351,6 +3426,9 @@ msgstr "" "partition.\n" "Vill du verkligen fortsätta?" +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 "Denna .NFI fil innehåller ingen giltig %s image!" @@ -3376,6 +3454,10 @@ msgstr "" "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 "" + #, python-format msgid "This Dreambox can't decode %s video streams!" msgstr "Denna Dreambox kan inte avkoda %s videoströmmar!" @@ -3578,6 +3660,9 @@ msgstr "Försöker hitta Transponders i kabelnätverket... vänligen vänta..." 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 "" + msgid "Tue" msgstr "Tis" @@ -3677,7 +3762,7 @@ msgid "Updating... Please wait... This can take some minutes..." 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?" @@ -3793,9 +3878,18 @@ msgstr "" msgid "Video mode selection." msgstr "Videoläges val." +msgid "View Movies..." +msgstr "" + +msgid "View Photos..." +msgstr "" + msgid "View Rass interactive..." msgstr "Visa Rass interaktivitet..." +msgid "View Video CD..." +msgstr "" + msgid "View teletext..." msgstr "Visa teletext..." @@ -3900,6 +3994,11 @@ msgid "" "\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?" @@ -3926,7 +4025,7 @@ msgid "YPbPr" msgstr "YPbPr" msgid "Year" -msgstr "" +msgstr "År" msgid "Yes" msgstr "Ja" @@ -4024,6 +4123,8 @@ msgid "" "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 " @@ -4036,6 +4137,8 @@ msgid "" "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!" @@ -4076,6 +4179,11 @@ msgstr "" "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 "" + msgid "Your dreambox is shutting down. Please stand by..." msgstr "Din Dreambox håller på att stängas av. Vänligen vänta..." @@ -4955,13 +5063,6 @@ msgstr "zap" msgid "zapped" msgstr "zapped" -#~ msgid "" -#~ "\n" -#~ "Enigma2 will restart after the restore" -#~ msgstr "" -#~ "\n" -#~ "Enigma2 kommer startas om efter återställningen" - #~ msgid "\"?" #~ msgstr "\"?" @@ -4992,6 +5093,9 @@ msgstr "zapped" #~ 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" diff --git a/po/tr.po b/po/tr.po index 02bdcea5..3a2c5d1c 100644 --- a/po/tr.po +++ b/po/tr.po @@ -2,8 +2,8 @@ msgid "" 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-02-26 14:15+0100\n" +"PO-Revision-Date: 2009-02-18 11:35+0200\n" "Last-Translator: Zülfikar VEYİSOĞLU \n" "Language-Team: http://www.turkeyforum.com/satforum \n" "MIME-Version: 1.0\n" @@ -16,62 +16,94 @@ msgid "" "\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 " " @@ -416,16 +448,16 @@ msgid "Advanced" 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. " @@ -456,9 +488,6 @@ msgstr "Alternatifli kanallarda tuner önceliği" 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!" @@ -483,11 +512,15 @@ msgid "" "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çı" @@ -559,22 +592,22 @@ msgid "Backup Mode" 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" @@ -586,10 +619,10 @@ msgid "Begin time" 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" @@ -660,7 +693,7 @@ msgid "Catalan" 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" @@ -711,10 +744,10 @@ msgid "Choose Tuner" 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ç" @@ -726,7 +759,7 @@ msgid "Choose target folder" 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" @@ -873,13 +906,13 @@ msgid "Current version:" 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" @@ -950,7 +983,7 @@ msgid "Description" msgstr "Açıklama" msgid "Deselect" -msgstr "" +msgstr "Seçimi kaldır" msgid "Destination directory" msgstr "Hedef Klasör" @@ -1088,7 +1121,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1097,10 +1130,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1109,7 +1142,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1119,7 +1152,7 @@ msgstr "" "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?" @@ -1138,6 +1171,8 @@ msgstr "Tamamlandı - %d paket yüklendi veya güncellendi %d pakette hata oluş #, 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" @@ -1189,6 +1224,9 @@ msgstr "Düzenle" msgid "Edit DNS" msgstr "DNS Düzenle" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" msgstr "Başlık Düzenle" @@ -1260,10 +1298,10 @@ msgid "" "\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" @@ -1273,10 +1311,10 @@ msgstr "" #. 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:" @@ -1395,7 +1433,7 @@ msgstr "" "gerekiyor." msgid "Flash" -msgstr "Flaşa yaz" +msgstr "Flaş" msgid "Flashing failed" msgstr "Flaşa yazma başarısız" @@ -1600,12 +1638,18 @@ msgid "Input" 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 "Çevrimdışı IPKG yükle" + +msgid "Install settings, skins, software..." +msgstr "" + +msgid "Install software updates..." msgstr "" msgid "Installing" @@ -1652,7 +1696,7 @@ msgid "Invert display" msgstr "Ekranı ters çevir" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "İtalyanca" @@ -1692,7 +1736,7 @@ msgid "Language selection" msgstr "Dil seçimi" msgid "Language..." -msgstr "Dil Ayarları (Language)..." +msgstr "Dil Ayarları..." msgid "Last speed" msgstr "Son hız" @@ -1701,7 +1745,7 @@ msgid "Latitude" msgstr "Enlem" msgid "Latvian" -msgstr "" +msgstr "Letonca" msgid "Leave DVD Player?" msgstr "DVD Oynatıcıyı Kapat?" @@ -1709,6 +1753,9 @@ msgstr "DVD Oynatıcıyı Kapat?" msgid "Left" msgstr "Sol" +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" @@ -1783,7 +1830,7 @@ msgid "Make this mark just a mark" 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" @@ -1795,10 +1842,10 @@ msgid "Manufacturer" 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ı" @@ -1980,6 +2027,9 @@ msgstr "" 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 "" + msgid "No event info found, recording indefinitely." msgstr "EPG bilgisi bulunamadı, süresiz kaydediliyor." @@ -2005,7 +2055,7 @@ msgid "No tags are set on these movies." 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" @@ -2157,7 +2207,7 @@ msgid "Packet management" msgstr "Paket yönetimi" msgid "Packet manager" -msgstr "" +msgstr "Paket yönetimi" msgid "Page" msgstr "Sayfa" @@ -2206,6 +2256,12 @@ msgstr "Oynat" msgid "Play Audio-CD..." msgstr "Ses CD'si (Audio CD) oynat..." +msgid "Play DVD" +msgstr "" + +msgid "Play Music..." +msgstr "" + msgid "Play recorded movies..." msgstr "Kayıtlı video dosyalarını göster..." @@ -2213,7 +2269,7 @@ msgid "Please Reboot" 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 görüntülemek istediğiniz medyayı seçin" msgid "Please change recording endtime" msgstr "Lütfen kayıt bitiş saatini değiştirin" @@ -2279,7 +2335,7 @@ msgid "Please press OK!" 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..." @@ -2294,7 +2350,7 @@ msgid "Please select a subservice..." 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 ..." @@ -2451,6 +2507,9 @@ msgstr "Yayıncıya göre ara" msgid "Providers" msgstr "Yayıncılar" +msgid "Python frontend for /tmp/mmi.socket" +msgstr "" + msgid "Quick" msgstr "Hızlı" @@ -2531,7 +2590,7 @@ msgid "Refresh rate selection." msgstr "Tazeleme hızı seçimi." msgid "Reload" -msgstr "" +msgstr "Yenile" msgid "Remove Bookmark" msgstr "Yer imini sil" @@ -2546,7 +2605,7 @@ msgid "Remove currently selected title" 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" @@ -2564,7 +2623,7 @@ msgid "Remove title" msgstr "Başlığı sil" msgid "Removing" -msgstr "" +msgstr "Kaldırılıyor" #, python-format msgid "Removing directory %s failed. (Maybe not empty.)" @@ -2617,16 +2676,16 @@ msgid "Restore" 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 " @@ -2720,6 +2779,9 @@ msgstr "Ölçeklendirme Kipi" msgid "Scan " msgstr "Ara : " +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "QAM128'i ara" @@ -2808,11 +2870,14 @@ msgid "Seek" msgstr "Ara" msgid "Select" -msgstr "" +msgstr "Seç" msgid "Select HDD" msgstr "HDD Seç" +msgid "Select IPKG source to edit..." +msgstr "" + msgid "Select Location" msgstr "Konum Seç" @@ -2832,10 +2897,10 @@ msgid "Select channel to record from" 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" @@ -2846,6 +2911,9 @@ msgstr "Tazeleme hızı seçin" msgid "Select video input" msgstr "Görüntü girişini seç" +msgid "Select video input with up/down buttons" +msgstr "" + msgid "Select video mode" msgstr "Görüntü kipini seç" @@ -2856,7 +2924,7 @@ msgid "Send DiSEqC" 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" @@ -2937,16 +3005,16 @@ msgid "Show WLAN Status" 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" @@ -3003,7 +3071,7 @@ msgid "Sleep timer action:" 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" @@ -3016,16 +3084,16 @@ msgid "Slow Motion speeds" 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" @@ -3034,10 +3102,10 @@ msgid "Somewhere else" 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" @@ -3052,12 +3120,17 @@ msgid "" "Sorry your backup destination is not writeable.\n" "Please choose an other one." msgstr "" +"Üzgünüm yedekleme hedefinizde yazma hakkı yok.\n" +"Lütfen başka bir hedef deneyin." msgid "" "Sorry, your backup destination is not writeable.\n" "\n" "Please choose another one." msgstr "" +"Üzgünüm, yedekleme hedefinde yazma hakkı yok.\n" +"\n" +"Lütfen başka bir hedef deneyin." #. TRANSLATORS: This must fit into the header button in the EPG-List msgid "Sort A-Z" @@ -3116,7 +3189,7 @@ msgid "Stop Timeshift?" 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" @@ -3262,6 +3335,9 @@ msgstr "" "\n" "USB flaşlayıcıyı bu USB belleğe yazmak istiyor musunuz?" +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 " @@ -3353,6 +3429,9 @@ msgstr "" "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 "" + #, python-format msgid "This .NFI file does not contain a valid %s image!" msgstr ".NFI dosyası geçeli bir %s imajı içermiyor!" @@ -3378,6 +3457,10 @@ msgstr "" "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 "" + #, python-format msgid "This Dreambox can't decode %s video streams!" msgstr "Dreambox %s video dosyalarını gösteremez!" @@ -3584,6 +3667,9 @@ msgid "Try to find used transponders in cable network.. please wait..." msgstr "" "Kullanılan transponderlar kablolu yayın ağında aranıyor.. lütfen bekleyin..." +msgid "Trying to download a new packetlist. Please wait..." +msgstr "" + msgid "Tue" msgstr "Salı" @@ -3682,7 +3768,7 @@ msgstr "" "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 "" @@ -3792,17 +3878,26 @@ msgid "" 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 "" + +msgid "View Photos..." +msgstr "" + msgid "View Rass interactive..." msgstr "Etkileşimli Rass'ı (Radio acoustic sounding system) göster" +msgid "View Video CD..." +msgstr "" + msgid "View teletext..." msgstr "Teleteksi aç..." @@ -3909,6 +4004,13 @@ msgid "" "\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?" @@ -3975,7 +4077,7 @@ msgstr "" "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!" @@ -4033,6 +4135,8 @@ msgid "" "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 " @@ -4046,6 +4150,9 @@ msgid "" "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!" @@ -4059,9 +4166,10 @@ msgid "" "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 "" @@ -4085,6 +4193,11 @@ 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 "" + msgid "Your dreambox is shutting down. Please stand by..." msgstr "Dreambox'ınız kapatılıyor. Lütfen bekleyin..." @@ -4176,16 +4289,16 @@ msgid "add marker" 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" @@ -4330,7 +4443,7 @@ msgid "do nothing" msgstr "birşey yapma" msgid "don't record" -msgstr "keydetme" +msgstr "kaydetme" msgid "done!" msgstr "tamamlandı!" @@ -4650,7 +4763,7 @@ msgid "please press OK when ready" 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" @@ -4798,7 +4911,7 @@ msgid "show second selected tag" 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..." @@ -4966,13 +5079,6 @@ msgstr "değiştir" 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 "\"?" @@ -4995,6 +5101,9 @@ msgstr "kanal değiştirildi" #~ 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" @@ -5038,6 +5147,12 @@ msgstr "kanal değiştirildi" #~ 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..." -- cgit v1.2.3 From 14384e3f5aaf81897d1931a14afd11d855bd6140 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 26 Feb 2009 19:52:00 +0100 Subject: more CI fixes (i.e. fix segfault on e2 shutdown) --- lib/dvb_ci/dvbci.cpp | 36 +++++++++++++++++++++++++----------- lib/dvb_ci/dvbci.h | 1 + 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index d088075c..0227c43c 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -18,7 +18,7 @@ #include -#undef CIDEBUG +//#define CIDEBUG 1 #ifdef CIDEBUG #define eDebugCI(x...) eDebug(x) @@ -268,23 +268,34 @@ void eDVBCIInterfaces::recheckPMTHandlers() 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::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 - while(tmp) - { - if (!tmp->running_services.empty()) - break; - tmp=tmp->linked_next; - } - if (tmp) // we dont like to change tsmux for running services + if (!first_plugged_cis_exist) { - eDebugCI("already assigned and running CI!\n"); - continue; + 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)) @@ -912,6 +923,7 @@ int eDVBCISlot::send(const unsigned char *data, size_t len) void eDVBCISlot::data(int what) { + eDebugCI("CISlot %d what %d\n", getSlotID(), what); if(what == eSocketNotifier::Priority) { if(state != stateRemoved) { state = stateRemoved; @@ -981,6 +993,7 @@ eDVBCISlot::eDVBCISlot(eMainloop *context, int nr) use_count = 0; linked_next = 0; user_mapped = false; + first_plugged = true; slotid = nr; @@ -992,7 +1005,7 @@ eDVBCISlot::eDVBCISlot(eMainloop *context, int nr) fd = ::open(filename, O_RDWR | O_NONBLOCK); - eDebug("CI Slot %d has fd %d", getSlotID(), fd); + eDebugCI("CI Slot %d has fd %d", getSlotID(), fd); state = stateInvalid; if (fd >= 0) @@ -1007,6 +1020,7 @@ eDVBCISlot::eDVBCISlot(eMainloop *context, int nr) eDVBCISlot::~eDVBCISlot() { + eDVBCISession::deleteSessions(this); } void eDVBCISlot::setAppManager( eDVBCIApplicationManagerSession *session ) diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h index c06ae7e3..7164d25a 100644 --- a/lib/dvb_ci/dvbci.h +++ b/lib/dvb_ci/dvbci.h @@ -65,6 +65,7 @@ class eDVBCISlot: public iObject, public Object int current_tuner; bool user_mapped; void data(int); + bool first_plugged; public: enum {stateRemoved, stateInserted, stateInvalid, stateResetted}; eDVBCISlot(eMainloop *context, int nr); -- cgit v1.2.3 From 5c352c07fe12b7fc866c04ff3a3c9553da4bd44c Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 26 Feb 2009 21:11:26 +0100 Subject: read back corrected frequency from frontend during scan (only DVB-T) --- lib/dvb/scan.cpp | 33 +++++++++++++++++++++++++++++++-- lib/dvb/scan.h | 4 +++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp index 76c71011..379ab8e9 100644 --- a/lib/dvb/scan.cpp +++ b/lib/dvb/scan.cpp @@ -740,11 +740,20 @@ void eDVBScan::channelDone() } case iDVBFrontend::feTerrestrial: { + ePtr 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: @@ -765,7 +774,8 @@ void eDVBScan::channelDone() if (!(m_flags & scanOnlyFree) || !m_pmt_in_progress->second.scrambled) { SCAN_eDebug("add not scrambled!"); - std::pair >::iterator, bool> i = m_new_services.insert(std::pair >(ref, service)); + std::pair >::iterator, bool> i = + m_new_services.insert(std::pair >(ref, service)); if (i.second) { m_last_service = i.first; @@ -922,6 +932,24 @@ void eDVBScan::insertInto(iDVBChannelList *db, bool dontRemoveOldFlags) for (std::map >::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::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); @@ -1036,7 +1064,8 @@ RESULT eDVBScan::processSDT(eDVBNamespace dvbnamespace, const ServiceDescription } } - std::pair >::iterator, bool> i = m_new_services.insert(std::pair >(ref, service)); + std::pair >::iterator, bool> i = + m_new_services.insert(std::pair >(ref, service)); if (i.second) { diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h index 38ac784f..9f0dd6ef 100644 --- a/lib/dvb/scan.h +++ b/lib/dvb/scan.h @@ -50,7 +50,9 @@ class eDVBScan: public Object, public iObject /* scan state variables */ int m_channel_state; int m_ready, m_ready_all; - + + std::map m_corrected_frequencys; // yet just used for DVB-T + std::map > m_new_channels; std::map > m_new_services; std::map >::iterator m_last_service; -- cgit v1.2.3 From 574d0f07a04f5b9c295e7aa1e4e00a14fa6b2d5e Mon Sep 17 00:00:00 2001 From: ghost Date: Fri, 27 Feb 2009 12:12:07 +0100 Subject: add eDVBCiInterfaces::readCICaids --- lib/dvb_ci/dvbci.cpp | 17 +++++++++++++++++ lib/dvb_ci/dvbci.h | 1 + 2 files changed, 18 insertions(+) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index 0227c43c..c34ea0c0 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -898,6 +898,23 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject) 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); + return 0; + } + int idx=0; + ePyObject list = PyList_New(slot->possible_caids.size()); + for (caidSet::iterator it = slot->possible_caids.begin(); it != slot->possible_caids.end(); ++it) + PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); + return list; +} + int eDVBCISlot::send(const unsigned char *data, size_t len) { int res=0; diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h index 7164d25a..c11a1203 100644 --- a/lib/dvb_ci/dvbci.h +++ b/lib/dvb_ci/dvbci.h @@ -153,6 +153,7 @@ public: int getNumOfSlots() { return m_slots.size(); } PyObject *getDescrambleRules(int slotid); RESULT setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject) ); + PyObject *readCICaIds(int slotid); }; #endif -- cgit v1.2.3 From a9589a258f6173fc8af17d802def10d0d918bc16 Mon Sep 17 00:00:00 2001 From: ghost Date: Fri, 27 Feb 2009 23:19:00 +0100 Subject: add possibility to change services in single service epg with bouquet +/- key --- lib/python/Screens/ChannelSelection.py | 23 +++++++++++++---- lib/python/Screens/EpgSelection.py | 24 +++++++++++++---- lib/python/Screens/InfoBarGenerics.py | 47 +++++++++++++++++++++++++++++++++- 3 files changed, 83 insertions(+), 11 deletions(-) diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index bae8f7de..0ff4042b 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -317,11 +317,24 @@ class ChannelSelectionEPG: 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): diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index ae96333e..49308994 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -25,12 +25,14 @@ class EPGSelection(Screen): 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() @@ -81,19 +83,22 @@ class EPGSelection(Screen): "red": self.zapTo, "input_date_time": self.enterDateTime, "nextBouquet": self.nextBouquet, - "prevBouquet": self.prevBouquet + "prevBouquet": self.prevBouquet, }) self["actions"].csel = self - self.onLayoutFinish.append(self.onCreate) def nextBouquet(self): - if self.bouquetChangeCB: + if self.serviceChangeCB: + self.serviceChangeCB(1, self) + elif self.bouquetChangeCB: self.bouquetChangeCB(1, self) def prevBouquet(self): if self.bouquetChangeCB: self.bouquetChangeCB(-1, self) + elif self.serviceChangeCB: + self.serviceChangeCB(-1, self) def enterDateTime(self): if self.type == EPG_TYPE_MULTI: @@ -129,6 +134,10 @@ class EPGSelection(Screen): self.services = services self.onCreate() + def setService(self, service): + self.currentService = service + self.onCreate() + #just used in multipeg def onCreate(self): l = self["list"] @@ -137,7 +146,12 @@ class EPGSelection(Screen): 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) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index e39e028d..1594b3a5 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -391,6 +391,32 @@ class InfoBarSimpleEventView: 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): + self.current = 0 + while self.services[self.current].ref != service: + self.current += 1 + + def nextService(self): + if self.current+1 < self.length: + self.current += 1 + else: + self.current = 0 + + def prevService(self): + if self.current-1 > -1: + self.current -= 1 + else: + self.current = self.length - 1 + + def currentService(self): + return self.services[self.current] + class InfoBarEPG: """ EPG - Opens an EPG list when the showEPGList action fires """ def __init__(self): @@ -487,9 +513,28 @@ class InfoBarEPG: 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) + self.serviceSel.selectService(ref) + self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB = self.changeServiceCB) + 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)] -- cgit v1.2.3 From 23d87e80ac74cea3df87ac89cef734509341fa98 Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 28 Feb 2009 10:23:47 +0100 Subject: use < > keys vor next / previous service in single service epg --- data/keymap.xml | 2 ++ lib/python/Screens/EpgSelection.py | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/data/keymap.xml b/data/keymap.xml index 264afccf..0865e416 100644 --- a/data/keymap.xml +++ b/data/keymap.xml @@ -475,6 +475,8 @@ + + diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index 49308994..d09ed004 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -82,22 +82,28 @@ class EPGSelection(Screen): "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.serviceChangeCB: - self.serviceChangeCB(1, self) - elif self.bouquetChangeCB: + if self.bouquetChangeCB: self.bouquetChangeCB(1, self) def prevBouquet(self): if self.bouquetChangeCB: self.bouquetChangeCB(-1, self) - elif self.serviceChangeCB: + + def nextService(self): + if self.serviceChangeCB: + self.serviceChangeCB(1, self) + + def prevService(self): + if self.serviceChangeCB: self.serviceChangeCB(-1, self) def enterDateTime(self): -- cgit v1.2.3 From e63586af0f2e8acf5a0972ae1993c039edcd901e Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 2 Mar 2009 17:17:06 +0100 Subject: replace EOF magic by a slightly more accurate PVR EOF. --- lib/base/filepush.cpp | 8 +++-- lib/python/Screens/InfoBarGenerics.py | 58 ++++------------------------------- 2 files changed, 12 insertions(+), 54 deletions(-) diff --git a/lib/base/filepush.cpp b/lib/base/filepush.cpp index 1999707f..ed2a2185 100644 --- a/lib/base/filepush.cpp +++ b/lib/base/filepush.cpp @@ -189,9 +189,13 @@ void eFilePushThread::thread() 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; diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index e39e028d..71e08327 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -623,11 +623,6 @@ class InfoBarSeek: 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 @@ -763,9 +758,6 @@ class InfoBarSeek: 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() @@ -827,16 +819,6 @@ class InfoBarSeek: 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): @@ -844,15 +826,12 @@ class InfoBarSeek: 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() @@ -964,44 +943,19 @@ class InfoBarSeek: 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) -- cgit v1.2.3 From 8d2545bc513280abe52d9c0fc2b704de3729a11e Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Mon, 2 Mar 2009 17:28:35 +0100 Subject: listen to hotplug event when dvd is inserted or ejected and modify EXIT menu accordingly --- lib/python/Plugins/Extensions/DVDPlayer/plugin.py | 78 ++++++++++++++--------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py index 6a8ffc6f..ce2e5938 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py @@ -14,6 +14,7 @@ from Components.ServiceEventTracker import ServiceEventTracker, InfoBarBase 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 @@ -345,28 +346,15 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP }) 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 @@ -513,6 +501,8 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP choices = [(_("Exit"), "exit"), (_("Continue playing"), "play")] 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): @@ -581,23 +571,22 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP 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() @@ -627,13 +616,18 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP #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 @@ -660,6 +654,30 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP 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) -- cgit v1.2.3 From 661a33ebe19d4341a8f1657ad0f403a9a7ac0f6b Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 2 Mar 2009 17:34:15 +0100 Subject: media player cosmetical changes, thanks to kerni --- lib/python/Components/MediaPlayer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/python/Components/MediaPlayer.py b/lib/python/Components/MediaPlayer.py index 87ba977c..12f2727f 100644 --- a/lib/python/Components/MediaPlayer.py +++ b/lib/python/Components/MediaPlayer.py @@ -25,7 +25,7 @@ def PlaylistEntryComponent(serviceref, state): 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 @@ -39,7 +39,7 @@ def PlaylistEntryComponent(serviceref, state): 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 @@ -47,7 +47,7 @@ class PlayList(MenuList): 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() -- cgit v1.2.3 From 533dd652737ca702c0e9528ed06e8a17b9ec72c5 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Tue, 3 Mar 2009 00:44:19 +0100 Subject: first pickle, then save to avoid killing config file on sigint --- lib/python/Components/config.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 79e99b03..4cc40633 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -1614,8 +1614,9 @@ class Config(ConfigSubsection): 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): -- cgit v1.2.3 From 1354d745469c0595f4c379edf543d5a613663e03 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Tue, 3 Mar 2009 11:50:35 +0100 Subject: fix selecting menu template and background image files, only allow start of burning process if at least one title is in the collection, otherwise hide menu entry and add yes-no-box before burning with RECORD key on rcu --- .../Plugins/Extensions/DVDBurn/ProjectSettings.py | 67 ++++++++++++---------- lib/python/Plugins/Extensions/DVDBurn/TitleList.py | 15 +++-- 2 files changed, 47 insertions(+), 35 deletions(-) diff --git a/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py b/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py index e97961b4..a8888da3 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py +++ b/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py @@ -18,11 +18,12 @@ class FileBrowser(Screen, HelpableScreen): """ - 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() @@ -31,19 +32,19 @@ class FileBrowser(Screen, HelpableScreen): 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)" @@ -57,11 +58,9 @@ class FileBrowser(Screen, HelpableScreen): "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): @@ -70,15 +69,15 @@ class FileBrowser(Screen, HelpableScreen): 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 = """ @@ -113,13 +112,10 @@ class ProjectSettings(Screen,ConfigListScreen): 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"], { @@ -167,6 +163,11 @@ class ProjectSettings(Screen,ConfigListScreen): 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) @@ -190,8 +191,9 @@ class ProjectSettings(Screen,ConfigListScreen): 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) @@ -210,17 +212,20 @@ class ProjectSettings(Screen,ConfigListScreen): 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() diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleList.py b/lib/python/Plugins/Extensions/DVDBurn/TitleList.py index 7e736f9f..fd4c7134 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleList.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleList.py @@ -44,7 +44,7 @@ class TitleList(Screen, HelpableScreen): "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", @@ -94,7 +94,8 @@ class TitleList(Screen, HelpableScreen): 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)) @@ -196,7 +197,13 @@ class TitleList(Screen, HelpableScreen): 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) @@ -208,7 +215,7 @@ class TitleList(Screen, HelpableScreen): 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) -- cgit v1.2.3 From 6f2cf5c74f32e7aa8fea4ce93a6b0963f78fedd5 Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 3 Mar 2009 11:50:53 +0100 Subject: take care of subservices --- lib/dvb_ci/dvbci.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index c34ea0c0..a68edea8 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -332,6 +332,20 @@ void eDVBCIInterfaces::recheckPMTHandlers() 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()) { @@ -354,6 +368,7 @@ void eDVBCIInterfaces::recheckPMTHandlers() } if (!useThis && !ci_it->possible_caids.empty()) { + mask |= 4; for (CAID_LIST::iterator ca(caids.begin()); ca != caids.end(); ++ca) { caidSet::iterator it = ci_it->possible_caids.find(*ca); -- cgit v1.2.3 From a5b628b1eb1c2ccdd68d7ea0f57bbb4a31c25c83 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Tue, 3 Mar 2009 18:57:46 +0100 Subject: - properly ignore transponders without values for tsid/onid in the diseqc tester - add some log file output for pids_failed case (real tsid/onid and expected tsid/onid) --- lib/dvb/db.cpp | 5 +++-- lib/python/Components/TuneTest.py | 4 ++-- lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py | 8 ++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index 110cedd8..e4d9ad22 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -839,7 +839,7 @@ PyObject *eDVBDB::readSatellites(ePyObject sat_list, ePyObject sat_dict, ePyObje 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; @@ -856,8 +856,8 @@ PyObject *eDVBDB::readSatellites(ePyObject sat_list, ePyObject sat_dict, ePyObje 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; @@ -872,6 +872,7 @@ PyObject *eDVBDB::readSatellites(ePyObject sat_list, ePyObject sat_dict, ePyObje 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; diff --git a/lib/python/Components/TuneTest.py b/lib/python/Components/TuneTest.py index 8e8644e3..e3b7d9e3 100644 --- a/lib/python/Components/TuneTest.py +++ b/lib/python/Components/TuneTest.py @@ -140,7 +140,7 @@ class TuneTest: # 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 @@ -153,7 +153,7 @@ class TuneTest: # 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 diff --git a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py index a4793949..bb4df74a 100644 --- a/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py +++ b/lib/python/Plugins/SystemPlugins/DiseqcTester/plugin.py @@ -78,6 +78,14 @@ class ResultParser: 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" -- cgit v1.2.3 From 6912901710bd794bf67d1b9ffab9b3a90e4bf1dc Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 4 Mar 2009 11:49:13 +0100 Subject: fix possible crash --- lib/python/Screens/InfoBarGenerics.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 20a239a2..64ed35f7 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -1525,7 +1525,7 @@ class InfoBarInstantRecord: 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) @@ -1542,7 +1542,7 @@ class InfoBarInstantRecord: 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) -- cgit v1.2.3 From 404743faf9cbf0c70d68ca047f2a8e914a0d94b5 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 4 Mar 2009 11:50:27 +0100 Subject: no more need to use fluendo mpeg stuff --- lib/service/servicemp3.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index d90186a5..569272b0 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -321,11 +321,11 @@ eServiceMP3::eServiceMP3(const char *filename): m_filename(filename), m_pump(eAp 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"; -- cgit v1.2.3 From 8632fc87741200695d2726b689853b6b550a4b06 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 4 Mar 2009 20:38:59 +0100 Subject: add possibility to disable the dvb transponder time sync not via gui yet... but config.misc.useTransponderTime=True/False in /etc/enigma2/settings should work --- lib/dvb/dvbtime.cpp | 35 ++++++++++++++++++++++++++++++++--- lib/dvb/dvbtime.h | 3 +++ mytest.py | 5 +++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index 89650f25..03847ecb 100644 --- a/lib/dvb/dvbtime.cpp +++ b/lib/dvb/dvbtime.cpp @@ -145,7 +145,7 @@ eDVBLocalTimeHandler *eDVBLocalTimeHandler::instance; DEFINE_REF(eDVBLocalTimeHandler); eDVBLocalTimeHandler::eDVBLocalTimeHandler() - :m_updateNonTunedTimer(eTimer::create(eApp)), m_time_ready(false) + :m_use_dvb_time(false), m_updateNonTunedTimer(eTimer::create(eApp)), m_time_ready(false) { if ( !instance ) instance=this; @@ -214,6 +214,33 @@ void eDVBLocalTimeHandler::writeTimeOffsetData( const char* filename ) } } +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::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::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); @@ -440,8 +467,10 @@ void eDVBLocalTimeHandler::DVBChannelStateChanged(iDVBChannel *chan) 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); diff --git a/lib/dvb/dvbtime.h b/lib/dvb/dvbtime.h index 3f8d9b7d..3afff75e 100644 --- a/lib/dvb/dvbtime.h +++ b/lib/dvb/dvbtime.h @@ -54,6 +54,7 @@ class eDVBLocalTimeHandler: public Object ePtr m_stateChangedConn; int m_prevChannelState; }; + bool m_use_dvb_time; ePtr m_updateNonTunedTimer; friend class TDT; std::map m_knownChannels; @@ -78,6 +79,8 @@ public: eDVBLocalTimeHandler(); ~eDVBLocalTimeHandler(); #endif + bool getUseDVBTime() { return m_use_dvb_time; } + void setUseDVBTime(bool b); PSignal0 m_timeUpdated; bool ready() const { return m_time_ready; } static eDVBLocalTimeHandler *getInstance() { return instance; } diff --git a/mytest.py b/mytest.py index efbc34bb..261ff2a6 100755 --- a/mytest.py +++ b/mytest.py @@ -50,6 +50,11 @@ eDVBDB.getInstance().reloadBouquets() 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: -- cgit v1.2.3 From 95fe5642cb7b4d4ceb06a147356ab5c637764739 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 5 Mar 2009 00:11:04 +0100 Subject: fix compiler warnings --- lib/dvb/dvbtime.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index 03847ecb..a6830dc0 100644 --- a/lib/dvb/dvbtime.cpp +++ b/lib/dvb/dvbtime.cpp @@ -20,7 +20,7 @@ void setRTC(time_t time) 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)"); @@ -47,8 +47,11 @@ time_t getRTC() 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 -- cgit v1.2.3 From 7d31919c4447cbe8220b511d15659e164a4bc55b Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 5 Mar 2009 00:11:16 +0100 Subject: also support libgif --- configure.ac | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index b94272d9..49bf6d2d 100755 --- a/configure.ac +++ b/configure.ac @@ -45,9 +45,14 @@ AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") 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) -- cgit v1.2.3 From 8ca7a05ca454eafdeb43cbbc68384af56dd9e153 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 5 Mar 2009 00:11:55 +0100 Subject: lib/python/Tools/DreamboxHardware.py: add function to set RTC Time --- lib/python/Tools/DreamboxHardware.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/python/Tools/DreamboxHardware.py b/lib/python/Tools/DreamboxHardware.py index 5461f7b0..9e81bb47 100644 --- a/lib/python/Tools/DreamboxHardware.py +++ b/lib/python/Tools/DreamboxHardware.py @@ -23,6 +23,16 @@ def setFPWakeuptime(wutime): 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: -- cgit v1.2.3 From 690b1b1a235752794a92e99bf513a6db01f42748 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 5 Mar 2009 00:12:40 +0100 Subject: mytest.py: set RTC Time on e2 shutdown when not dvb transponder time update is used add debug output --- mytest.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mytest.py b/mytest.py index 261ff2a6..b58ec2df 100755 --- a/mytest.py +++ b/mytest.py @@ -466,8 +466,8 @@ def runScreenTest(): 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 = [ @@ -479,11 +479,16 @@ def runScreenTest(): wakeupList.sort() recordTimerWakeupAuto = False 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 -- cgit v1.2.3 From 2575f3fca63db3f8804cc8257ce0e255424ab422 Mon Sep 17 00:00:00 2001 From: ghost Date: Sun, 8 Mar 2009 14:26:33 +0100 Subject: fix typo --- lib/python/Components/TimerList.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Components/TimerList.py b/lib/python/Components/TimerList.py index 1109860a..44a7eb4f 100644 --- a/lib/python/Components/TimerList.py +++ b/lib/python/Components/TimerList.py @@ -93,7 +93,7 @@ class TimerList(HTMLComponent, GUIComponent, object): def getCurrentIndex(self): return self.instance.getCurrentIndex() - currentIndex = property(moveToIndex, getCurrentIndex) + currentIndex = property(getCurrentIndex, moveToIndex) currentSelection = property(getCurrent) def moveDown(self): -- cgit v1.2.3 From e3673ba34436cd5dd868277c5ea4c4e0f22df575 Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 9 Mar 2009 19:55:00 +0100 Subject: add two missing transponders with two char mapping --- data/encoding.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/encoding.conf b/data/encoding.conf index 07c6b8a1..fe95fafe 100644 --- a/data/encoding.conf +++ b/data/encoding.conf @@ -13,6 +13,8 @@ bul ISO8859-5 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 -- cgit v1.2.3 From e926fbc3973297be694469ce932cb40cea5356c7 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Tue, 10 Mar 2009 11:26:55 +0100 Subject: try to use current GUI language as initial dvd menu language --- lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp index c2590af5..e35f2807 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp +++ b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp @@ -103,7 +103,10 @@ eServiceDVD::eServiceDVD(const char *filename): // 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) -- cgit v1.2.3 From e57f94d8f1156deee0874d24c33c98d600c9af0d Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 10 Mar 2009 12:04:41 +0100 Subject: fix readCICaIds call --- lib/dvb_ci/dvbci.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index a68edea8..a0166355 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -921,13 +921,18 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid) 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); - return 0; } - int idx=0; - ePyObject list = PyList_New(slot->possible_caids.size()); - for (caidSet::iterator it = slot->possible_caids.begin(); it != slot->possible_caids.end(); ++it) - PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); - return list; + else + { + int idx=0; + eDVBCICAManagerSession *ca_manager = slot->getCAManager(); + const std::vector &ci_caids = ca_manager->getCAIDs(); + ePyObject list = PyList_New(ci_caids.size()); + for (std::vector::const_iterator it = ci_caids.begin(); it != ci_caids.end(); ++it) + PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); + return list; + } + return 0; } int eDVBCISlot::send(const unsigned char *data, size_t len) -- cgit v1.2.3 From 4fc2a70eeb86fa51b783b4a9c034b926db0013a3 Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 10 Mar 2009 12:11:18 +0100 Subject: small fix --- lib/dvb_ci/dvbci.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index a0166355..83bbed75 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -926,10 +926,13 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid) { int idx=0; eDVBCICAManagerSession *ca_manager = slot->getCAManager(); - const std::vector &ci_caids = ca_manager->getCAIDs(); - ePyObject list = PyList_New(ci_caids.size()); - for (std::vector::const_iterator it = ci_caids.begin(); it != ci_caids.end(); ++it) - PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); + const std::vector *ci_caids = ca_manager ? &ca_manager->getCAIDs() : 0; + ePyObject list = PyList_New(ci_caids ? ci_caids->size() : 0); + if (ci_caids) + { + for (std::vector::const_iterator it = ci_caids->begin(); it != ci_caids->end(); ++it) + PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); + } return list; } return 0; -- cgit v1.2.3 From feaeba88fdfa0a51fec05a79e51e8111ffe0c4d0 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 11 Mar 2009 08:05:18 +0100 Subject: do nothing when green button is pressed in a record, to be consistent with UI --- lib/python/Screens/EventView.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/python/Screens/EventView.py b/lib/python/Screens/EventView.py index c55d9527..c1ffb585 100644 --- a/lib/python/Screens/EventView.py +++ b/lib/python/Screens/EventView.py @@ -71,6 +71,8 @@ class EventViewBase: self.key_green_choice = self.ADD_TIMER def timerAdd(self): + if self.isRecording: + return event = self.event serviceref = self.currentService if event is None: -- cgit v1.2.3 From c5e9c66d00e481493bbc3f63f98e57ac68962ce0 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 11 Mar 2009 08:06:04 +0100 Subject: Patch by Moritz Venn: The current implementation of ConfigNumber.isChanged (the one inherited from ConfigElement) does not work properly as it will - at least for unsaved values - always returns True. This is obvious if you just take a look at the datatypes since value is an int and default is a string (because ConfigNumber is a modified ConfigText). To resolve this issue one can either compare self.tostring(self.value) or self.text to self.default but the former seems to be the more logical approach. The attached patch does override the method in ConfigNumber with the proposed fix. --- lib/python/Components/config.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 4cc40633..24d39cba 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -1029,6 +1029,13 @@ class ConfigNumber(ConfigText): 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") -- cgit v1.2.3 From 4531ea135c84d78d96d66a08b67f1f5e09475c55 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 11 Mar 2009 08:12:01 +0100 Subject: Patch by Moritz Venn: Allow to set an additional delay via config. Note that this requires driver support, which is not necessarily complete. --- data/setup.xml | 2 ++ lib/python/Components/AVSwitch.py | 5 ++++- lib/python/Plugins/SystemPlugins/Videomode/plugin.py | 4 ++++ lib/service/servicedvb.cpp | 14 ++++++++++++-- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/data/setup.xml b/data/setup.xml index e2ab09b1..17301f23 100644 --- a/data/setup.xml +++ b/data/setup.xml @@ -13,6 +13,8 @@ config.av.tvsystem config.av.wss config.av.defaultac3 + config.av.generalAC3delay + config.av.generalPCMdelay config.av.downmix_ac3 config.av.vcrswitch diff --git a/lib/python/Components/AVSwitch.py b/lib/python/Components/AVSwitch.py index 3188469a..8f4255b8 100644 --- a/lib/python/Components/AVSwitch.py +++ b/lib/python/Components/AVSwitch.py @@ -1,4 +1,5 @@ -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 @@ -110,6 +111,8 @@ def InitAVSwitch(): 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() diff --git a/lib/python/Plugins/SystemPlugins/Videomode/plugin.py b/lib/python/Plugins/SystemPlugins/Videomode/plugin.py index 5a7dfd1b..6b6d5045 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/plugin.py @@ -98,6 +98,10 @@ class VideoSetup(Screen, ConfigListScreen): 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)) diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 12b75f80..012493fa 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -2267,8 +2267,18 @@ void eDVBServicePlay::updateDecoder() } } } - 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(); -- cgit v1.2.3 From 0ffeb4cf114a6706ba629112c070e3d94da98793 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 11 Mar 2009 08:49:33 +0100 Subject: fix: StandardError: eDVBCIInterfaces::setDescrambleRules entry in caid list is not a long it is 'long'!! --- lib/dvb_ci/dvbci.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index 83bbed75..8fa1bca2 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -897,14 +897,14 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject) { --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 -- cgit v1.2.3 From 0d6533c82c3703b19af8afabe1121db1d9848a60 Mon Sep 17 00:00:00 2001 From: ghost Date: Sun, 15 Mar 2009 10:19:41 +0100 Subject: add caluclation for bcm4506 based frontends --- lib/dvb/frontend.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index 5df17931..f2fc12b3 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -858,6 +858,8 @@ int eDVBFrontend::readFrontendData(int type) if (snr != 0) ret = 10 * (int)(-100 * (log10(snr) - log10(255))); } + else if (!strcmp(m_description, "BCM4506")) + ret = (snr * 100) >> 8; if (type == signalQuality) { -- cgit v1.2.3 From a2b81eb390ee9cfb892734251429a062a4fa77e4 Mon Sep 17 00:00:00 2001 From: ghost Date: Sun, 15 Mar 2009 11:58:52 +0100 Subject: add "High bitrate support" choice in CI Setup (needs new drivers to work) --- data/skin_default.xml | 4 ++-- lib/dvb_ci/dvbci.cpp | 25 +++++++++++++++++++++++++ lib/dvb_ci/dvbci.h | 2 ++ lib/dvb_ci/dvbci_ui.cpp | 5 +++++ lib/dvb_ci/dvbci_ui.h | 2 ++ lib/python/Screens/Ci.py | 21 +++++++++++++++++++-- po/de.po | 3 +++ po/enigma2.pot | 4 ++++ 8 files changed, 62 insertions(+), 4 deletions(-) diff --git a/data/skin_default.xml b/data/skin_default.xml index f99e1a76..ed3b8a23 100755 --- a/data/skin_default.xml +++ b/data/skin_default.xml @@ -172,9 +172,9 @@ self.instance.move(ePoint((720-wsizex)/2, (576-wsizey)/(count > 7 and 2 or 3) - + - + diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index 8fa1bca2..ce1f7d66 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -938,6 +938,14 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid) 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; @@ -1323,4 +1331,21 @@ int eDVBCISlot::setSource(data_source 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 init_eDVBCIInterfaces(eAutoInitNumbers::dvb, "CI Slots"); diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h index c11a1203..cdaaf904 100644 --- a/lib/dvb_ci/dvbci.h +++ b/lib/dvb_ci/dvbci.h @@ -94,6 +94,7 @@ public: void removeService(uint16_t program_number=0xFFFF); int getNumOfServices() { return running_services.size(); } int setSource(data_source source); + int setClockRate(int); }; struct CIPmtHandler @@ -146,6 +147,7 @@ public: 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 diff --git a/lib/dvb_ci/dvbci_ui.cpp b/lib/dvb_ci/dvbci_ui.cpp index af613c43..b1bfdc25 100644 --- a/lib/dvb_ci/dvbci_ui.cpp +++ b/lib/dvb_ci/dvbci_ui.cpp @@ -71,5 +71,10 @@ int eDVBCI_UI::getMMIState(int slot) return eDVBCIInterfaces::getInstance()->getMMIState(slot); } +int eDVBCI_UI::setClockRate(int slot, int rate) +{ + return eDVBCIInterfaces::getInstance()->setCIClockRate(slot, rate); +} + //FIXME: correct "run/startlevel" eAutoInitP0 init_dvbciui(eAutoInitNumbers::rc, "DVB-CI UI"); diff --git a/lib/dvb_ci/dvbci_ui.h b/lib/dvb_ci/dvbci_ui.h index b53ab02d..65b0f95d 100644 --- a/lib/dvb_ci/dvbci_ui.h +++ b/lib/dvb_ci/dvbci_ui.h @@ -13,6 +13,7 @@ class eDVBCI_UI: public eMMI_UI #endif void stateChanged(int val) { ciStateChanged(val); } public: + enum { rateNormal, rateHigh }; PSignal1 ciStateChanged; #ifndef SWIG eDVBCI_UI(); @@ -26,6 +27,7 @@ public: int answerMenu(int slot, int answer); int answerEnq(int slot, char *val); int cancelEnq(int slot); + int setClockRate(int slot, int rate); }; #endif diff --git a/lib/python/Screens/Ci.py b/lib/python/Screens/Ci.py index a997f7fe..19f4d921 100644 --- a/lib/python/Screens/Ci.py +++ b/lib/python/Screens/Ci.py @@ -12,11 +12,21 @@ from enigma import eTimer, eDVBCI_UI, eDVBCIInterfaces 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...") ): @@ -226,7 +236,13 @@ class CiMessageHandler: 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 @@ -285,7 +301,7 @@ class CiSelection(Screen): 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: @@ -315,6 +331,7 @@ class CiSelection(Screen): self.list.append( (appname, ConfigNothing(), 2, slot) ) self.list.append(getConfigListEntry(_("Multiple service support"), config.ci[slot].canDescrambleMultipleServices)) + self.list.append(getConfigListEntry(_("High bitrate support"), config.ci[slot].canHandleHighBitrates)) def updateState(self, slot): state = eDVBCI_UI.getInstance().getState(slot) diff --git a/po/de.po b/po/de.po index 6fc82571..acf7d8a8 100644 --- a/po/de.po +++ b/po/de.po @@ -1541,6 +1541,9 @@ msgstr "Hierarchieinformationen" msgid "Hierarchy mode" msgstr "Hierarchiemodus" +msgid "High bitrate support" +msgstr "Kann hohe Datenraten verarbeiten" + msgid "Horizontal" msgstr "" diff --git a/po/enigma2.pot b/po/enigma2.pot index 0e63744e..e8cc8314 100644 --- a/po/enigma2.pot +++ b/po/enigma2.pot @@ -1828,6 +1828,10 @@ msgstr "" msgid "Hierarchy mode" msgstr "" +#: ../lib/python/Screens/Ci.py:334 +msgid "High bitrate support" +msgstr "" + #: ../lib/python/Tools/Transponder.py:31 msgid "Horizontal" msgstr "" -- cgit v1.2.3 From dd6be013ecf46092c8a26fdd922307a922ab8b0a Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 16 Mar 2009 15:56:06 +0100 Subject: Ci.py: fix crash since yesterday change without new drivers --- lib/python/Screens/Ci.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/python/Screens/Ci.py b/lib/python/Screens/Ci.py index 19f4d921..0fb0feeb 100644 --- a/lib/python/Screens/Ci.py +++ b/lib/python/Screens/Ci.py @@ -331,7 +331,8 @@ class CiSelection(Screen): self.list.append( (appname, ConfigNothing(), 2, slot) ) self.list.append(getConfigListEntry(_("Multiple service support"), config.ci[slot].canDescrambleMultipleServices)) - self.list.append(getConfigListEntry(_("High bitrate support"), config.ci[slot].canHandleHighBitrates)) + if SystemInfo["CommonInterfaceSupportsHighBitrates"]: + self.list.append(getConfigListEntry(_("High bitrate support"), config.ci[slot].canHandleHighBitrates)) def updateState(self, slot): state = eDVBCI_UI.getInstance().getState(slot) -- cgit v1.2.3 From 4e8e9db9aff5f54d8159592875369a5f5696ea19 Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 17 Mar 2009 09:35:50 +0100 Subject: encoding.conf: add some polish two byte encoding transponders... thanks to Jarex --- data/encoding.conf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/data/encoding.conf b/data/encoding.conf index fe95fafe..d9d115e0 100644 --- a/data/encoding.conf +++ b/data/encoding.conf @@ -24,7 +24,11 @@ bul ISO8859-5 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 -- cgit v1.2.3 From 0c04d5e3c5d06f04638d172fa1c9a57cad32d28a Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 17 Mar 2009 20:16:48 +0100 Subject: Mediaplayer/plugin.py: dont show mediaplayer gui after seek --- lib/python/Plugins/Extensions/MediaPlayer/plugin.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/python/Plugins/Extensions/MediaPlayer/plugin.py b/lib/python/Plugins/Extensions/MediaPlayer/plugin.py index e26c65d4..e8504ff0 100644 --- a/lib/python/Plugins/Extensions/MediaPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/MediaPlayer/plugin.py @@ -148,7 +148,6 @@ class MediaPlayer(Screen, InfoBarBase, InfoBarSeek, InfoBarAudioSelection, InfoB self.player.show() return NumberActionMap.action(self, contexts, action) - self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions", { "ok": (self.ok, _("add file to playlist")), @@ -386,7 +385,7 @@ class MediaPlayer(Screen, InfoBarBase, InfoBarSeek, InfoBarAudioSelection, InfoB self.updateCurrentInfo() def showAfterSeek(self): - self.show() + pass def showAfterCuesheetOperation(self): self.show() -- cgit v1.2.3 From dd45abf9a5e4ee3230cb0272ad117079f97c3f2f Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 17 Mar 2009 21:34:22 +0100 Subject: data/menu.xml: add default weights --- data/menu.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data/menu.xml b/data/menu.xml index 56b3ee65..86000531 100644 --- a/data/menu.xml +++ b/data/menu.xml @@ -35,7 +35,7 @@ --> - + @@ -46,7 +46,7 @@ --> - + @@ -72,16 +72,16 @@ --> - - + + - + from Screens.DefaultWizard import DefaultWizard self.session.open(DefaultWizard, silent = False) - + from Screens.FactoryReset import FactoryReset def msgClosed(ret): -- cgit v1.2.3 From 5cbdedf2e348c489c6fdd26d7dc7e4ebeaa052ba Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 17 Mar 2009 22:19:58 +0100 Subject: Add plugin to assign service / providers / caids to Common Interface Modules --- configure.ac | 1 + .../CommonInterfaceAssignment/LICENSE | 12 + .../CommonInterfaceAssignment/Makefile.am | 6 + .../CommonInterfaceAssignment/__init__.py | 0 .../CommonInterfaceAssignment/plugin.py | 630 +++++++++++++++++++++ lib/python/Plugins/SystemPlugins/Makefile.am | 4 +- 6 files changed, 652 insertions(+), 1 deletion(-) create mode 100644 lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/LICENSE create mode 100644 lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/Makefile.am create mode 100644 lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/__init__.py create mode 100644 lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py diff --git a/configure.ac b/configure.ac index 49bf6d2d..cb0ace7f 100755 --- a/configure.ac +++ b/configure.ac @@ -125,6 +125,7 @@ lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/Makefile 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 diff --git a/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/LICENSE b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/LICENSE new file mode 100644 index 00000000..99700593 --- /dev/null +++ b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/LICENSE @@ -0,0 +1,12 @@ +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. diff --git a/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/Makefile.am b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/Makefile.am new file mode 100644 index 00000000..562b1491 --- /dev/null +++ b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/Makefile.am @@ -0,0 +1,6 @@ +installdir = $(LIBDIR)/enigma2/python/Plugins/SystemPlugins/CommonInterfaceAssignment + +install_PYTHON = \ + __init__.py \ + plugin.py + diff --git a/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/__init__.py b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py new file mode 100644 index 00000000..4c8167d4 --- /dev/null +++ b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py @@ -0,0 +1,630 @@ +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 = """ + + + + + + + + """ + + 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 = """ + + + + + + + + + + + + + + + """ + + 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("\n") + fp.write("\n") + fp.write("\t\n") + fp.write("\t\t%s\n" % self.ci_slot) + for item in self.selectedcaid: + if len(self.selectedcaid): + fp.write("\t\t\n" % item[0]) + for item in self.servicelist: + if len(self.servicelist): + if item[2]==1: + fp.write("\t\t\n" % (item[0], item[3])) + else: + fp.write("\t\t\n" % (item[0], item[3])) + fp.write("\t\n") + fp.write("\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 = """ + + + + + + + + + + + """ + + 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 = """ + + + + + + + + """ + + 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 = """ + + + + + + + + + + + """ + + 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 = """ + + + + + + + + + + + """ + + 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 )] diff --git a/lib/python/Plugins/SystemPlugins/Makefile.am b/lib/python/Plugins/SystemPlugins/Makefile.am index 10151f2c..634c7f42 100755 --- a/lib/python/Plugins/SystemPlugins/Makefile.am +++ b/lib/python/Plugins/SystemPlugins/Makefile.am @@ -1 +1,3 @@ -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 -- cgit v1.2.3 From bb7132afee4baa2e40be84adc38088f47ad25e86 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 19 Mar 2009 01:08:00 +0100 Subject: make ChoiceBox skinnable --- lib/python/Screens/ChoiceBox.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index 4739b7e1..f33ab0ee 100644 --- a/lib/python/Screens/ChoiceBox.py +++ b/lib/python/Screens/ChoiceBox.py @@ -5,8 +5,10 @@ from Components.ChoiceList import ChoiceEntryComponent, ChoiceList 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) + + self.skinName = ["ChoiceBox"] + skin_name self["text"] = Label(title) self.list = [] -- cgit v1.2.3 From 711ea79c32a1190d7d0d5867b83cd61d20c9fb64 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 19 Mar 2009 01:08:17 +0100 Subject: sort plugins by name, give some ChoiceBoxes individual names --- lib/python/Screens/InfoBarGenerics.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 64ed35f7..8cb2569b 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -541,7 +541,7 @@ class InfoBarEPG: 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() @@ -1277,7 +1277,7 @@ class InfoBarExtensions: 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: @@ -1295,7 +1295,9 @@ class InfoBarPlugins: 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): @@ -1642,7 +1644,7 @@ class InfoBarAudioSelection: 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 @@ -1666,7 +1668,7 @@ class InfoBarAudioSelection: 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]: @@ -1767,7 +1769,7 @@ class InfoBarSubserviceSelection: 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 -- cgit v1.2.3 From 53ce0ea2f42372971a357e5d0b455ae5cd2a3ca9 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 23 Mar 2009 00:31:40 +0100 Subject: allow strings to be used for skin_name --- lib/python/Screens/ChoiceBox.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index f33ab0ee..7c8b1427 100644 --- a/lib/python/Screens/ChoiceBox.py +++ b/lib/python/Screens/ChoiceBox.py @@ -7,8 +7,10 @@ from Components.Sources.StaticText import StaticText class ChoiceBox(Screen): def __init__(self, session, title = "", list = [], keys = None, selection = 0, skin_name = []): Screen.__init__(self, session) - - self.skinName = ["ChoiceBox"] + skin_name + + if isinstance(skin_name, str): + skin_name = [skin_name] + self.skinName = skin_name + ["ChoiceBox"] self["text"] = Label(title) self.list = [] -- cgit v1.2.3 From 010ff656ec07201a811571830de04bfa2c85676a Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 23 Mar 2009 00:31:55 +0100 Subject: add some debug assertions --- lib/gdi/font.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/gdi/font.cpp b/lib/gdi/font.cpp index 450269f0..6a6007ee 100644 --- a/lib/gdi/font.cpp +++ b/lib/gdi/font.cpp @@ -510,7 +510,12 @@ int eTextPara::renderString(const char *string, int rflags) 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)); -- cgit v1.2.3 From 0c7eeca673a4b1bda346b472badabcb67f8c2908 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 23 Mar 2009 00:32:10 +0100 Subject: handle empty bouquets --- lib/python/Components/EpgList.py | 4 ++++ lib/python/Screens/InfoBarGenerics.py | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py index 2494ca08..fa60400f 100644 --- a/lib/python/Components/EpgList.py +++ b/lib/python/Components/EpgList.py @@ -297,6 +297,8 @@ class EPGList(HTMLComponent, GUIComponent): return x and x[1] def moveToService(self,serviceref): + if not serviceref: + return index = 0 refstr = serviceref.toString() for x in self.list: @@ -306,6 +308,8 @@ class EPGList(HTMLComponent, GUIComponent): index += 1 def moveToEventId(self, eventId): + if not eventId: + return index = 0 for x in self.list: if x[1] == eventId: diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 8cb2569b..9b5f62c6 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -398,23 +398,32 @@ class SimpleServicelist: self.current = 0 def selectService(self, service): - self.current = 0 - while self.services[self.current].ref != service: - self.current += 1 + if not self.length: + self.current = -1 + else: + self.current = 0 + while self.services[self.current].ref != service: + self.current += 1 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: + return None return self.services[self.current] class InfoBarEPG: -- cgit v1.2.3 From 4ee4872e58477d2ffbc0c279a49408ee84176f0a Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 23 Mar 2009 13:19:35 +0100 Subject: config.py: remove unneeded notifier call --- lib/python/Components/config.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 24d39cba..c810e14b 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -281,7 +281,6 @@ class ConfigSelection(ConfigElement): self._descr = None self.default = self._value = self.last_value = default - self.changed() def setChoices(self, choices, default = None): self.choices = choicesList(choices) -- cgit v1.2.3 From 472d0fb82d59a7d7ffaa3e7041e0024c7ace0115 Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 23 Mar 2009 13:21:18 +0100 Subject: NimManager.py: create some config entries just when needed .. to speedup enigma2 start --- lib/python/Components/NimManager.py | 406 ++++++++++++++++++++---------------- 1 file changed, 224 insertions(+), 182 deletions(-) diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index 48778571..6222afea 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -389,20 +389,20 @@ class SecConfigure: 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) @@ -856,7 +856,7 @@ def InitSecParams(): config.sec.delay_after_last_diseqc_command = x x = ConfigInteger(default=50, limits = (0, 9999)) - x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value)) + x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value), initial_call = False) config.sec.delay_after_toneburst = x x = ConfigInteger(default=20, limits = (0, 9999)) @@ -926,57 +926,58 @@ def InitNimManager(nimmgr): "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() @@ -986,59 +987,9 @@ def InitNimManager(nimmgr): "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)] @@ -1077,26 +1028,174 @@ def InitNimManager(nimmgr): 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) @@ -1116,75 +1215,18 @@ def InitNimManager(nimmgr): 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 = { -- cgit v1.2.3 From f9259c898537d2c5f5722b9c6d8a9217ee5799ae Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 23 Mar 2009 13:25:00 +0100 Subject: improve /sys/block/*/stat parsing --- lib/python/Components/Harddisk.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/python/Components/Harddisk.py b/lib/python/Components/Harddisk.py index 8664f79a..37905b7d 100755 --- a/lib/python/Components/Harddisk.py +++ b/lib/python/Components/Harddisk.py @@ -230,9 +230,8 @@ class Harddisk: # 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() -- cgit v1.2.3 From b9f48c64a16e501cc2d5bf28a9ab89aceb51c10c Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 23 Mar 2009 14:43:20 +0100 Subject: NimManager.py: small revert --- lib/python/Components/NimManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index 6222afea..aa915937 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -856,7 +856,7 @@ def InitSecParams(): config.sec.delay_after_last_diseqc_command = x x = ConfigInteger(default=50, limits = (0, 9999)) - x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value), initial_call = False) + x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value)) config.sec.delay_after_toneburst = x x = ConfigInteger(default=20, limits = (0, 9999)) -- cgit v1.2.3 From 519da68556638c7502a4f679f859e6032e258421 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Mon, 23 Mar 2009 21:35:06 +0100 Subject: fix crash on aborting during CheckDiskspaceTask --- lib/python/Plugins/Extensions/DVDBurn/Process.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Plugins/Extensions/DVDBurn/Process.py b/lib/python/Plugins/Extensions/DVDBurn/Process.py index d0c9d3c6..6d9a4491 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/Process.py +++ b/lib/python/Plugins/Extensions/DVDBurn/Process.py @@ -372,11 +372,11 @@ class CheckDiskspaceTask(Task): 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): -- cgit v1.2.3 From 4634815c0fd9219332472707f6fcbdfd5d5b7821 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 23 Mar 2009 22:52:15 +0100 Subject: fix broken code when a hotplug partition was removed --- lib/python/Components/Harddisk.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/python/Components/Harddisk.py b/lib/python/Components/Harddisk.py index 37905b7d..ad6c1a3b 100755 --- a/lib/python/Components/Harddisk.py +++ b/lib/python/Components/Harddisk.py @@ -455,11 +455,10 @@ class HarddiskManager: 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 -- cgit v1.2.3 From 144cf702f370e52daf845950bdf17f1b12e0731e Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Tue, 24 Mar 2009 00:09:03 +0100 Subject: now that Choicelist is skinable, fix SubserviceSelection --- data/skin_default.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/skin_default.xml b/data/skin_default.xml index ed3b8a23..9b9189ef 100755 --- a/data/skin_default.xml +++ b/data/skin_default.xml @@ -915,7 +915,7 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y())) - + -- cgit v1.2.3 From e012058ee87b554bbaf1cdb911a0479271a8200b Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Tue, 24 Mar 2009 00:31:06 +0100 Subject: fix mediaplayer playlist pos (thanks to Kerni) --- data/skin_default.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/skin_default.xml b/data/skin_default.xml index 9b9189ef..d1c0aa16 100755 --- a/data/skin_default.xml +++ b/data/skin_default.xml @@ -448,7 +448,7 @@ self.instance.move(ePoint((720-wsizex)/2, (576-wsizey)/(count > 7 and 2 or 3) - + -- cgit v1.2.3 From ef7f22f113db004b3b86f3bcce5b1f8fac34b975 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 25 Mar 2009 22:30:35 +0100 Subject: remove skin for subservice selection.. so default choicelist skin is used --- data/skin_default.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/data/skin_default.xml b/data/skin_default.xml index d1c0aa16..67f8d163 100755 --- a/data/skin_default.xml +++ b/data/skin_default.xml @@ -913,10 +913,6 @@ self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y())) - - - - -- cgit v1.2.3 From e0f1f56d4acc89b75a67ece4109bb17cc0d1e6d9 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 25 Mar 2009 22:31:35 +0100 Subject: InfoBarGenerics.py: fix crash when press yellow in info screen on subservices --- lib/python/Screens/InfoBarGenerics.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 9b5f62c6..8221fca7 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -400,10 +400,14 @@ class SimpleServicelist: 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: @@ -422,7 +426,7 @@ class SimpleServicelist: self.current = self.length - 1 def currentService(self): - if not self.length: + if not self.length or self.current >= self.length: return None return self.services[self.current] @@ -540,8 +544,10 @@ class InfoBarEPG: current_path = self.servicelist.getRoot() services = self.getBouquetServices(current_path) self.serviceSel = SimpleServicelist(services) - self.serviceSel.selectService(ref) - self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB = self.changeServiceCB) + 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) @@ -553,7 +559,7 @@ class InfoBarEPG: 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) -- cgit v1.2.3 From afa81d4ccdcdc2bd76ca5483485c17e5ea68acc0 Mon Sep 17 00:00:00 2001 From: ghost Date: Thu, 26 Mar 2009 09:22:46 +0100 Subject: TimerEntry.py: dont ask to select subservice when just one subservice is available --- lib/python/Screens/TimerEntry.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py index 73b2175b..edd19685 100644 --- a/lib/python/Screens/TimerEntry.py +++ b/lib/python/Screens/TimerEntry.py @@ -310,9 +310,9 @@ class TimerEntry(Screen, ConfigListScreen): 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 @@ -324,7 +324,9 @@ class TimerEntry(Screen, ConfigListScreen): 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)) -- cgit v1.2.3 From cdfb7515f62a8860b763d3a51c92ab94fa8a2191 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 26 Mar 2009 17:09:26 +0100 Subject: update languages: lt,sv,tr,da,pl,nl,it,es,ru --- po/da.po | 331 ++++++++--- po/es.po | 280 +++++++-- po/it.po | 293 ++++++---- po/lt.po | 926 +++++++++++++++++++++++++---- po/nl.po | 125 +++- po/pl.po | 230 +++++--- po/ru.po | 1971 +++++++++++++++++++++++++++++++++++++------------------------- po/sv.po | 102 +++- po/tr.po | 128 ++-- 9 files changed, 3028 insertions(+), 1358 deletions(-) mode change 100755 => 100644 po/ru.po diff --git a/po/da.po b/po/da.po index e9a72693..77784681 100644 --- a/po/da.po +++ b/po/da.po @@ -2,8 +2,8 @@ msgid "" 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 \n" "Language-Team: jazzydane \n" "MIME-Version: 1.0\n" @@ -18,62 +18,94 @@ msgid "" "\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 " " @@ -417,13 +449,13 @@ msgid "Advanced" 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" @@ -456,9 +488,6 @@ msgstr "Alternativ kanal tuner prioritet" 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!" @@ -483,11 +512,15 @@ msgid "" "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" @@ -559,22 +592,22 @@ msgid "Backup Mode" 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" @@ -684,7 +717,7 @@ msgid "Channel Selection" msgstr "Kanal Vælger" msgid "Channel not in services list" -msgstr "" +msgstr "Kanalen er ikke kanal oplistningen" msgid "Channel:" msgstr "Kanal:" @@ -711,10 +744,10 @@ msgid "Choose Tuner" 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" @@ -726,16 +759,16 @@ msgid "Choose target folder" 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" @@ -782,6 +815,9 @@ msgstr "Kommiteret DiSEqC kommando" msgid "Common Interface" msgstr "CA Modul" +msgid "Common Interface Assignment" +msgstr "" + msgid "Compact Flash" msgstr "Kompakt Flash" @@ -794,6 +830,9 @@ msgstr "Færdig" 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" @@ -845,7 +884,7 @@ msgstr "Kunne ikke indlæse media! Ingen disk isat?" #, 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" @@ -950,7 +989,7 @@ msgid "Description" msgstr "Beskrivelse" msgid "Deselect" -msgstr "" +msgstr "Fravælg" msgid "Destination directory" msgstr "Destinations mappe" @@ -1018,7 +1057,7 @@ msgid "Display 4:3 content as" 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" @@ -1088,7 +1127,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1097,10 +1136,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1109,7 +1148,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1119,7 +1158,7 @@ msgstr "" "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?" @@ -1137,7 +1176,7 @@ msgstr "Færdig - Installerede og opgraderede %d pakker med %d fejl" #, 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" @@ -1188,6 +1227,9 @@ msgstr "Rediger" msgid "Edit DNS" msgstr "Ændre DNS" +msgid "Edit IPKG source URL..." +msgstr "" + msgid "Edit Title" msgstr "Rediger titel" @@ -1453,6 +1495,18 @@ msgstr "" 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" @@ -1498,9 +1552,12 @@ msgstr "Hiraki Information" 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?" @@ -1593,12 +1650,18 @@ msgid "Input" 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" @@ -1645,7 +1708,7 @@ msgid "Invert display" msgstr "Inverter display" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "Italiensk" @@ -1694,7 +1757,7 @@ msgid "Latitude" msgstr "Breddegrad" msgid "Latvian" -msgstr "" +msgstr "Lettisk" msgid "Leave DVD Player?" msgstr "Forlade DVD Afspiller?" @@ -1702,6 +1765,9 @@ 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" @@ -1746,7 +1812,7 @@ msgid "Lock:" msgstr "Lås:" msgid "Log results to harddisk" -msgstr "" +msgstr "Log resultaterne til harddisken" msgid "Long Keypress" msgstr "Langt Tastetryk" @@ -1776,7 +1842,7 @@ msgid "Make this mark just a mark" 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" @@ -1785,7 +1851,7 @@ msgid "Manual transponder" msgstr "Manuel transponder" msgid "Manufacturer" -msgstr "" +msgstr "Fabrikant" msgid "Margin after record" msgstr "Margin efter optagelse" @@ -1812,7 +1878,7 @@ msgid "Message" msgstr "Besked" msgid "Message..." -msgstr "" +msgstr "Besked..." msgid "Mkfs failed" msgstr "Mkfs fejlede" @@ -1974,6 +2040,9 @@ msgstr "" 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." @@ -2150,7 +2219,7 @@ msgid "Packet management" msgstr "Pakke kontrol" msgid "Packet manager" -msgstr "" +msgstr "Pakkestyring" msgid "Page" msgstr "Side" @@ -2199,6 +2268,12 @@ msgstr "Afspil" msgid "Play Audio-CD..." msgstr "Afspil Lyd-CD" +msgid "Play DVD" +msgstr "" + +msgid "Play Music..." +msgstr "" + msgid "Play recorded movies..." msgstr "Afspil optagede film..." @@ -2289,7 +2364,7 @@ msgid "Please select a subservice..." 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..." @@ -2329,7 +2404,7 @@ msgid "Please wait for activation of your network configuration..." 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..." @@ -2408,7 +2483,7 @@ msgstr "Tryk på OK for at redigere indstillinger." #, 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" @@ -2426,7 +2501,7 @@ msgid "Primary DNS" msgstr "Primær DNS" msgid "Priority" -msgstr "" +msgstr "Prioritet" msgid "Properties of current title" msgstr "Egenskaber for den aktuelle titel" @@ -2446,9 +2521,12 @@ msgstr "Udbyder til søgning" msgid "Providers" msgstr "Udbydere" -msgid "Quick" +msgid "Python frontend for /tmp/mmi.socket" msgstr "" +msgid "Quick" +msgstr "Kvik" + msgid "Quickzap" msgstr "Hurtigskift" @@ -2471,7 +2549,7 @@ msgid "Ram Disk" msgstr "Ram Disk" msgid "Random" -msgstr "" +msgstr "Tilfældig" msgid "Really close without saving settings?" msgstr "Vil du virkelig lukke uden at gemme indstillinger?" @@ -2502,7 +2580,7 @@ msgstr "Optage" #, 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..." @@ -2526,7 +2604,7 @@ msgid "Refresh rate selection." msgstr "Opdaterings Rate vælger." msgid "Reload" -msgstr "" +msgstr "Genindlæs" msgid "Remove Bookmark" msgstr "Fjern bogmærke" @@ -2541,7 +2619,7 @@ msgid "Remove currently selected title" msgstr "Fjerne nuværende valgte titel" msgid "Remove finished." -msgstr "" +msgstr "Sletning afsluttet" msgid "Remove plugins" msgstr "Fjerne plugins" @@ -2553,13 +2631,13 @@ msgid "Remove the incomplete .NFI file?" 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.)" @@ -2611,16 +2689,16 @@ msgid "Restore" 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 " @@ -2712,6 +2790,9 @@ msgstr "Skalerings Type" msgid "Scan " msgstr "Søgning" +msgid "Scan Files..." +msgstr "" + msgid "Scan QAM128" msgstr "Søge QAM128" @@ -2800,11 +2881,14 @@ msgid "Seek" 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" @@ -2824,10 +2908,10 @@ msgid "Select channel to record from" 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" @@ -2838,6 +2922,9 @@ msgstr "Vælg opdaterings rate" 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" @@ -3008,16 +3095,16 @@ msgid "Slow Motion speeds" 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" @@ -3026,10 +3113,10 @@ msgid "Somewhere else" 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" @@ -3044,12 +3131,17 @@ msgid "" "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" @@ -3120,10 +3212,10 @@ msgid "Stop test" 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" @@ -3206,10 +3298,10 @@ msgid "Terrestrial provider" 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" @@ -3260,6 +3352,9 @@ msgstr "" "\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 " @@ -3313,7 +3408,7 @@ msgstr "De indtastede pin koder er forskellige." #, 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." @@ -3353,6 +3448,9 @@ msgstr "" "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!" @@ -3378,6 +3476,10 @@ msgstr "" "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!" @@ -3578,6 +3680,9 @@ msgstr "Prøver at finde Transpondere i kabel netværk.. vent venligst..." 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" @@ -3612,7 +3717,7 @@ msgid "Two" msgstr "To" msgid "Type" -msgstr "" +msgstr "Type" msgid "Type of scan" msgstr "Søge type" @@ -3650,13 +3755,13 @@ msgid "Uncommitted DiSEqC command" 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" @@ -3677,7 +3782,7 @@ msgid "Updating... Please wait... This can take some minutes..." 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?" @@ -3758,7 +3863,7 @@ msgid "VMGM (intro trailer)" msgstr "VMGM (intro trailer)" msgid "Vertical" -msgstr "" +msgstr "Vertikal" msgid "Video Fine-Tuning" msgstr "Video Fin-Justering..." @@ -3793,9 +3898,18 @@ msgstr "" 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..." @@ -3899,6 +4013,11 @@ msgid "" "\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?" @@ -4021,6 +4140,8 @@ msgid "" "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 " @@ -4033,6 +4154,8 @@ msgid "" "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!" @@ -4073,6 +4196,11 @@ msgstr "" "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..." @@ -4122,6 +4250,12 @@ msgstr "[Favorit redigering]" 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" @@ -4137,6 +4271,12 @@ msgstr "Ved at starte" 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" @@ -4195,6 +4335,12 @@ msgstr "" "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" @@ -4207,7 +4353,7 @@ msgid "audio tracks" msgstr "lyd spor" msgid "auto" -msgstr "" +msgstr "auto" msgid "back" msgstr "Tilbage" @@ -4282,6 +4428,9 @@ msgstr "Daglig" msgid "day" msgstr "dag" +msgid "delete" +msgstr "Slet" + msgid "delete cut" msgstr "Slet klip" @@ -4455,6 +4604,9 @@ msgstr "" msgid "init module" msgstr "Initialiser modul" +msgid "init modules" +msgstr "" + msgid "insert mark here" msgstr "Indsæt mærke her" @@ -4560,9 +4712,18 @@ msgstr "Næste kanal i hukommelse" 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" @@ -4579,7 +4740,7 @@ msgid "not locked" msgstr "Ikke låst" msgid "not used" -msgstr "" +msgstr "ikke anvendt" msgid "nothing connected" msgstr "Intet tilsluttet" @@ -4735,6 +4896,9 @@ msgstr "vælg" 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" @@ -4865,7 +5029,7 @@ msgid "switch to playlist" 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" @@ -4874,7 +5038,7 @@ msgid "switch to the next subtitle language" msgstr "Skift til næste undertekst sprog" msgid "template file" -msgstr "" +msgstr "skabelon fil" msgid "textcolor" msgstr "tekstfarve" @@ -4928,7 +5092,7 @@ msgid "whitelist" msgstr "Hvidliste" msgid "working" -msgstr "" +msgstr "fungerer" msgid "yellow" msgstr "gul" @@ -4952,13 +5116,6 @@ msgstr "Zap" msgid "zapped" msgstr "Zappet" -#~ msgid "" -#~ "\n" -#~ "Enigma2 will restart after the restore" -#~ msgstr "" -#~ "\n" -#~ "Enigma2 vil genstarte efter gendannelse" - #~ msgid "\"?" #~ msgstr "\"?" @@ -4989,6 +5146,9 @@ msgstr "Zappet" #~ 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" @@ -5516,9 +5676,6 @@ msgstr "Zappet" #~ msgid "color" #~ msgstr "farve" -#~ msgid "delete" -#~ msgstr "Slet" - #~ msgid "equal to Socket A" #~ msgstr "Som Tuner A" diff --git a/po/es.po b/po/es.po index 8620ab15..83d22203 100644 --- a/po/es.po +++ b/po/es.po @@ -1,14 +1,14 @@ -# 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. -# +# 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 \n" "Language-Team: none\n" "MIME-Version: 1.0\n" @@ -23,62 +23,94 @@ msgid "" "\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 " " @@ -423,13 +455,13 @@ msgid "Advanced" 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" @@ -462,9 +494,6 @@ msgstr "Prioridad de sintonizadores alternativa" 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!" @@ -489,11 +518,15 @@ msgid "" "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" @@ -565,22 +598,22 @@ msgid "Backup Mode" 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" @@ -718,10 +751,10 @@ msgid "Choose Tuner" 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" @@ -733,7 +766,7 @@ msgid "Choose target folder" msgstr "Elegir carpeta destino" msgid "Choose upgrade source" -msgstr "" +msgstr "Elije fuente de actualización" msgid "Choose your Skin" msgstr "Elija su Piel" @@ -789,6 +822,9 @@ msgstr "Comando DISEqC enviado" msgid "Common Interface" msgstr "Interface común" +msgid "Common Interface Assignment" +msgstr "" + msgid "Compact Flash" msgstr "Compact Flash" @@ -801,6 +837,9 @@ msgstr "Completado" 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" @@ -957,7 +996,7 @@ msgid "Description" msgstr "Descripción" msgid "Deselect" -msgstr "" +msgstr "Deseleccionar" msgid "Destination directory" msgstr "Directorio destino" @@ -1095,7 +1134,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1104,10 +1143,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1116,7 +1155,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1126,7 +1165,7 @@ msgstr "" "¡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?" @@ -1144,7 +1183,7 @@ msgstr "Hecho - Instalados o actualizados %d paquetes con %d errores" #, 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" @@ -1195,6 +1234,9 @@ msgstr "Editar" 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" @@ -1462,6 +1504,18 @@ msgstr "" 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" @@ -1507,6 +1561,9 @@ msgstr "Información jerárquica" msgid "Hierarchy mode" msgstr "Modo jerárquico" +msgid "High bitrate support" +msgstr "" + msgid "Horizontal" msgstr "Horizontal" @@ -1602,13 +1659,19 @@ msgid "Input" 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" @@ -1654,7 +1717,7 @@ msgid "Invert display" msgstr "Visualización invertida" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "Italiano" @@ -1703,7 +1766,7 @@ msgid "Latitude" msgstr "Latitud" msgid "Latvian" -msgstr "" +msgstr "Letón" msgid "Leave DVD Player?" msgstr "Dejar el Reproductor de DVD?" @@ -1711,6 +1774,9 @@ 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" @@ -1785,7 +1851,7 @@ msgid "Make this mark just a mark" 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" @@ -1982,6 +2048,9 @@ msgstr "" 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." @@ -2160,7 +2229,7 @@ msgid "Packet management" msgstr "Manejo de paquete" msgid "Packet manager" -msgstr "" +msgstr "Manejador de paquetes" msgid "Page" msgstr "Página" @@ -2209,6 +2278,12 @@ msgstr "Reproducir" 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..." @@ -2299,7 +2374,7 @@ msgid "Please select a subservice..." 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..." @@ -2456,6 +2531,9 @@ msgstr "Proveedor a buscar" msgid "Providers" msgstr "Proveedores" +msgid "Python frontend for /tmp/mmi.socket" +msgstr "Frontend Python para /tmp/mmi.socket" + msgid "Quick" msgstr "Rápido" @@ -2537,7 +2615,7 @@ msgid "Refresh rate selection." msgstr "Selección de velocidad de refresco." msgid "Reload" -msgstr "" +msgstr "Recargar" msgid "Remove Bookmark" msgstr "Borrar Marcador" @@ -2552,7 +2630,7 @@ msgid "Remove currently selected title" msgstr "Borrar el título seleccionado" msgid "Remove finished." -msgstr "" +msgstr "Borrado finalizado." msgid "Remove plugins" msgstr "Borrar complmentos" @@ -2570,7 +2648,7 @@ msgid "Remove title" msgstr "Borrar el título" msgid "Removing" -msgstr "" +msgstr "Borrando" #, python-format msgid "Removing directory %s failed. (Maybe not empty.)" @@ -2622,16 +2700,16 @@ msgid "Restore" 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 " @@ -2725,6 +2803,9 @@ msgstr "Modo de búsqueda" msgid "Scan " msgstr "Escanear" +msgid "Scan Files..." +msgstr "Escanear Ficheros..." + msgid "Scan QAM128" msgstr "Escanear QAM128" @@ -2812,11 +2893,14 @@ msgid "Seek" 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" @@ -2836,10 +2920,10 @@ msgid "Select channel to record from" 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" @@ -2850,6 +2934,9 @@ msgstr "Seleccionar la velocidad de refresco" 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" @@ -3020,16 +3107,16 @@ msgid "Slow Motion speeds" 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" @@ -3038,10 +3125,10 @@ msgid "Somewhere else" 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" @@ -3056,12 +3143,17 @@ msgid "" "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" @@ -3270,6 +3362,9 @@ msgstr "" "\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 " @@ -3365,6 +3460,9 @@ msgstr "" "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!" @@ -3390,6 +3488,10 @@ msgstr "" "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!" @@ -3591,6 +3693,9 @@ msgstr "" 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" @@ -3690,7 +3795,7 @@ msgid "Updating... Please wait... This can take some minutes..." 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?" @@ -3808,9 +3913,18 @@ msgstr "" 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..." @@ -3915,6 +4029,11 @@ msgid "" "\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?" @@ -4038,6 +4157,8 @@ msgid "" "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 " @@ -4050,6 +4171,8 @@ msgid "" "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!" @@ -4089,6 +4212,13 @@ msgstr "" "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..." @@ -4138,6 +4268,12 @@ msgstr "[editar favoritos]" 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" @@ -4153,6 +4289,12 @@ msgstr "sobre comenzar" 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" @@ -4211,6 +4353,12 @@ msgstr "" "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)" @@ -4298,6 +4446,9 @@ msgstr "diariamente" msgid "day" msgstr "día" +msgid "delete" +msgstr "borrar" + msgid "delete cut" msgstr "borrar corte" @@ -4471,6 +4622,9 @@ msgstr "" msgid "init module" msgstr "iniciar módulo" +msgid "init modules" +msgstr "" + msgid "insert mark here" msgstr "insertar marca aquí" @@ -4576,9 +4730,18 @@ msgstr "canal siguiente en historia" 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" @@ -4751,6 +4914,9 @@ msgstr "seleccionar" 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" @@ -4968,12 +5134,15 @@ msgstr "zapear" 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 "\"?" @@ -5397,9 +5566,6 @@ msgstr "zapeado" #~ msgid "color" #~ msgstr "color" -#~ msgid "delete" -#~ msgstr "borrar" - #~ msgid "empty/unknown" #~ msgstr "vacío/desconocido" diff --git a/po/it.po b/po/it.po index e9ddd376..e5691dfe 100644 --- a/po/it.po +++ b/po/it.po @@ -1,11 +1,11 @@ -# Signed-off.by: Dario Croci +# Signed-off-by: Dario Croci # 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 \n" "Language-Team: WWW.LINSAT.NET \n" "MIME-Version: 1.0\n" @@ -44,6 +44,13 @@ msgstr "" "\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." @@ -181,7 +188,7 @@ msgid "* Only available when entering hidden SSID or network key" 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!" @@ -438,7 +445,7 @@ msgstr "" "numerici per accedere alle altre schermate." msgid "Advanced" -msgstr "" +msgstr "Avanzato" msgid "Advanced Options" msgstr "Opzioni avanzate" @@ -480,9 +487,6 @@ msgstr "Priorità Tuner" 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!" @@ -581,10 +585,10 @@ msgid "Backup" msgstr "Backup" msgid "Backup Location" -msgstr "" +msgstr "Destinazione backup" msgid "Backup Mode" -msgstr "" +msgstr "Modalità Backup" msgid "Backup done." msgstr "Backup eseguito." @@ -667,7 +671,7 @@ msgid "Cable" msgstr "Cavo" msgid "Cache Thumbnails" -msgstr "Cache Miniature" +msgstr "\"Cache\" Miniature" msgid "Call monitoring" msgstr "Controllo chiamata" @@ -748,7 +752,7 @@ msgid "Choose bouquet" msgstr "Selezionare il bouquet" msgid "Choose source" -msgstr "" +msgstr "Selezionare Origine" msgid "Choose target folder" msgstr "Cartella destinazione" @@ -808,7 +812,10 @@ msgid "Committed DiSEqC command" 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" @@ -822,6 +829,9 @@ msgstr "Completo" 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" @@ -1097,6 +1107,8 @@ msgid "" "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?" @@ -1159,7 +1171,7 @@ msgstr "Fatto! Installati o aggiornati %d pacchetti" #, 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" @@ -1169,13 +1181,13 @@ msgid "Download" 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" @@ -1214,6 +1226,9 @@ msgstr "Modif." msgid "Edit DNS" msgstr "Mod. DNS" +msgid "Edit IPKG source URL..." +msgstr "Modificare URL sorgenti IPKG" + msgid "Edit Title" msgstr "Mod. Titolo" @@ -1480,6 +1495,18 @@ msgstr "" 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" @@ -1525,6 +1552,9 @@ msgstr "Informazioni gerarchia" msgid "Hierarchy mode" msgstr "Modalità gerarchica" +msgid "High bitrate support" +msgstr "Supporto \"Hight bitrate\"" + msgid "Horizontal" msgstr "Orizzontale" @@ -1631,6 +1661,12 @@ msgstr "Installare nuova immagine tramite web browser" 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" @@ -1724,7 +1760,7 @@ msgid "Latitude" msgstr "Latitudine" msgid "Latvian" -msgstr "" +msgstr "Lettone" msgid "Leave DVD Player?" msgstr "Uscire dal Player DVD?" @@ -1732,6 +1768,9 @@ 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" @@ -2002,6 +2041,9 @@ msgstr "" 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." @@ -2227,6 +2269,12 @@ msgstr "Play" 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" @@ -2476,6 +2524,9 @@ msgstr "Provider su cui cercare" msgid "Providers" msgstr "Provider" +msgid "Python frontend for /tmp/mmi.socket" +msgstr "\"Frontend\" Python per /tmp/mmi.socket" + msgid "Quick" msgstr "Veloce" @@ -2739,11 +2790,14 @@ msgid "Save Playlist" 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" @@ -2838,6 +2892,9 @@ msgstr "Selezionare" 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" @@ -2871,6 +2928,9 @@ msgstr "Selezionare la frequenza di refresh" 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" @@ -3028,7 +3088,7 @@ msgid "Sleep timer action:" msgstr "Azione: " msgid "Slideshow Interval (sec.)" -msgstr "Intevallo presentazione (sec.)" +msgstr "Intevallo \"Slideshow\" (sec.)" #, python-format msgid "Slot %d" @@ -3069,6 +3129,9 @@ msgid "" "\n" "Please choose an other one." msgstr "" +"Destinazione backup inesistente!\n" +"\n" +"Selezionarne un'altra!" msgid "" "Sorry your backup destination is not writeable.\n" @@ -3212,7 +3275,7 @@ msgstr "" "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!" @@ -3292,6 +3355,9 @@ msgstr "" "\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 " @@ -3384,6 +3450,9 @@ msgstr "" "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!" @@ -3409,6 +3478,10 @@ msgstr "" "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!" @@ -3612,6 +3685,9 @@ msgstr "Ricerca dei transponder utilizzati sulla rete via cavo... Attendere." 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" @@ -3702,7 +3778,7 @@ msgid "Update" 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:" @@ -3714,7 +3790,7 @@ msgid "Upgrade finished." 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" @@ -3828,9 +3904,18 @@ msgstr "" 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" @@ -4057,6 +4142,7 @@ msgid "" "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 " @@ -4116,6 +4202,13 @@ msgid "" 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..." @@ -4169,6 +4262,12 @@ msgstr "[edit preferiti ]" 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" @@ -4184,6 +4283,12 @@ msgstr "Avvio in corso" 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" @@ -4239,6 +4344,14 @@ msgid "" "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" @@ -4258,10 +4371,10 @@ msgid "back" 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" @@ -4327,6 +4440,9 @@ msgstr "Giornaliero" msgid "day" msgstr "Giorno" +msgid "delete" +msgstr "Cancellare" + msgid "delete cut" msgstr "Cancellare taglio" @@ -4436,10 +4552,10 @@ msgid "failed" 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" @@ -4500,6 +4616,9 @@ msgstr "" msgid "init module" msgstr "Inizializzazione modulo" +msgid "init modules" +msgstr "Init Moduli" + msgid "insert mark here" msgstr "Inserire contrassegno" @@ -4605,9 +4724,18 @@ msgstr "Canale successivo nella history" 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!" @@ -4780,6 +4908,9 @@ msgstr "Selezionare" 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" @@ -4808,7 +4939,7 @@ msgid "show EPG..." msgstr "EPG" msgid "show Infoline" -msgstr "Mostrare Informazioni" +msgstr "Mostrare Info" msgid "show all" msgstr "Mostrare tutto" @@ -4862,7 +4993,7 @@ msgid "skip forward (enter time)" 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" @@ -4922,7 +5053,7 @@ msgid "template file" msgstr "File modello" msgid "textcolor" -msgstr "Colore testo" +msgstr "Colore Testo" msgid "this recording" msgstr "Questa registrazione" @@ -5007,101 +5138,5 @@ msgstr "Zapped" #~ "\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!" diff --git a/po/lt.po b/po/lt.po index 481b970c..9cb7900a 100644 --- a/po/lt.po +++ b/po/lt.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: tuxbox-enigma 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 14:15+0100\n" -"PO-Revision-Date: 2009-02-16 19:53+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 \n" "Language-Team: Adga / enigma2 (c) \n" "MIME-Version: 1.0\n" @@ -39,14 +39,14 @@ msgid "" "Edit the upgrade source address." msgstr "" "\n" -"Redaguoti atnaujinimo šaltinio adresus." +"Redaguoti atnaujinimo šaltinio adresą." msgid "" "\n" "Enigma2 will restart after the restore" msgstr "" "\n" -"Enigma2 iš naujo pasileis po atkūrimo" +"Enigma2 pasileis iš naujo po atkūrimo" msgid "" "\n" @@ -96,7 +96,7 @@ msgid "" "Current device: " msgstr "" "\n" -"Išsirinkite jūsų atsarginės kopijos įrenginį.\n" +"Pasirinkite jūsų atsarginės kopijos įrenginį.\n" "Dabartinis įrenginys: " msgid "" @@ -179,10 +179,10 @@ msgid "(show optional DVD audio menu)" msgstr "(rodyti pasirenkamą DVD garso meniu)" msgid "* Only available if more than one interface is active." -msgstr "* Pasiekiama tiktai, jei daugiau kaip viena sąsaja yra aktyvi." +msgstr "* Pasiekiamas tiktai, jei daugiau kaip vienas interfeisas yra aktyvus." msgid "* Only available when entering hidden SSID or network key" -msgstr "* Pasiekiama tiktai, surinkus paslėptą SSID ar tinklo raktą" +msgstr "* Pasiekiamas tiktai, surinkus paslėptą SSID ar tinklo raktą" msgid ".NFI Download failed:" msgstr ".NFI parsisiuntimas klaidingas:" @@ -372,7 +372,7 @@ msgid "" "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" @@ -450,13 +450,13 @@ msgid "Advanced" msgstr "Išplėstinis" msgid "Advanced Options" -msgstr "Išplėstiniai nustatymai" +msgstr "Papildomi nustatymai" msgid "Advanced Video Setup" msgstr "Išplėstiniai vaizdo nustatymai" msgid "Advanced restore" -msgstr "Išplėstinis atkūrimas" +msgstr "Papildomas atkūrimas" msgid "After event" msgstr "Po įvykio" @@ -596,19 +596,19 @@ msgid "Backup done." msgstr "Atsarginė kopija padaryta." msgid "Backup failed." -msgstr "Atsarginė kopija nepadaryta." +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 "Vykdoma atsarginė kopija " +msgstr "Atsarginė kopija vykdoma" msgid "Backup running..." -msgstr "Vykdoma atsarginė kopija..." +msgstr "Atsarginė kopija vykdoma..." msgid "Backup system settings" -msgstr "Sisteminių nustatymų atsarginė kopija" +msgstr "Atsarginė sisteminių nustatymų kopija" msgid "Band" msgstr "Juosta" @@ -682,7 +682,7 @@ msgid "Cancel" msgstr "Atšaukti" msgid "Cannot parse feed directory" -msgstr "Negali rasti perdavimo direktorijos" +msgstr "Negalima nagrinėti serverio direktorijos" msgid "Capacity: " msgstr "Talpa: " @@ -700,16 +700,16 @@ msgid "Change dir." msgstr "Pakeisti dir." msgid "Change pin code" -msgstr "Pakeisti pin kodą" +msgstr "Pakeisti PIN kodą" msgid "Change service pin" -msgstr "Pakeisti kanalo pin" +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 "Pakeisti nustatymų PIN" msgid "Channel" msgstr "Kanalas" @@ -724,7 +724,7 @@ msgid "Channel:" msgstr "Kanalas:" msgid "Channellist menu" -msgstr "Kanalų sąrašo meniu" +msgstr "Kanalų meniu sąrašas" msgid "Chap." msgstr "Skyr." @@ -745,10 +745,10 @@ msgid "Choose Tuner" msgstr "Išsirinkite imtuvą" msgid "Choose backup files" -msgstr "Išsirinkite atsarginės kopijos failus" +msgstr "Pasirinkite atsarginės kopijos failus" msgid "Choose backup location" -msgstr "Išsirinkite atsarginės kopijos vietą" +msgstr "Pasirinkite atsarginės kopijos vietą" msgid "Choose bouquet" msgstr "Išsirinkite paketą" @@ -760,7 +760,7 @@ msgid "Choose target folder" msgstr "Išsirinkite aplanką" msgid "Choose upgrade source" -msgstr "Išsirinkite atnaujinimo šaltinį " +msgstr "Pasirinkite atnaujinimo šaltinį" msgid "Choose your Skin" msgstr "Išsirinkite savo temą" @@ -816,6 +816,9 @@ msgstr "DiSEqC perjungimo komanda" msgid "Common Interface" msgstr "Įstatomi moduliai" +msgid "Common Interface Assignment" +msgstr "" + msgid "Compact Flash" msgstr "Kompaktinė atmintinė" @@ -828,6 +831,9 @@ msgstr "Įvykdyta" 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" @@ -882,7 +888,7 @@ msgid "Couldn't record due to conflicting timer %s" msgstr "Neįrašyta dėl prieštaringo laikmačio %s" msgid "Create DVD-ISO" -msgstr "Kurti DVD-ISO" +msgstr "Sukurti DVD-ISO" msgid "Create movie folder failed" msgstr "Fimų aplanko sukurti nepavyko" @@ -916,7 +922,7 @@ msgid "Custom skip time for '7'/'9'-keys" msgstr "Praleisti laiką pasirinktinai '7'/'9'-mygtukams" msgid "Customize" -msgstr "Vartotojo nustatymai" +msgstr "Vartotojo pasirinkimai" msgid "Cut" msgstr "Iškirpti" @@ -949,13 +955,13 @@ msgid "Danish" 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" @@ -970,14 +976,14 @@ msgid "Delete entry" 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" @@ -1005,7 +1011,7 @@ msgid "DiSEqC A/B/C/D" msgstr "DiSEqC A/B/C/D" msgid "DiSEqC mode" -msgstr "DiSEqC pasirinkimas" +msgstr "DiSEqC būdas" msgid "DiSEqC repeats" msgstr "DiSEqC pakartojimai" @@ -1052,10 +1058,10 @@ msgid "Display 4:3 content as" msgstr "Rodyti kaip 4:3 " msgid "Display >16:9 content as" -msgstr "Monitorius> 16:9 turinys kaip" +msgstr "Monitorius >16:9 turinys kaip" msgid "Display Setup" -msgstr "Monitoriaus nustatymas" +msgstr "Monitoriaus parametrai" #, python-format msgid "" @@ -1122,7 +1128,7 @@ msgid "Do you want to install default sat lists?" msgstr "Jūs norite įdiegti numatytus palydovų sąrašus?" msgid "Do you want to install the package:\n" -msgstr "Ar jūs norite įdiegti package:\n" +msgstr "Jūs norite įdiegti package:\n" msgid "Do you want to play DVD in drive?" msgstr "Jūs norite paleisti DVD?" @@ -1131,10 +1137,10 @@ msgid "Do you want to preview this DVD before burning?" msgstr "Jūs norite peržiūrėti šį DVD prieš išdeginimą?" msgid "Do you want to reboot your Dreambox?" -msgstr "Ar jūs norite paleisti iš naujo Dreambox?" +msgstr "Jūs norite perjungti savo Dreambox?" msgid "Do you want to remove the package:\n" -msgstr "Ar jūs norite pašalinti paketą:\n" +msgstr "Jūs norite pašalinti paketą:\n" msgid "Do you want to restore your settings?" msgstr "Jūs norite atkurti nustatymus?" @@ -1143,7 +1149,7 @@ msgid "Do you want to resume this playback?" msgstr "Jūs norite tęsti šį atkūrimą?" msgid "Do you want to update your Dreambox?" -msgstr "Ar jūs norite atnaujinti savo Dreambox?" +msgstr "Jūs norite atnaujinti savo Dreambox?" msgid "" "Do you want to update your Dreambox?\n" @@ -1153,7 +1159,7 @@ msgstr "" "Spauskite OK ir palaukite!" msgid "Do you want to upgrade the package:\n" -msgstr "Ar jūs norite atnaujinti paketą:\n" +msgstr "Jūs norite atnaujinti paketą:\n" msgid "Do you want to view a tutorial?" msgstr "Ar norite peržiūrėti aprašymą?" @@ -1315,10 +1321,10 @@ msgid "Enter Rewind at speed" 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..." @@ -1490,6 +1496,18 @@ msgstr "" 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" @@ -1535,6 +1553,9 @@ msgstr "Hierarchijos informacija" msgid "Hierarchy mode" msgstr "Hierarchijos režimas" +msgid "High bitrate support" +msgstr "" + msgid "Horizontal" msgstr "Horizontalus" @@ -1637,16 +1658,16 @@ msgid "Install a new image with a USB stick" msgstr "Įdiekite naują atvaizdą su USB įrenginiu" msgid "Install a new image with your web browser" -msgstr "Įdiekite naują atvaizdą su internetine naršykle" +msgstr "Įdiekite naują atvaizdą su savo tinklo naršykle" msgid "Install local IPKG" -msgstr "Įdiegti vietinį IPKG" +msgstr "Įdiekite vietinį IPKG" msgid "Install settings, skins, software..." -msgstr "" +msgstr "Įdiekite nustatymus, temas, programinę įrangą..." msgid "Install software updates..." -msgstr "" +msgstr "Įdiekite programinius atnaujinimus..." msgid "Installing" msgstr "Įdiegiama" @@ -1750,7 +1771,7 @@ msgid "Left" msgstr "Kairė" msgid "Lets you view/edit files in your Dreambox" -msgstr "" +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" @@ -1862,7 +1883,7 @@ msgid "Message" msgstr "Pranešimas" msgid "Message..." -msgstr "Pranešimas..." +msgstr "Žinutė..." msgid "Mkfs failed" msgstr "Mkfs nepavyko" @@ -2025,7 +2046,7 @@ msgid "No details for this image file" msgstr "Nėra informacijos apie šį atvaizdą" msgid "No displayable files on this medium found!" -msgstr "" +msgstr "Jokių failų čia nerasta!" msgid "No event info found, recording indefinitely." msgstr "Informacija apie įvykius nerasta, tęsiamas įrašymas." @@ -2108,9 +2129,9 @@ msgid "" " Please verify that you have attached a compatible WLAN device or enable " "your local network interface." msgstr "" -"Jokia veikianti belaidžio tinklo sąsaja nerasta.\n" -"Prašome patikrinti, ar jūs pridėjote suderinamą WLAN prietaisą ar įjungėte " -"jūsų vietinio tinklo sąsają." +"Joks veikiantis belaidžio tinklo interfeisas nerastas.\n" +"Prašome patikrinti, kad jūs pridėjote suderinamą WLAN prietaisą ar įjungėte " +"jūsų vietinio tinklo interfeisą." msgid "No, but restart from begin" msgstr "Ne, paleisti nuo pradžių" @@ -2201,13 +2222,13 @@ msgid "PIDs" 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 "Paketų valdymas" +msgstr "Paketo valdymas" msgid "Page" msgstr "Puslapis" @@ -2257,10 +2278,10 @@ msgid "Play Audio-CD..." msgstr "Paleisti Garso-CD..." msgid "Play DVD" -msgstr "" +msgstr "Leisti DVD" msgid "Play Music..." -msgstr "" +msgstr "Groti muziką..." msgid "Play recorded movies..." msgstr "Leisti įrašytus filmus..." @@ -2284,7 +2305,7 @@ msgid "Please choose an extension..." 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 "" @@ -2353,8 +2374,7 @@ msgid "Please select a subservice..." msgstr "Prašome išsirinkti subkanalą..." msgid "Please select medium to use as backup location" -msgstr "" -"Prašome išsirinkti media, kurią naudosite kaip vietą atsarginei kopijai" +msgstr "Prašome pasirinkti tai, kaip atsarginės kopijos vietą" msgid "Please select tag to filter..." msgstr "Prašome išsirinkti kortelę filtravimui..." @@ -2394,7 +2414,7 @@ msgid "Please wait for activation of your network configuration..." msgstr "Prašome laukti jūsų tinklo konfigūracijos aktyvavimo..." msgid "Please wait while scanning is in progress..." -msgstr "Prašome laukti kol vyksta skanavimas ..." +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..." @@ -2473,7 +2493,7 @@ msgstr "Spauskite OK ir redaguokite nustatymus." #, python-format msgid "Press OK to get further details for %s" -msgstr "Spauskite OK, kad gauti tolimesnes detales dėl %s" +msgstr "Spauskite OK, kad gautumėte tolimesnes detales dėl %s" msgid "Press OK to scan" msgstr "Spauskite OK paieškai." @@ -2512,7 +2532,7 @@ msgid "Providers" msgstr "Tiekėjai" msgid "Python frontend for /tmp/mmi.socket" -msgstr "" +msgstr "Python pradinė fazė dėl /tmp/mmi.socket" msgid "Quick" msgstr "Greitas" @@ -2560,7 +2580,7 @@ msgid "Really shutdown now?" msgstr "Iš tikrųjų išjungti dabar?" msgid "Reboot" -msgstr "Perkrauti" +msgstr "Paleisti iš naujo" msgid "Reception Settings" msgstr "Priėmimo nustatymai" @@ -2621,13 +2641,13 @@ msgid "Remove the incomplete .NFI file?" msgstr "Pašalinti neužbaigtą .NFI failą?" msgid "Remove timer" -msgstr "Pašalinti laikmatį" +msgstr "Pašalinkite laikmatį" msgid "Remove title" msgstr "Pašalinti " msgid "Removing" -msgstr "Pašalinama" +msgstr "Pašalinimas" #, python-format msgid "Removing directory %s failed. (Maybe not empty.)" @@ -2679,23 +2699,23 @@ msgid "Restore" msgstr "Atkurti" msgid "Restore backups..." -msgstr "Atkurti atsargines kopijas..." +msgstr "Atkurkite atsargines kopijas..." msgid "Restore running" -msgstr "Vykdomas atkūrimas" +msgstr "Vyksta atkūrimas" msgid "Restore running..." -msgstr "Vykdomas atkūrimas..." +msgstr "Vyksta atkūrimas..." msgid "Restore system settings" -msgstr "Atkurti sisteminius nustatymus" +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" @@ -2783,7 +2803,7 @@ msgid "Scan " msgstr "Skanuoti" msgid "Scan Files..." -msgstr "" +msgstr "Skanuoti failus..." msgid "Scan QAM128" msgstr "Skanuoti QAM128" @@ -2874,55 +2894,55 @@ msgid "Seek" msgstr "Ieškoti" msgid "Select" -msgstr "Pasirinkti" +msgstr "Pasirinkite" msgid "Select HDD" -msgstr "Išsirinkite kietą diską" +msgstr "Pasirinkite kietą diską" msgid "Select IPKG source to edit..." msgstr "" msgid "Select Location" -msgstr "Išsirinkite vietą" +msgstr "Pasirinkite vietą" msgid "Select Network Adapter" -msgstr "Išsirinkite tinklo adapterį" +msgstr "Pasirinkite tinklo adapterį" msgid "Select a movie" -msgstr "Išsirinkite filmą" +msgstr "Pasirinkite filmą" msgid "Select audio mode" -msgstr "Išsirinkite garsą" +msgstr "Pasirinkite garsą" msgid "Select audio track" -msgstr "Išsirinkite garso takelį" +msgstr "Pasirinkite garso takelį" msgid "Select channel to record from" -msgstr "Išsirinkite kanalą įrašymui" +msgstr "Pasirinkite kanalą įrašymui" msgid "Select files for backup. Currently selected:\n" -msgstr "Išsirinkite failus atsarginei kopijai. Dabar pasirinkta:\n" +msgstr "Išsirinkite failus atsarginei kopijai. Dabar išsirinkta:\n" msgid "Select files/folders to backup..." -msgstr "Išsirinkite failus/aplankus atsarginei kopijai..." +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 "Išsirinkite atnaujinimo normą" +msgstr "Pasirinkite atnujinimo normą" msgid "Select video input" -msgstr "Išsirinkite vaizdo įėjimą" +msgstr "Pasirinkite vaizdo įėjimą" msgid "Select video input with up/down buttons" -msgstr "" +msgstr "Pasirinkite vaizdo įėjimą su mygtukais aukštyn/žemyn" msgid "Select video mode" -msgstr "Išsirinkite vaizdo būdą" +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" @@ -2988,7 +3008,7 @@ msgid "Set as default Interface" msgstr "Pasirinkti numatytą sąsają" msgid "Set interface as default Interface" -msgstr "Nustatyta sąsaja, kaip numatyta sąsaja" +msgstr "Nustatykite sąsają kaip numatytą sąsają" msgid "Set limits" msgstr "Nustatykite ribas" @@ -3091,7 +3111,7 @@ msgid "Software manager" msgstr "Programinės įrangos valdymas" msgid "Software manager..." -msgstr "Programinės įrangos valdymas..." +msgstr "Programinės įrangos valdymas ..." msgid "Software restore" msgstr "Programinės įrangos atkūrimas" @@ -3106,10 +3126,10 @@ msgid "Somewhere else" msgstr "Dar kur nors" msgid "Sorry MediaScanner is not installed!" -msgstr "Gaila, MediaScanner nėra įdiegtas!" +msgstr "Gaila MediaScanner nėra įdiegtas!" msgid "Sorry no backups found!" -msgstr "Gaila, atsarginių kopijų nerasta!" +msgstr "Gaila, jokios atsarginės kopijos nerastos!" msgid "" "Sorry your Backup destination does not exist\n" @@ -3118,7 +3138,7 @@ msgid "" msgstr "" "Atsiprašome, bet nurodytos atsarginės kopijos čia nėra.\n" "\n" -"Prašome išsirinkti kitą!" +"Prašome pasirinkti kitą!" msgid "" "Sorry your backup destination is not writeable.\n" @@ -3187,7 +3207,7 @@ msgid "Stereo" msgstr "Stereo" msgid "Stop" -msgstr "Stoti" +msgstr "Stabdyti" msgid "Stop Timeshift?" msgstr "Sustabdyti laiko perstumimą?" @@ -3205,10 +3225,10 @@ msgid "Stop test" msgstr "Stabdyti testavimą" msgid "Stop testing plane after # failed transponders" -msgstr "Stabdykite bandymą po to kai # klaidingi transponderiai" +msgstr "Stabdykite testavimą po to kai # klaidingi transponderiai" msgid "Stop testing plane after # successful transponders" -msgstr "Stabdykite bandymą po to kai # sėkmingi transponderiai" +msgstr "Stabdykite testavimą po to kai # pavykę transponderiai" msgid "Store position" msgstr "Išsaugoti padėtį" @@ -3284,10 +3304,10 @@ msgid "Terrestrial provider" msgstr "Antžeminis tiekėjas" msgid "Test DiSEqC settings" -msgstr "Bandyti DiSEqC nustatymus" +msgstr "Testuoti DiSEqC nustatymus" msgid "Test Type" -msgstr "Bandymo tipas" +msgstr "Testo tipas" msgid "Test mode" msgstr "Testuoti" @@ -3323,7 +3343,7 @@ msgstr "" "atvaizdą iš perdavimo serverio ir išsaugoti tai prietaise?" msgid "The backup failed. Please choose a different backup location." -msgstr "Išsaugoti nepavyko. Išsirinkite kitą vietą išsaugojimui. " +msgstr "Išsaugoti nepavyko. Pasirinkite kitą vietą išsaugojimui. " #, python-format msgid "" @@ -3340,7 +3360,7 @@ msgstr "" "Jūs norite įrašyti USB diegėją į šį raktelį?" msgid "The following files were found..." -msgstr "" +msgstr "Kiti failai buvo surasti..." msgid "" "The input port should be configured now.\n" @@ -3437,6 +3457,7 @@ msgstr "" 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!" @@ -3465,7 +3486,7 @@ msgstr "" #, python-format msgid "This Dreambox can't decode %s streams!" -msgstr "" +msgstr "Šis Dreambox negali iššifruoti %s srautų!" #, python-format msgid "This Dreambox can't decode %s video streams!" @@ -3666,14 +3687,14 @@ msgstr "Bandymas kairėn:" 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 "" +msgstr "Bandoma parsisiųsti naują paketo sąrašą. Prašome laukti..." msgid "Tue" msgstr "Ant" @@ -3892,16 +3913,16 @@ msgid "Video mode selection." msgstr "Vaizdo būdo pasirinkimas." msgid "View Movies..." -msgstr "" +msgstr "Žiūrėti kino filmus..." msgid "View Photos..." -msgstr "" +msgstr "Žiūrėti fotografijas..." msgid "View Rass interactive..." msgstr "Žiūrėti Rass interaktyviai..." msgid "View Video CD..." -msgstr "" +msgstr "Žiūrėti vaizdo CD..." msgid "View teletext..." msgstr "Žiūrėti teletekstą..." @@ -3968,7 +3989,7 @@ msgstr "" "Ieškokite pradžios, kurią jūs norite iškirpti. Spauskite OK, išsirinkite ' " "iškirpimo pradžią'.\n" "\n" -"Tada ieškokite pabaigos, spauskite OK, Išsirinkite 'iškirpimo pabaigą'. Štai " +"Tada ieškokite pabaigos, spauskite OK, pasirinkite 'iškirpimo pabaigą'. Štai " "ir viskas." msgid "" @@ -4141,8 +4162,8 @@ msgid "" "You have chosen to backup your settings. Please press OK to start the backup " "now." msgstr "" -"Jūs nusprendėte padaryti savo nustatymų atsarginę kopiją. Prašome spausti " -"OK, kad pradėtumėte atsarginės kopijos darymą." +"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 " @@ -4199,6 +4220,8 @@ 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..." @@ -4227,9 +4250,9 @@ msgid "" "Do you want to disable the second network interface?" msgstr "" "Jūsų tinklo konfigūracija aktyvuota.\n" -"Rasta antra sukonfigūruota sąsaja.\n" +"Rastas antras sukonfigūruotas interfeisas.\n" "\n" -"Jūs norite išjungti antrą tinklo sąsają?" +"Jūs norite išjungti antrą tinklo interfeisą?" msgid "Zap back to service before positioner setup?" msgstr "Perjungti atgal į kanalą po pozicionieriaus nustatymo?" @@ -4249,6 +4272,12 @@ msgstr "[mėgstamiausių redagavimas]" 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ą" @@ -4264,6 +4293,12 @@ msgstr "apie pradžią" 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ą" @@ -4292,7 +4327,7 @@ msgid "add recording (enter recording duration)" msgstr "pridėti įrašą (įrašykite įrašo ilgį)" msgid "add recording (enter recording endtime)" -msgstr "pridėti įrašą (įrašykite įrašymo pabaigos laiką) " +msgstr "pridėti įrašymą (įrašykite įrašymo pabaigos laiką) " msgid "add recording (indefinitely)" msgstr "pridėti įrašą (identišką)" @@ -4322,6 +4357,12 @@ msgstr "" "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" @@ -4362,7 +4403,7 @@ msgid "burn audio track (%s)" 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ą)" @@ -4371,7 +4412,7 @@ msgid "chapters" msgstr "skyriai" msgid "choose destination directory" -msgstr "Išsirinkite direktoriją" +msgstr "pasirinkite direktoriją" msgid "circular left" msgstr "apskritiminė kairė" @@ -4409,6 +4450,9 @@ msgstr "kasdien" msgid "day" msgstr "diena" +msgid "delete" +msgstr "trinti" + msgid "delete cut" msgstr "trinti iškirpimą" @@ -4509,7 +4553,7 @@ msgid "exit network adapter setup menu" msgstr "išeiti iš tinklo adapterio nustatymų meniu" msgid "exit network interface list" -msgstr "išeiti iš tinklo sąsajos sąrašo" +msgstr "išeiti iš tinklo interfeiso sąrašo" msgid "exit networkadapter setup menu" msgstr "išeiti iš tinklo adapterio nustatymų meniu" @@ -4569,7 +4613,7 @@ msgid "hours" msgstr "valandos" msgid "immediate shutdown" -msgstr "Išjungimas" +msgstr "neatidėliotinas išjungimas" #, python-format msgid "" @@ -4582,6 +4626,9 @@ msgstr "" msgid "init module" msgstr "aptikti modulį" +msgid "init modules" +msgstr "" + msgid "insert mark here" msgstr "įterpkite žymeklį čia" @@ -4687,14 +4734,23 @@ msgstr "Kitas kanalas į istoriją" 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" @@ -4706,7 +4762,7 @@ msgid "not locked" msgstr "neužrakintas" msgid "not used" -msgstr "nenaudojama" +msgstr "nenaudojamas" msgid "nothing connected" msgstr "niekas nepajungta" @@ -4862,20 +4918,23 @@ msgstr "pasirinkti" 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" msgid "select interface" -msgstr "išsrinkite sąsają" +msgstr "išsrinkite interfeisą" msgid "select menu entry" msgstr "išsirinkite meniu įėjimą" msgid "select movie" -msgstr "išsirinkite filmą" +msgstr "pasirinkite filmą" msgid "select the movie path" -msgstr "išsirinkite filmo kelią" +msgstr "pasirinkite filmo kelią" msgid "service pin" msgstr "kanalo PIN" @@ -5079,6 +5138,9 @@ msgstr "Jungti" msgid "zapped" msgstr "įjungta" +#~ msgid "\n" +#~ msgstr "\n" + #~ msgid "" #~ "\n" #~ "System will restart after the restore!" @@ -5086,12 +5148,46 @@ msgstr "įjungta" #~ "\n" #~ "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" @@ -5108,9 +5204,27 @@ msgstr "įjungta" #~ 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" @@ -5118,7 +5232,7 @@ msgstr "įjungta" #~ msgstr "Įvyko klaida. (%s)" #~ msgid "An error occured!" -#~ msgstr "Įvyko klaida!" +#~ msgstr "Klaida įvyko!" #~ msgid "" #~ "Are you sure you want to enable WLAN support?\n" @@ -5137,21 +5251,66 @@ msgstr "įjungta" #~ "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" @@ -5177,39 +5336,87 @@ msgstr "įjungta" #~ 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 \"" @@ -5227,9 +5434,21 @@ msgstr "įjungta" #~ 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ą" @@ -5246,6 +5465,9 @@ msgstr "įjungta" #~ 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" @@ -5253,33 +5475,201 @@ msgstr "įjungta" #~ "Į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 " @@ -5337,12 +5727,54 @@ msgstr "įjungta" #~ "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 " @@ -5397,6 +5829,13 @@ msgstr "įjungta" #~ 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 " @@ -5414,6 +5853,9 @@ msgstr "įjungta" #~ 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" @@ -5432,6 +5874,15 @@ msgstr "įjungta" #~ "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į?" @@ -5457,18 +5908,134 @@ msgstr "įjungta" #~ 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" @@ -5476,15 +6043,27 @@ msgstr "įjungta" #~ 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" @@ -5550,6 +6129,12 @@ msgstr "įjungta" #~ "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 " @@ -5558,6 +6143,15 @@ msgstr "įjungta" #~ "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" @@ -5569,12 +6163,61 @@ msgstr "įjungta" #~ 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" @@ -5665,6 +6308,12 @@ msgstr "įjungta" #~ "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" @@ -5674,8 +6323,20 @@ msgstr "įjungta" #~ 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" @@ -5686,6 +6347,9 @@ msgstr "įjungta" #~ 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ė" @@ -5728,8 +6392,26 @@ msgstr "įjungta" #~ 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" diff --git a/po/nl.po b/po/nl.po index 367b14e4..3a6b6775 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: tuxbox-enigma 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 14:15+0100\n" -"PO-Revision-Date: 2009-02-18 00:35+0100\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: \n" "MIME-Version: 1.0\n" @@ -30,14 +30,14 @@ msgid "" "After pressing OK, please wait!" msgstr "" "\n" -"Druk op OK en eventjes geduld!" +"Druk op OK en een ogenblik geduld!" msgid "" "\n" "Backup your Dreambox settings." msgstr "" "\n" -"Backup uw Dreambox instellingen." +"Back-up uw Dreambox instellingen." msgid "" "\n" @@ -50,6 +50,8 @@ msgid "" "\n" "Enigma2 will restart after the restore" msgstr "" +"\n" +"Enigma2 zal herstarten na het terugzetten." msgid "" "\n" @@ -84,7 +86,7 @@ msgid "" "Restore your backups by date." msgstr "" "\n" -"Herstellen van uw back-ups volgens datum." +"Terugplaatsen van uw back-ups volgens datum." msgid "" "\n" @@ -522,7 +524,7 @@ 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 herstellen?\n" +"Weet u zeker dat u uw Enigma2 back-up wilt terugplaatsen?\n" "Enigma2 zal herstarten na het terugzetten" msgid "Artist" @@ -820,6 +822,9 @@ msgstr "Comitted DiSEqC commando" msgid "Common Interface" msgstr "Common Interface" +msgid "Common Interface Assignment" +msgstr "" + msgid "Compact Flash" msgstr "Compact Flash" @@ -832,6 +837,9 @@ msgstr "Compleet" msgid "Complex (allows mixing audio tracks and aspects)" msgstr "Complex (mixen audio sporen en aspecten)" +msgid "Config" +msgstr "" + msgid "Configuration Mode" msgstr "Configuratie modus" @@ -1050,13 +1058,13 @@ msgid "Dish" 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 "Weergave >16:9 toon als" +msgstr "Toon >16:9 materiaal als" msgid "Display Setup" msgstr "Display instellingen" @@ -1228,7 +1236,7 @@ msgid "Edit DNS" msgstr "DNS wijzigen" msgid "Edit IPKG source URL..." -msgstr "" +msgstr "Wijzig IPKG bron URL..." msgid "Edit Title" msgstr "Wijzig Titel" @@ -1495,6 +1503,18 @@ msgstr "" 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" @@ -1540,6 +1560,9 @@ msgstr "Hiërarchie informatie" msgid "Hierarchy mode" msgstr "Hiërarchie modus" +msgid "High bitrate support" +msgstr "" + msgid "Horizontal" msgstr "Horizontaal" @@ -1646,10 +1669,10 @@ msgid "Install local IPKG" msgstr "Installeer lokale IPKG" msgid "Install settings, skins, software..." -msgstr "" +msgstr "Installeer instellingen, skins, software..." msgid "Install software updates..." -msgstr "" +msgstr "Installeer software updates..." msgid "Installing" msgstr "Installeert" @@ -1753,7 +1776,7 @@ msgid "Left" msgstr "Links" msgid "Lets you view/edit files in your Dreambox" -msgstr "" +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" @@ -2026,7 +2049,7 @@ msgid "No details for this image file" msgstr "Geen details voor dit bestand:" msgid "No displayable files on this medium found!" -msgstr "" +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." @@ -2206,7 +2229,7 @@ msgid "Packet management" msgstr "Pakket beheer" msgid "Packet manager" -msgstr "Pakket manager" +msgstr "Pakket beheer" msgid "Page" msgstr "Pagina" @@ -2253,13 +2276,13 @@ msgid "Play" msgstr "Afspelen" msgid "Play Audio-CD..." -msgstr "Speel Muziek-CD" +msgstr "Muziek-CD afspelen..." msgid "Play DVD" -msgstr "" +msgstr "DVD afspelen" msgid "Play Music..." -msgstr "" +msgstr "Muziek afspelen..." msgid "Play recorded movies..." msgstr "Opname afspelen..." @@ -2353,7 +2376,7 @@ msgid "Please select a subservice..." msgstr "Selecteer een subzender..." msgid "Please select medium to use as backup location" -msgstr "Selecteer het te gebruiken medium als back-up locatie" +msgstr "Selecteer het te gebruiken medium als back-up locatie..." msgid "Please select tag to filter..." msgstr "Selecteer markering om te filteren..." @@ -2511,7 +2534,7 @@ msgid "Providers" msgstr "Providers" msgid "Python frontend for /tmp/mmi.socket" -msgstr "" +msgstr "Python frontend voor /tmp/mmi.socket" msgid "Quick" msgstr "Snel" @@ -2782,7 +2805,7 @@ msgid "Scan " msgstr "Zoeken" msgid "Scan Files..." -msgstr "" +msgstr "Bestanden zoeken..." msgid "Scan QAM128" msgstr "Zoek QAM128" @@ -2878,7 +2901,7 @@ msgid "Select HDD" msgstr "Kies harde schijf" msgid "Select IPKG source to edit..." -msgstr "" +msgstr "Selecteer IPKG bron om te bewerken..." msgid "Select Location" msgstr "Selecteer locatie" @@ -2914,7 +2937,7 @@ msgid "Select video input" msgstr "Selecteer video ingang" msgid "Select video input with up/down buttons" -msgstr "" +msgstr "Selecteer video-ingang met de omhoog/omlaag toetsen" msgid "Select video mode" msgstr "Selecteer video modus" @@ -3086,10 +3109,10 @@ msgid "Slow Motion speeds" msgstr "Stap snelheid" msgid "Software manager" -msgstr "Software manager" +msgstr "Software beheer" msgid "Software manager..." -msgstr "Software manager..." +msgstr "Software beheer" msgid "Software restore" msgstr "Software herstellen" @@ -3339,7 +3362,7 @@ msgstr "" "Wenst u de USB flasher op deze stick te schrijven?" msgid "The following files were found..." -msgstr "" +msgstr "De volgende bestanden werden gevonden..." msgid "" "The input port should be configured now.\n" @@ -3433,6 +3456,8 @@ msgstr "" 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!" @@ -3461,7 +3486,7 @@ msgstr "" #, python-format msgid "This Dreambox can't decode %s streams!" -msgstr "" +msgstr "Deze Dreambox kan geen %s decoderen!" #, python-format msgid "This Dreambox can't decode %s video streams!" @@ -3669,7 +3694,7 @@ msgstr "" "ogenblik a.u.b." msgid "Trying to download a new packetlist. Please wait..." -msgstr "" +msgstr "Probeert een nieuwe pakketlijst te downloaden. Een ogenblik a.u.b..." msgid "Tue" msgstr "Di" @@ -3888,16 +3913,16 @@ msgid "Video mode selection." msgstr "Video modus selectie" msgid "View Movies..." -msgstr "" +msgstr "Bekijk opname..." msgid "View Photos..." -msgstr "" +msgstr "Bekijk foto's..." msgid "View Rass interactive..." msgstr "Rass Interactive weergeven" msgid "View Video CD..." -msgstr "" +msgstr "Bekijk Video CD..." msgid "View teletext..." msgstr "Teletekst weergeven..." @@ -4194,6 +4219,8 @@ 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..." @@ -4244,6 +4271,12 @@ msgstr "[favorieten bewerken]" 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" @@ -4259,6 +4292,12 @@ msgstr "start direct" 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" @@ -4317,6 +4356,12 @@ msgstr "" "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" @@ -4404,6 +4449,9 @@ msgstr "dagelijks" msgid "day" msgstr "dag" +msgid "delete" +msgstr "" + msgid "delete cut" msgstr "Wis snijpunt" @@ -4577,6 +4625,9 @@ msgstr "" msgid "init module" msgstr "CI module initializeren" +msgid "init modules" +msgstr "" + msgid "insert mark here" msgstr "Markeerpunt invoegen" @@ -4682,9 +4733,18 @@ msgstr "Volgende zender in geschiedenis" 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" @@ -4857,6 +4917,9 @@ msgstr "selecteer" msgid "select .NFI flash file" msgstr "selecteer .NFI flash bestand" +msgid "select CAId" +msgstr "" + msgid "select image from server" msgstr "Selecteer image van server" diff --git a/po/pl.po b/po/pl.po index d070bd43..5acf4f79 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: tuxbox-enigma 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 14:15+0100\n" -"PO-Revision-Date: 2009-02-13 18:45+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 \n" "Language-Team: none\n" "MIME-Version: 1.0\n" @@ -20,21 +20,29 @@ msgid "" "\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" @@ -47,42 +55,59 @@ 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 " " @@ -425,13 +450,13 @@ msgid "Advanced" 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" @@ -489,11 +514,15 @@ msgid "" "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" @@ -565,22 +594,22 @@ msgid "Backup Mode" 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" @@ -717,10 +746,10 @@ msgid "Choose Tuner" 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" @@ -732,7 +761,7 @@ msgid "Choose target folder" msgstr "Wybierz folder docelowy" msgid "Choose upgrade source" -msgstr "" +msgstr "Wybierz źródło aktualizacji" msgid "Choose your Skin" msgstr "Wybierz Skina" @@ -788,6 +817,9 @@ msgstr "Komenda DiSEqC Commited" msgid "Common Interface" msgstr "Moduł Dostępu" +msgid "Common Interface Assignment" +msgstr "" + msgid "Compact Flash" msgstr "Compact Flash" @@ -800,6 +832,9 @@ msgstr "Zakończ" 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" @@ -956,7 +991,7 @@ msgid "Description" msgstr "Opis" msgid "Deselect" -msgstr "" +msgstr "Odznacz" msgid "Destination directory" msgstr "Katalog docelowy" @@ -1094,7 +1129,7 @@ msgid "Do you want to install default sat lists?" 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?" @@ -1103,10 +1138,10 @@ msgid "Do you want to preview this DVD before burning?" 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?" @@ -1115,7 +1150,7 @@ msgid "Do you want to resume this playback?" 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" @@ -1125,7 +1160,7 @@ msgstr "" "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?" @@ -1143,7 +1178,7 @@ msgstr "Zrobione - Instalowanie lub aktualizowanie %d pakietów z %d błędami" #, 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" @@ -1195,7 +1230,7 @@ msgid "Edit DNS" msgstr "Edytuj DNS" msgid "Edit IPKG source URL..." -msgstr "" +msgstr "Edytuj URL źródła IPKG..." msgid "Edit Title" msgstr "Edytuj Tytuł" @@ -1464,6 +1499,18 @@ msgstr "" 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" @@ -1509,6 +1556,9 @@ msgstr "Informacja hierarchii" msgid "Hierarchy mode" msgstr "Tryb hierarchii" +msgid "High bitrate support" +msgstr "" + msgid "Horizontal" msgstr "Poziomo [H]" @@ -1605,19 +1655,19 @@ msgid "Input" 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 "" +msgstr "Instaluj ustawienia, skiny, soft..." msgid "Install software updates..." -msgstr "" +msgstr "Instaluj aktualizacje oprogramowania..." msgid "Installing" msgstr "Instalowanie" @@ -1663,7 +1713,7 @@ msgid "Invert display" msgstr "Odwrócone wyświetlanie" msgid "Ipkg" -msgstr "" +msgstr "Ipkg" msgid "Italian" msgstr "Włoski" @@ -1712,7 +1762,7 @@ msgid "Latitude" msgstr "Szerokość geogr." msgid "Latvian" -msgstr "" +msgstr "Łotewski" msgid "Leave DVD Player?" msgstr "Zamknąć odtwarzacz DVD?" @@ -1721,7 +1771,7 @@ msgid "Left" msgstr "Lewo" msgid "Lets you view/edit files in your Dreambox" -msgstr "" +msgstr "Pozwól przeglądać/edytować pliki Dreamboxa" #. TRANSLATORS: (aspect ratio policy: black bars on top/bottom) in doubt, keep english term. msgid "Letterbox" @@ -1797,7 +1847,7 @@ msgid "Make this mark just a mark" 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" @@ -1995,7 +2045,7 @@ msgid "No details for this image file" msgstr "Brak opisu dla tego image'a" msgid "No displayable files on this medium found!" -msgstr "" +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." @@ -2156,7 +2206,7 @@ msgid "Online-Upgrade" msgstr "Online - Aktualizacja" msgid "Only Free scan" -msgstr "Tylko wolne skanowanie" +msgstr "Skanuj tylko FTA" msgid "Orbital Position" msgstr "Pozycja orbitalna" @@ -2174,7 +2224,7 @@ msgid "Packet management" msgstr "Zarządzanie pakietem" msgid "Packet manager" -msgstr "" +msgstr "Menadżer pakietów" msgid "Page" msgstr "Strona" @@ -2224,10 +2274,10 @@ msgid "Play Audio-CD..." msgstr "Odtwarzanie CD-Audio..." msgid "Play DVD" -msgstr "" +msgstr "Odtwórz DVD" msgid "Play Music..." -msgstr "" +msgstr "Odtwórz Muzykę..." msgid "Play recorded movies..." msgstr "Odtwarzanie nagranego filmu..." @@ -2319,7 +2369,7 @@ msgid "Please select a subservice..." 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..." @@ -2477,7 +2527,7 @@ msgid "Providers" msgstr "Providerzy" msgid "Python frontend for /tmp/mmi.socket" -msgstr "" +msgstr "Python frontend dla /tmp/mmi.socket" msgid "Quick" msgstr "Szybko" @@ -2559,7 +2609,7 @@ msgid "Refresh rate selection." msgstr "Wybór prędkości odświeżania" msgid "Reload" -msgstr "" +msgstr "Przeładuj" msgid "Remove Bookmark" msgstr "Usuń zakładkę" @@ -2574,7 +2624,7 @@ msgid "Remove currently selected title" msgstr "Usuń aktualnie wybrany tytuł" msgid "Remove finished." -msgstr "" +msgstr "Usuwanie zakończone." msgid "Remove plugins" msgstr "Usuń pluginy" @@ -2592,7 +2642,7 @@ msgid "Remove title" msgstr "Usuń tytuł" msgid "Removing" -msgstr "" +msgstr "Usuwanie" #, python-format msgid "Removing directory %s failed. (Maybe not empty.)" @@ -2645,16 +2695,16 @@ msgid "Restore" 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 " @@ -2749,7 +2799,7 @@ msgid "Scan " msgstr "Skanuj" msgid "Scan Files..." -msgstr "" +msgstr "Skanuj Pliki..." msgid "Scan QAM128" msgstr "Skanuj QAM128" @@ -2839,13 +2889,13 @@ msgid "Seek" msgstr "Wyszukiwanie" msgid "Select" -msgstr "" +msgstr "Wybierz" msgid "Select HDD" msgstr "Wybierz HDD" msgid "Select IPKG source to edit..." -msgstr "" +msgstr "Wybierz źródło IPKG aby edytować..." msgid "Select Location" msgstr "Wybierz lokalizację" @@ -2866,10 +2916,10 @@ msgid "Select channel to record from" 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" @@ -2881,7 +2931,7 @@ msgid "Select video input" msgstr "Wybierz wejście Wideo" msgid "Select video input with up/down buttons" -msgstr "" +msgstr "Wybierz wejście video przyciskami góra/dół" msgid "Select video mode" msgstr "Wybierz tryb wideo" @@ -3053,16 +3103,16 @@ msgid "Slow Motion speeds" 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" @@ -3071,10 +3121,10 @@ msgid "Somewhere else" 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" @@ -3089,12 +3139,17 @@ msgid "" "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" @@ -3302,7 +3357,7 @@ msgstr "" "Czy chesz zapisać USB flash'er na tym napedzie?" msgid "The following files were found..." -msgstr "" +msgstr "Dane pliki zostały znalezione..." msgid "" "The input port should be configured now.\n" @@ -3397,7 +3452,7 @@ msgstr "" "Czy kontynuować?" msgid "There was an error downloading the packetlist. Please try again." -msgstr "" +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!" @@ -3427,7 +3482,7 @@ msgstr "" #, python-format msgid "This Dreambox can't decode %s streams!" -msgstr "" +msgstr "Ten Dreambox nie może zdekodować %s streamu!" #, python-format msgid "This Dreambox can't decode %s video streams!" @@ -3630,7 +3685,7 @@ msgstr "" "Spróbuj odnaleźć używane transpondery w sieci kablowej... Proszę czekać..." msgid "Trying to download a new packetlist. Please wait..." -msgstr "" +msgstr "Próbuje pobrać nową listę pakietów. Proszę czekać..." msgid "Tue" msgstr "Wto" @@ -3731,7 +3786,7 @@ msgid "Updating... Please wait... This can take some minutes..." 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?" @@ -3847,16 +3902,16 @@ msgid "Video mode selection." msgstr "Wybór trybu wideo" msgid "View Movies..." -msgstr "" +msgstr "Wyświetl Filmy..." msgid "View Photos..." -msgstr "" +msgstr "Wyświetl Zdjęcia..." msgid "View Rass interactive..." msgstr "Pokaż interaktywne Rass..." msgid "View Video CD..." -msgstr "" +msgstr "Wyświetl Video CD..." msgid "View teletext..." msgstr "Pokaż teletext..." @@ -3964,6 +4019,11 @@ msgid "" "\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ń?" @@ -4084,6 +4144,7 @@ msgid "" "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 " @@ -4097,6 +4158,8 @@ msgid "" "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!" @@ -4140,6 +4203,8 @@ 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ć..." @@ -4190,6 +4255,12 @@ msgstr "[edycja ulubionych]" 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" @@ -4205,6 +4276,12 @@ msgstr "jak rozpocząć" 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" @@ -4263,6 +4340,12 @@ msgstr "" "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)" @@ -4350,6 +4433,9 @@ msgstr "Codziennie" msgid "day" msgstr "dzień" +msgid "delete" +msgstr "Usuń" + msgid "delete cut" msgstr "Usuń wycięte" @@ -4523,6 +4609,9 @@ msgstr "" msgid "init module" msgstr "Moduł init" +msgid "init modules" +msgstr "" + msgid "insert mark here" msgstr "Wstaw znacznik tutaj" @@ -4628,9 +4717,18 @@ msgstr "Następny kanał w historii" 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" @@ -4803,6 +4901,9 @@ msgstr "wybierz" msgid "select .NFI flash file" msgstr "wybierz plik .NFI flash" +msgid "select CAId" +msgstr "" + msgid "select image from server" msgstr "wybierz plik z serwera" @@ -5525,9 +5626,6 @@ msgstr "Przełączony" #~ msgid "color" #~ msgstr "kolor" -#~ msgid "delete" -#~ msgstr "Usuń" - #~ msgid "equal to Socket A" #~ msgstr "Równaj do Gniazda A" diff --git a/po/ru.po b/po/ru.po old mode 100755 new mode 100644 index 9a9c29be..4c33bf68 --- a/po/ru.po +++ b/po/ru.po @@ -2,9 +2,9 @@ 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: 2007-06-14 10:15+0300\n" -"Last-Translator: enigma® \n" +"POT-Creation-Date: 2009-03-26 17:08+0100\n" +"PO-Revision-Date: 2009-03-25 10:11+0300\n" +"Last-Translator: \n" "Language-Team: Russian / enigma(c) Ukraine, Kiev>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,62 +18,94 @@ msgid "" "\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 "" @@ -113,7 +145,7 @@ msgstr "" #, python-format msgid "%d jobs are running in the background!" -msgstr "" +msgstr "%d процесс запущен в фоновом режиме!" #, python-format msgid "%d min" @@ -142,29 +174,30 @@ msgid "(ZAP)" 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 "каталог /usr/share/enigma2" msgid "/var directory" -msgstr "папка /var" +msgstr "каталог /var" msgid "0" msgstr "" @@ -188,22 +221,22 @@ msgid "13 V" 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" @@ -221,13 +254,13 @@ msgid "4" 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 "" @@ -236,7 +269,7 @@ msgid "5 minutes" msgstr "5 минут" msgid "50 Hz" -msgstr "" +msgstr "50 Гц" msgid "6" msgstr "" @@ -257,7 +290,7 @@ msgid "" msgstr "<неизвестный>" msgid "??" -msgstr "" +msgstr "??" msgid "A" msgstr "A" @@ -267,25 +300,33 @@ msgid "" "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" @@ -304,21 +345,25 @@ msgstr "" 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" @@ -328,7 +373,7 @@ msgstr "" "Отключить TV и повторить снова?\n" msgid "A/V Settings" -msgstr "Аудио / видео установки" +msgstr "Аудио/Видео" msgid "AA" msgstr "AA" @@ -340,7 +385,7 @@ msgid "AC3 default" msgstr "AC3 по умолчанию" msgid "AC3 downmix" -msgstr "" +msgstr "AC3 микширование" msgid "About" msgstr "Информация" @@ -349,43 +394,43 @@ msgid "About..." msgstr "О ресивере" msgid "Action on long powerbutton press" -msgstr "" +msgstr "Длительное нажатии кнопки питания" msgid "Action:" -msgstr "" +msgstr "Действие:" msgid "Activate Picture in Picture" msgstr "Включить картинку в картинке" msgid "Activate network settings" -msgstr "Включить сетевые установки" +msgstr "Активировать сетевые установки" 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 "Добавить таймер" +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, " @@ -393,18 +438,22 @@ msgid "" "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 "После события" @@ -423,7 +472,7 @@ msgid "All" msgstr "Все" msgid "All Satellites" -msgstr "" +msgstr "Все Спутники" msgid "Alpha" msgstr "Прозрачность" @@ -432,16 +481,13 @@ msgid "Alternative radio mode" 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 "Арабский" @@ -450,39 +496,47 @@ msgid "" "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 "Отношение сторон" +msgstr "Сотношение сторон" msgid "Audio" msgstr "Аудио" msgid "Audio Options..." -msgstr "Аудио опции" +msgstr "Аудио опции..." msgid "Authoring mode" msgstr "" @@ -491,19 +545,19 @@ msgid "Auto" 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" @@ -515,16 +569,16 @@ msgid "BB" msgstr "BB" msgid "BER" -msgstr "" +msgstr "BER" msgid "BER:" msgstr "BER:" msgid "Back" -msgstr "" +msgstr "Назад" msgid "Background" -msgstr "" +msgstr "Фон" msgid "Backup" msgstr "Сохранение" @@ -536,61 +590,61 @@ msgid "Backup Mode" 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 "Ширина диапазона" +msgstr "Траффик" 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 "Шина:" @@ -601,7 +655,7 @@ msgid "" msgstr "Нажмите кнопку OK на пульте, для отображения инфопанели." msgid "C" -msgstr "" +msgstr "С" msgid "C-Band" msgstr "C-Диапазон" @@ -610,49 +664,49 @@ msgid "CF Drive" 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 "Размер: " +msgstr "Емкость: " 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 "Сервис изменения PIN" +msgstr "Изменить PIN сервиса" msgid "Change service pins" -msgstr "Сервис изменения PINs" +msgstr "Измененить PINs сервиса" msgid "Change setup pin" -msgstr "Изменить установки PIN" +msgstr "Изменить PIN настроек" msgid "Channel" msgstr "Канал" @@ -661,7 +715,7 @@ msgid "Channel Selection" msgstr "Выбор канала" msgid "Channel not in services list" -msgstr "" +msgstr "Канала нет в списке" msgid "Channel:" msgstr "Канал:" @@ -670,28 +724,28 @@ msgid "Channellist menu" 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 "Выберите пакет пользователя" @@ -700,19 +754,19 @@ msgid "Choose source" 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 "Очистить" @@ -724,7 +778,7 @@ msgid "Clear log" msgstr "Очистить лог" msgid "Close" -msgstr "" +msgstr "Закрыть" msgid "Code rate high" msgstr "Скорость кодирования высокая " @@ -733,22 +787,22 @@ msgid "Code rate low" 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 "Последовательность команд" @@ -759,9 +813,12 @@ msgstr "Команда переключения DiSEqC" 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 карта" @@ -769,25 +826,28 @@ msgid "Complete" 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 "" @@ -795,83 +855,86 @@ 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" @@ -880,10 +943,10 @@ msgid "DVB-S2" msgstr "DVB-S2" msgid "DVD Player" -msgstr "" +msgstr "DVD плеер" msgid "DVD media toolbox" -msgstr "" +msgstr "DVD медиа-инструменты" msgid "Danish" msgstr "Датский" @@ -892,13 +955,13 @@ msgid "Date" msgstr "Дата" msgid "Deep Standby" -msgstr "Полное выключение" +msgstr "Выключить" msgid "Default services lists" -msgstr "" +msgstr "Сервисы по умолчанию" msgid "Default settings" -msgstr "" +msgstr "Настройки по умолчанию" msgid "Delay" msgstr "Задержка" @@ -910,22 +973,24 @@ msgid "Delete entry" msgstr "Удалить выбранное" msgid "Delete failed!" -msgstr "Удалить ошибки" +msgstr "Нельзя удалить!" #, 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:" @@ -943,17 +1008,17 @@ msgid "DiSEqC A/B/C/D" 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 "Отключен" @@ -962,10 +1027,10 @@ msgid "Disable Picture in Picture" msgstr "Отключить режим PiP" msgid "Disable Subtitles" -msgstr "" +msgstr "Отключить субтитры" msgid "Disable timer" -msgstr "" +msgstr "Отключить таймер" msgid "Disabled" msgstr "Отключен" @@ -976,32 +1041,39 @@ msgid "" "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?" @@ -1012,21 +1084,23 @@ msgid "" "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" @@ -1036,34 +1110,34 @@ msgstr "" "После нажатия 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 "Вы хотите сделать ручной поиск?" +msgstr "Искать еще вручную?" 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 "Вы хотите восстановить Ваши установки?" @@ -1072,7 +1146,7 @@ msgid "Do you want to resume this playback?" msgstr "Вы хотите продолжить воспроизведение?" msgid "Do you want to update your Dreambox?" -msgstr "" +msgstr "Вы хотите обновить Dreambox?" msgid "" "Do you want to update your Dreambox?\n" @@ -1082,13 +1156,13 @@ msgstr "" "После нажатия 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" @@ -1100,19 +1174,19 @@ msgstr "Выполнено - Установлено или обновлено %d #, 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 "Доступные новые плагины" @@ -1124,10 +1198,10 @@ msgid "Downloading" msgstr "Загрузка" msgid "Downloading plugin information. Please wait..." -msgstr "Идет загрузка информации о плагинах. Ждите..." +msgstr "Загрузка информации о плагинах. Ждите..." msgid "Dreambox format data DVD (HDTV compatible)" -msgstr "" +msgstr "Dreambox формат данных DVD (HDTV-совместимый" msgid "Dutch" msgstr "Нидерландский" @@ -1146,34 +1220,37 @@ msgid "East" 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 "Включить" @@ -1182,31 +1259,31 @@ msgid "Enable 5V for active antenna" 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 "Время окончания" @@ -1222,6 +1299,12 @@ msgid "" "\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 @@ -1229,40 +1312,42 @@ msgstr "" #. 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 "Процесс выполнения:" @@ -1271,28 +1356,28 @@ msgid "Execution finished!!" 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 "Расширения" @@ -1301,19 +1386,19 @@ msgid "FEC" 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 "" @@ -1322,44 +1407,44 @@ msgid "Favourites" 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 "Окончание" +msgstr "Финский" 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 "Французский" @@ -1368,13 +1453,13 @@ msgid "Frequency" msgstr "Частота" msgid "Frequency bands" -msgstr "" +msgstr "Частотные диапазоны" msgid "Frequency scan step size(khz)" -msgstr "" +msgstr "Шаг частоты сканирования(khz)" msgid "Frequency steps" -msgstr "" +msgstr "Шаг частоты" msgid "Fri" msgstr "Пт" @@ -1383,17 +1468,17 @@ msgid "Friday" 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 "Функция не реализована" @@ -1402,10 +1487,24 @@ msgid "" "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 "Жанр" @@ -1422,13 +1521,13 @@ msgid "Goto position" msgstr "Переход на позицию" msgid "Graphical Multi EPG" -msgstr "" +msgstr "Графический телегид" msgid "Greek" -msgstr "" +msgstr "Греческий" msgid "Guard Interval" -msgstr "" +msgstr "Интервал защиты" msgid "Guard interval mode" msgstr "Guard interval mode" @@ -1437,48 +1536,53 @@ msgid "Harddisk" 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 "Сколько минут вы хотите производить запись?" +msgstr "Сколько минут вы хотите записать?" 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 " @@ -1491,28 +1595,37 @@ msgid "" "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 "Время показа инфопанели" @@ -1536,50 +1649,56 @@ msgid "Input" 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 "Инверсия" @@ -1588,17 +1707,17 @@ msgid "Invert display" 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 "Раскладка клавиатуры" @@ -1610,7 +1729,7 @@ msgid "Keymap" msgstr "Keymap" msgid "LAN Adapter" -msgstr "" +msgstr "Сетевой адаптер" msgid "LNB" msgstr "LNB" @@ -1631,23 +1750,26 @@ msgid "Language..." 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 "Ограничение восток" @@ -1662,43 +1784,43 @@ msgid "Limits on" 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 "БОЛЬШЕ" @@ -1710,25 +1832,25 @@ msgid "Mainmenu" 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 "Объединить после записи" @@ -1737,16 +1859,16 @@ msgid "Margin before record (minutes)" 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 "Меню" @@ -1755,13 +1877,13 @@ msgid "Message" msgstr "Сообщение" msgid "Message..." -msgstr "" +msgstr "Сообщение..." msgid "Mkfs failed" -msgstr "" +msgstr "Ошибка mkfs" msgid "Mode" -msgstr "режим" +msgstr "Режим" msgid "Model: " msgstr "Модель:" @@ -1782,7 +1904,7 @@ msgid "Monday" msgstr "Понедельник" msgid "Mount failed" -msgstr "" +msgstr "Ошибка подключения" msgid "Move Picture in Picture" msgstr "Переместить PiP" @@ -1794,16 +1916,16 @@ msgid "Move west" 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 "Без звука" @@ -1815,13 +1937,13 @@ msgid "NEXT" msgstr "Следующий" msgid "NFI image flashing completed. Press Yellow to Reboot!" -msgstr "" +msgstr "NFI имидж удачно установлен. Нажмите ЖЕЛТЫЙ для перезагрузки!" msgid "NOW" msgstr "СЕЙЧАС" msgid "NTSC" -msgstr "" +msgstr "NTSC" msgid "Name" msgstr "Имя" @@ -1831,49 +1953,49 @@ msgstr "DNS сервер" #, 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 "Установка сети" +msgstr "Настройка сети" 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 "Новые" @@ -1891,10 +2013,10 @@ msgid "No" 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 "" @@ -1902,7 +2024,7 @@ msgstr "" "не установлен." msgid "No Networks found" -msgstr "" +msgstr "Сети не найдены" msgid "No backup needed" msgstr "Резервное копирование не требуется" @@ -1911,9 +2033,14 @@ msgid "" "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 "Информация о событиях не найдена, запись продолжена." @@ -1926,16 +2053,16 @@ msgid "" 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 позиционером!" @@ -1944,9 +2071,11 @@ msgid "" "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" @@ -1954,7 +2083,7 @@ msgid "" "When you say 'No' here the service protection stay disabled!" msgstr "" "Не найден валидный PIN!\n" -"Вы хотите изменить сервис PIN сейчас?\n" +"Вы хотите изменить PIN сервисасейчас?\n" "Если вы ответите 'НЕТ', то защита сервиса \n" "не будет включена!" @@ -1964,7 +2093,7 @@ msgid "" "When you say 'No' here the setup protection stay disabled!" msgstr "" "Не найден валидный PIN!\n" -"Вы хотите изменить сервис PIN сейчас?\n" +"Вы хотите изменить PIN настроек сейчас?\n" "Если вы ответите 'НЕТ', то защита настроек \n" "не будет включена!" @@ -1973,27 +2102,36 @@ msgid "" "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 "Нет, найти позже вручную." @@ -2003,7 +2141,7 @@ msgstr "Никакой" #. TRANSLATORS: (aspect ratio policy: display as fullscreen, with stretching the left/right) msgid "Nonlinear" -msgstr "" +msgstr "Nonlinear" msgid "North" msgstr "Север" @@ -2016,13 +2154,15 @@ msgid "" "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" -"Пожалуйста, настройте Ваш тюнер перед запуском сервиса поиска." +"Пожалуйста, настройте Ваш тюнер перед началом поиска." msgid "Now Playing" msgstr "Воспроизводится " @@ -2032,6 +2172,10 @@ msgid "" "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" @@ -2043,7 +2187,7 @@ msgid "OSD Settings" msgstr "OSD установки" msgid "OSD visibility" -msgstr "" +msgstr "Прозрачность OSD" msgid "Off" msgstr "Выкл." @@ -2058,16 +2202,16 @@ msgid "Online-Upgrade" 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 "Обновление списка пакетов" @@ -2076,17 +2220,17 @@ msgid "Packet management" 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 "Родительский контроль" @@ -2101,64 +2245,74 @@ msgid "Parental control type" 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 "Пожалуйста, введите имя для нового пакета" @@ -2167,42 +2321,44 @@ msgid "Please enter a name for the new marker" 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 "Пожалуйста, выберите подсервис для записи..." @@ -2211,32 +2367,32 @@ msgid "Please select a subservice..." 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 "" -"Пожалуйста, используйте клавиши направления для перемещения PiP окна.\n" +"Пожалуйста, используйте клавиши навигации для перемещения PiP окна.\n" "Нажимайте Bouquet +/- для изменения размеров окна.\n" "Нажмите OK для возвращения в режим TV или EXIT для отмены движения." @@ -2244,21 +2400,23 @@ msgid "" "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 "Пожалуйста, ждите...Загружается список" @@ -2267,7 +2425,7 @@ msgid "Plugin browser" msgstr "Установленные плагины" msgid "Plugins" -msgstr "" +msgstr "Плагины" msgid "Polarity" msgstr "Поляризация" @@ -2276,7 +2434,7 @@ msgid "Polarization" msgstr "Поляризация" msgid "Polish" -msgstr "" +msgstr "Польский" msgid "Port A" msgstr "Port A" @@ -2291,7 +2449,7 @@ msgid "Port D" msgstr "Port D" msgid "Portuguese" -msgstr "" +msgstr "Португальский" msgid "Positioner" msgstr "Позиционер" @@ -2309,26 +2467,26 @@ msgid "Positioner storage" 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 для поиска." @@ -2340,16 +2498,16 @@ msgid "Prev" 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 "Защитить сервисы" @@ -2361,13 +2519,16 @@ msgid "Provider" 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" @@ -2379,19 +2540,19 @@ msgid "RF output" 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 "Действительно закрыть без сохранения настроек ?" @@ -2403,35 +2564,35 @@ msgid "Really exit the subservices quickzap?" 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 "Записи всегда имеют приоритет" @@ -2440,53 +2601,53 @@ msgid "Reenter new pin" 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 "Повторить" @@ -2495,62 +2656,61 @@ msgid "Repeat Type" 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 @@ -2560,43 +2720,43 @@ msgstr "" #. 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 "Сб" @@ -2608,7 +2768,7 @@ msgid "Satellite" msgstr "Спутник" msgid "Satellite Equipment Setup" -msgstr "" +msgstr "Настройки спутникового оборудования" msgid "Satellites" msgstr "Спутники" @@ -2617,94 +2777,99 @@ msgid "Satfinder" 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 "Поиск восток" @@ -2713,22 +2878,25 @@ msgid "Search west" 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 "Выбрать видеопрограмму" @@ -2737,46 +2905,49 @@ msgid "Select audio mode" msgstr "Выбрать аудио режим" msgid "Select audio track" -msgstr "Выбрать аудиотрек" +msgstr "Выбрать звуковую дорожку" 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 "Сервис" +msgstr "О сервисе" msgid "Service Scan" msgstr "Поиск сервисов" @@ -2785,43 +2956,49 @@ msgid "Service Searching" 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 "Информация о сервисе" +msgstr "Сервис" 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 "Набор ограничений" @@ -2833,22 +3010,22 @@ msgid "Setup" 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 "Показать инфопанель при навигации" @@ -2866,7 +3043,7 @@ msgid "Show the tv player..." msgstr "Включить режим TV..." msgid "Shows the state of your wireless LAN connection.\n" -msgstr "" +msgstr "Показывает состояние вашего беспроводного соединения.\n" msgid "Shutdown Dreambox after" msgstr "Выключить через : " @@ -2875,34 +3052,34 @@ msgid "Similar" msgstr "Подобный" msgid "Similar broadcasts:" -msgstr "Подобные радиопередачи:" +msgstr "Аналогичные передачи:" 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 "Действие таймера:" @@ -2912,37 +3089,37 @@ 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" @@ -2957,20 +3134,24 @@ msgid "" "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 "Звук" @@ -2985,25 +3166,25 @@ msgid "Spanish" msgstr "Испанский" msgid "Standby" -msgstr "Выключение" +msgstr "Ждущий режим" 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 "Шаг на восток" @@ -3012,7 +3193,7 @@ msgid "Step west" msgstr "Шаг на запад" msgid "Stereo" -msgstr "" +msgstr "Стерео" msgid "Stop" msgstr "Стоп" @@ -3021,22 +3202,22 @@ msgid "Stop Timeshift?" 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 "Сохранить положение" @@ -3078,32 +3259,32 @@ msgid "Symbol Rate" 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 "Наземный" @@ -3112,19 +3293,19 @@ msgid "Terrestrial provider" 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" @@ -3138,11 +3319,16 @@ msgid "" "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 "Сохранение не выполнено. Выберите другое место ресположения. " @@ -3155,38 +3341,56 @@ msgid "" "\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 код удачно изменен." @@ -3199,21 +3403,23 @@ 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?" @@ -3224,38 +3430,53 @@ msgid "The wizard is finished 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." @@ -3270,6 +3491,12 @@ msgid "" "- 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" @@ -3277,6 +3504,11 @@ msgid "" "- 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" @@ -3284,6 +3516,11 @@ msgid "" "- 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 " @@ -3295,9 +3532,16 @@ msgid "" "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 "Три" @@ -3309,7 +3553,7 @@ msgid "Thu" msgstr "Чт" msgid "Thumbnails" -msgstr "" +msgstr "Эскизы" msgid "Thursday" msgstr "Четверг" @@ -3327,7 +3571,7 @@ msgid "Timer Edit" msgstr "Редактирование таймера" msgid "Timer Editor" -msgstr "Редактор таймера" +msgstr "Редактор таймеров" msgid "Timer Type" msgstr "Тип таймера" @@ -3342,6 +3586,8 @@ msgid "" "Timer overlap in timers.xml detected!\n" "Please recheck it!" msgstr "" +"Обнаружено дублирование таймера в timers.xml!\n" +"Проверьте его!" msgid "Timer sanity error" msgstr "Ошибка состояния таймера" @@ -3359,7 +3605,7 @@ msgid "Timeshift not possible!" msgstr "Сдвиг времени не возможен!" msgid "Timeshift path..." -msgstr "" +msgstr "Таймшифт файл..." msgid "Timezone" msgstr "Часовой пояс" @@ -3368,10 +3614,10 @@ msgid "Title" msgstr "Название" msgid "Title properties" -msgstr "" +msgstr "Свойства заголовка" msgid "Titleset mode" -msgstr "" +msgstr "Режим установки заголовка" msgid "" "To update your Dreambox firmware, please follow these steps:\n" @@ -3381,6 +3627,12 @@ msgid "" "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 "Сегодня" @@ -3395,16 +3647,16 @@ msgid "Toneburst A/B" msgstr "тоновый сигнал A/B" msgid "Track" -msgstr "" +msgstr "Дорожка" msgid "Translation" -msgstr "" +msgstr "Перевод" msgid "Translation:" -msgstr "" +msgstr "Перевод:" msgid "Transmission Mode" -msgstr "" +msgstr "Режим передачи" msgid "Transmission mode" msgstr "Режим передачи" @@ -3413,16 +3665,23 @@ msgid "Transponder" 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 "Вт" @@ -3434,13 +3693,13 @@ msgid "Tune" msgstr "Настройка" msgid "Tune failed!" -msgstr "" +msgstr "Tune failed!" msgid "Tuner" msgstr "Тюнер" msgid "Tuner " -msgstr "" +msgstr "Тюнер" msgid "Tuner Slot" msgstr "Tuner Slot" @@ -3449,7 +3708,7 @@ msgid "Tuner configuration" msgstr "Настройка тюнера" msgid "Tuner status" -msgstr "" +msgstr "Состояние тюнера" msgid "Turkish" msgstr "Турецкий" @@ -3458,7 +3717,7 @@ msgid "Two" msgstr "Два" msgid "Type" -msgstr "" +msgstr "Тип" msgid "Type of scan" msgstr "Тип сканирования" @@ -3473,44 +3732,48 @@ msgid "USB Stick" 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 "Обновление завершено.Результат:" @@ -3519,31 +3782,31 @@ msgid "Updating... Please wait... This can take some minutes..." 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 @@ -3558,13 +3821,13 @@ msgstr "" #. 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" @@ -3583,13 +3846,13 @@ msgstr "" "нажмите 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 "Определены пользователем" @@ -3598,25 +3861,25 @@ msgid "VCR scart" 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" @@ -3626,18 +3889,33 @@ msgid "" "\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 "Режим напряжения" @@ -3649,28 +3927,32 @@ msgid "W" 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 "Ср" @@ -3689,6 +3971,13 @@ msgid "" "\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 " @@ -3711,7 +4000,7 @@ msgstr "" "Нажмите OK на пульте управления для перехода к следующему шагу." msgid "Welcome..." -msgstr "" +msgstr "Добро пожаловать..." msgid "West" msgstr "Запад" @@ -3727,30 +4016,35 @@ msgid "" "\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 "Год" @@ -3759,7 +4053,7 @@ msgid "Yes" msgstr "Да" msgid "Yes, and delete this movie" -msgstr "" +msgstr "Да, удалить эту запись" msgid "Yes, backup my settings!" msgstr "Да, сохранить мои установки!" @@ -3780,7 +4074,7 @@ msgid "Yes, restore the settings now" msgstr "Да, восстановить установки сейчас" msgid "Yes, returning to movie list" -msgstr "" +msgstr "Да, вернуться к списку записей" msgid "Yes, view the tutorial" msgstr "Да, смотреть инструкцию " @@ -3789,31 +4083,35 @@ msgid "" "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 "" -"Предположительно у Вас нет жесткого диска в Dreambox. Поэтому вы не можете " -"выбрать сохранение на HDD." +"Возможно не установлен жесткий диск. Поэтому вы не можете выбрать сохранение " +"на HDD." msgid "" "You have chosen to backup to a compact flash card. The card must be in the " @@ -3844,20 +4142,26 @@ msgid "" "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, " @@ -3882,16 +4186,23 @@ msgstr "" "Вы хотите установить 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 выключается. Пожалуйста, ожидайте..." @@ -3899,6 +4210,8 @@ msgid "" "Your dreambox isn't connected to the internet properly. Please check it and " "try again." msgstr "" +"Ваш ресивер не подключен к интернету. Пожалуйста, проверьте и попробуйте " +"снова." msgid "" "Your frontprocessor firmware must be upgraded.\n" @@ -3908,7 +4221,7 @@ msgstr "" "Нажмите OK для начала обновления." msgid "Your network configuration has been activated." -msgstr "" +msgstr "Ваши сетевые настройки активированы." msgid "" "Your network configuration has been activated.\n" @@ -3916,6 +4229,10 @@ msgid "" "\n" "Do you want to disable the second network interface?" msgstr "" +"Ваши сетевые настройки активированы.\n" +"В системе найден второй сетевой интерфейс.\n" +"\n" +"Вы желаете отключить второй интерфейс?" msgid "Zap back to service before positioner setup?" msgstr "Переключить на предыдущий сервис?" @@ -3935,9 +4252,15 @@ 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 "отменить редактирование пакета пользователя " @@ -3948,16 +4271,22 @@ msgid "about to start" 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 "добавить пакет пользователя " @@ -3969,7 +4298,7 @@ msgid "add file to playlist" msgstr "добавить файл к списку воспроизведения" msgid "add files to playlist" -msgstr "" +msgstr "добавить файлы в плейлист" msgid "add marker" msgstr "добавить маркер" @@ -3993,13 +4322,13 @@ msgid "add service to favourites" 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" @@ -4008,104 +4337,113 @@ msgstr "" "Вы действительно хотите восстановить\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 "круговой левый" +msgstr "круговая левая" msgid "circular right" -msgstr "круговой правый" +msgstr "круговая правая" 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 "удалить..." @@ -4117,13 +4455,13 @@ msgid "disable move mode" msgstr "выключить режим перемещения" msgid "disabled" -msgstr "" +msgstr "отключено" msgid "disconnected" -msgstr "" +msgstr "отключено" msgid "do not change" -msgstr "" +msgstr "не изменять" msgid "do nothing" msgstr "не делать ничего" @@ -4135,10 +4473,10 @@ msgid "done!" msgstr "выполнено!" msgid "edit alternatives" -msgstr "" +msgstr "изменить alternatives" msgid "empty" -msgstr "" +msgstr "пустой" msgid "enable" msgstr "включить" @@ -4153,70 +4491,70 @@ msgid "enable move mode" 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 "свободное место на диске" @@ -4225,10 +4563,10 @@ msgid "go to deep standby" msgstr "полностью выключить" msgid "go to standby" -msgstr "" +msgstr "перейти в ждущий режим" msgid "green" -msgstr "" +msgstr "зеленый" msgid "hear radio..." msgstr "Слушать радио" @@ -4237,55 +4575,60 @@ msgid "help..." 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 "покинуть проигрыватель..." @@ -4294,73 +4637,73 @@ msgid "left" 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 "Следующий канал" @@ -4371,35 +4714,44 @@ 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 "выкл." @@ -4408,13 +4760,13 @@ msgid "on" msgstr "вкл." msgid "on READ ONLY medium." -msgstr "" +msgstr "на диск только для чтения." msgid "once" msgstr "один раз" msgid "open nameserver configuration" -msgstr "" +msgstr "открыть конфигуратор DNS" msgid "open servicelist" msgstr "Открыть список сервисов" @@ -4426,7 +4778,7 @@ msgid "open servicelist(up)" msgstr "Открыть список сервисов(вверх)" msgid "open virtual keyboard input help" -msgstr "" +msgstr "показать помошь к вирт. клавиатуре" msgid "pass" msgstr "передать" @@ -4435,13 +4787,13 @@ msgid "pause" 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 когда будете готовы" @@ -4462,64 +4814,64 @@ msgid "recording..." 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 "поиск завершен." @@ -4532,163 +4884,166 @@ msgid "scan state" 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 "Простой" +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 "Остановить запись" +msgstr "остановить запись" msgid "stop timeshift" -msgstr "Остановить сдвиг времени" +msgstr "Остановить таймшифт" 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 "это записано" @@ -4697,25 +5052,25 @@ msgid "this service is protected by a parental control pin" 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 "Смотреть дополнения" @@ -4724,10 +5079,10 @@ msgid "view recordings..." msgstr "Смотреть запись" msgid "wait for ci..." -msgstr "" +msgstr "ожидание ci..." msgid "wait for mmi..." -msgstr "" +msgstr "ожидание mmi..." msgid "waiting" msgstr "ожидание" @@ -4736,13 +5091,13 @@ msgid "weekly" msgstr "Еженедельно" msgid "whitelist" -msgstr "" +msgstr "белый список" msgid "working" -msgstr "" +msgstr "работающий" msgid "yellow" -msgstr "" +msgstr "желтый" msgid "yes" msgstr "да" @@ -4754,19 +5109,21 @@ msgid "" "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 "\"?" @@ -4800,6 +5157,9 @@ msgstr "" #~ msgid "Movie Menu" #~ msgstr "Меню видеопрограмм" +#~ msgid "Output" +#~ msgstr "Действие" + #~ msgid "Really delete this timer?" #~ msgstr "Действительно удалить данный таймер?" @@ -4830,9 +5190,6 @@ msgstr "" #~ msgid "You selected a playlist" #~ msgstr "Вы выбрали список воспроизведения" -#~ msgid "delete" -#~ msgstr "Удалить" - #~ msgid "full /etc directory" #~ msgstr "всю папку /etc" diff --git a/po/sv.po b/po/sv.po index 07dee0b3..fc20dc43 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: tuxbox-enigma 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 14:15+0100\n" -"PO-Revision-Date: 2009-02-17 12:36+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 \n" "Language-Team: WeeGull \n" "MIME-Version: 1.0\n" @@ -820,6 +820,9 @@ msgstr "Committed DiSEqC kommando" msgid "Common Interface" msgstr "Common Interface" +msgid "Common Interface Assignment" +msgstr "" + msgid "Compact Flash" msgstr "Compact Flash" @@ -832,6 +835,9 @@ msgstr "Komplett" 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" @@ -1228,7 +1234,7 @@ msgid "Edit DNS" msgstr "Ändra DNS" msgid "Edit IPKG source URL..." -msgstr "" +msgstr "Edit IPKG source URL..." msgid "Edit Title" msgstr "Ändra titel" @@ -1495,6 +1501,18 @@ msgstr "" 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" @@ -1540,6 +1558,9 @@ msgstr "Hierarkisk information " msgid "Hierarchy mode" msgstr "Hierarkiskt läge" +msgid "High bitrate support" +msgstr "" + msgid "Horizontal" msgstr "horisontal" @@ -1644,10 +1665,10 @@ msgid "Install local IPKG" msgstr "Installera lokal IPKG" msgid "Install settings, skins, software..." -msgstr "" +msgstr "Installera inställningar, utseende, mjukvara..." msgid "Install software updates..." -msgstr "" +msgstr "Installera mjukvaruuppdateringar..." msgid "Installing" msgstr "Installera" @@ -1751,7 +1772,7 @@ msgid "Left" msgstr "Vänster" msgid "Lets you view/edit files in your Dreambox" -msgstr "" +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" @@ -2024,7 +2045,7 @@ msgid "No details for this image file" msgstr "Inga detaljer för denna image fil" msgid "No displayable files on this medium found!" -msgstr "" +msgstr "Inga visningsbara filer hittade på detta media!" msgid "No event info found, recording indefinitely." msgstr "Ingen programinfo hittades, inspelning oändlig." @@ -2251,10 +2272,10 @@ msgid "Play Audio-CD..." msgstr "Spela Audio-CD..." msgid "Play DVD" -msgstr "" +msgstr "Spela DVD" msgid "Play Music..." -msgstr "" +msgstr "Spela Musik..." msgid "Play recorded movies..." msgstr "Spela inspelade filmer..." @@ -2505,7 +2526,7 @@ msgid "Providers" msgstr "Leverantörer" msgid "Python frontend for /tmp/mmi.socket" -msgstr "" +msgstr "Python frontend för /tmp/mmi.socket" msgid "Quick" msgstr "Snabb" @@ -2776,7 +2797,7 @@ msgid "Scan " msgstr "Söka " msgid "Scan Files..." -msgstr "" +msgstr "Sök Filer..." msgid "Scan QAM128" msgstr "Söka QAM128" @@ -2871,7 +2892,7 @@ msgid "Select HDD" msgstr "Välj hårddisk" msgid "Select IPKG source to edit..." -msgstr "" +msgstr "Välj IPKG källa att ändra..." msgid "Select Location" msgstr "Välj Sökväg" @@ -2907,7 +2928,7 @@ msgid "Select video input" msgstr "Välj video insignal" msgid "Select video input with up/down buttons" -msgstr "" +msgstr "Välj video ingång med upp/ner knapparna" msgid "Select video mode" msgstr "Välj videoläge" @@ -3333,7 +3354,7 @@ msgstr "" "Vill du skriva USB flasher till den stickan?" msgid "The following files were found..." -msgstr "" +msgstr "Följande filer hittades..." msgid "" "The input port should be configured now.\n" @@ -3427,7 +3448,7 @@ msgstr "" "Vill du verkligen fortsätta?" msgid "There was an error downloading the packetlist. Please try again." -msgstr "" +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!" @@ -3456,7 +3477,7 @@ msgstr "" #, python-format msgid "This Dreambox can't decode %s streams!" -msgstr "" +msgstr "Den här dreamboxen kan in avkoda %s strömmar!" #, python-format msgid "This Dreambox can't decode %s video streams!" @@ -3661,7 +3682,7 @@ 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 "" +msgstr "Försöker ladda ner ny paketlista. Vänligen vänta..." msgid "Tue" msgstr "Tis" @@ -3879,16 +3900,16 @@ msgid "Video mode selection." msgstr "Videoläges val." msgid "View Movies..." -msgstr "" +msgstr "Visa Filmer..." msgid "View Photos..." -msgstr "" +msgstr "Visa Foton..." msgid "View Rass interactive..." msgstr "Visa Rass interaktivitet..." msgid "View Video CD..." -msgstr "" +msgstr "Visa Video CD..." msgid "View teletext..." msgstr "Visa teletext..." @@ -4183,6 +4204,8 @@ 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..." @@ -4233,6 +4256,12 @@ msgstr "[favorit editor]" 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" @@ -4248,6 +4277,12 @@ msgstr "håller på att starta" 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" @@ -4306,6 +4341,12 @@ msgstr "" "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" @@ -4393,6 +4434,9 @@ msgstr "daglig" msgid "day" msgstr "dag" +msgid "delete" +msgstr "ta bort" + msgid "delete cut" msgstr "ta bort klipp" @@ -4566,6 +4610,9 @@ msgstr "" msgid "init module" msgstr "initiera modul" +msgid "init modules" +msgstr "" + msgid "insert mark here" msgstr "infoga markör här" @@ -4671,9 +4718,18 @@ msgstr "nästa kanal i historiken" 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" @@ -4846,6 +4902,9 @@ msgstr "välj" 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" @@ -5535,9 +5594,6 @@ msgstr "zapped" #~ msgid "color" #~ msgstr "färg" -#~ msgid "delete" -#~ msgstr "ta bort" - #~ msgid "equal to Socket A" #~ msgstr "likadant som Ingång A" diff --git a/po/tr.po b/po/tr.po index 3a2c5d1c..de13da28 100644 --- a/po/tr.po +++ b/po/tr.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: enigma2 Turkish Locale\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 14:15+0100\n" -"PO-Revision-Date: 2009-02-18 11:35+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 \n" "Language-Team: http://www.turkeyforum.com/satforum \n" "MIME-Version: 1.0\n" @@ -774,7 +774,7 @@ msgid "Cleanup" 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" @@ -795,10 +795,10 @@ msgid "Coderate LP" 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" @@ -815,6 +815,9 @@ msgstr "Bağlı DiSEqC emri" msgid "Common Interface" msgstr "Ortak Arayüz" +msgid "Common Interface Assignment" +msgstr "" + msgid "Compact Flash" msgstr "Compact Flash" @@ -827,6 +830,9 @@ msgstr "Tamamı" 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" @@ -1178,7 +1184,7 @@ 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" @@ -1225,7 +1231,7 @@ msgid "Edit DNS" msgstr "DNS Düzenle" msgid "Edit IPKG source URL..." -msgstr "" +msgstr "IPKG kaynak adresi..." msgid "Edit Title" msgstr "Başlık Düzenle" @@ -1494,6 +1500,18 @@ msgstr "" 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" @@ -1539,6 +1557,9 @@ msgstr "Hiyerarşi Bilgisi" msgid "Hierarchy mode" msgstr "Hiyerarşi kipi" +msgid "High bitrate support" +msgstr "" + msgid "Horizontal" msgstr "Yatay (H)" @@ -1647,10 +1668,10 @@ msgid "Install local IPKG" msgstr "Çevrimdışı IPKG yükle" msgid "Install settings, skins, software..." -msgstr "" +msgstr "Yapılandırma ayarı, arayüz, yazılım yükleyin..." msgid "Install software updates..." -msgstr "" +msgstr "Yazılım güncellemelerini yükle..." msgid "Installing" msgstr "Kuruluyor" @@ -1754,7 +1775,7 @@ msgid "Left" msgstr "Sol" msgid "Lets you view/edit files in your Dreambox" -msgstr "" +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" @@ -2028,7 +2049,7 @@ 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 "" +msgstr "Bu medyada gösterilecek dosya bulunamadı!" msgid "No event info found, recording indefinitely." msgstr "EPG bilgisi bulunamadı, süresiz kaydediliyor." @@ -2257,10 +2278,10 @@ msgid "Play Audio-CD..." msgstr "Ses CD'si (Audio CD) oynat..." msgid "Play DVD" -msgstr "" +msgstr "DVD Oynat" msgid "Play Music..." -msgstr "" +msgstr "Müzik dinle..." msgid "Play recorded movies..." msgstr "Kayıtlı video dosyalarını göster..." @@ -2269,7 +2290,7 @@ msgid "Please Reboot" msgstr "Lütfen yeniden başlatın" msgid "Please Select Medium to be Scanned" -msgstr "Lütfen görüntülemek istediğiniz medyayı seçin" +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" @@ -2508,7 +2529,7 @@ msgid "Providers" msgstr "Yayıncılar" msgid "Python frontend for /tmp/mmi.socket" -msgstr "" +msgstr "/tmp/mmi.socket için Python uç birimi" msgid "Quick" msgstr "Hızlı" @@ -2780,7 +2801,7 @@ msgid "Scan " msgstr "Ara : " msgid "Scan Files..." -msgstr "" +msgstr "Dosyaları ara..." msgid "Scan QAM128" msgstr "QAM128'i ara" @@ -2876,7 +2897,7 @@ msgid "Select HDD" msgstr "HDD Seç" msgid "Select IPKG source to edit..." -msgstr "" +msgstr "IPKG kaynağını seçin..." msgid "Select Location" msgstr "Konum Seç" @@ -2912,7 +2933,7 @@ msgid "Select video input" msgstr "Görüntü girişini seç" msgid "Select video input with up/down buttons" -msgstr "" +msgstr "Yukarı/aşağı tuşlarıyla Video girişini seçin" msgid "Select video mode" msgstr "Görüntü kipini seç" @@ -3114,23 +3135,23 @@ msgid "" 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 yedekleme hedefinizde yazma hakkı yok.\n" -"Lütfen başka bir hedef deneyin." +"Ü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, yedekleme hedefinde yazma hakkı yok.\n" +"Üzgünüm, seçtiğiniz yedekleme hedefinde yazma hakkı yok.\n" "\n" -"Lütfen başka bir hedef deneyin." +"Lütfen başka bir hedef seçin." #. TRANSLATORS: This must fit into the header button in the EPG-List msgid "Sort A-Z" @@ -3262,7 +3283,7 @@ msgid "TV System" 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" @@ -3336,7 +3357,7 @@ msgstr "" "USB flaşlayıcıyı bu USB belleğe yazmak istiyor musunuz?" msgid "The following files were found..." -msgstr "" +msgstr "Aşağıdaki dosyalar bulundu..." msgid "" "The input port should be configured now.\n" @@ -3430,7 +3451,7 @@ msgstr "" "Devam etmek istiyor musunuz?" msgid "There was an error downloading the packetlist. Please try again." -msgstr "" +msgstr "Paket listesi indirilirken hata oluştu. Lütfen tekrar deneyin." #, python-format msgid "This .NFI file does not contain a valid %s image!" @@ -3459,7 +3480,7 @@ msgstr "" #, python-format msgid "This Dreambox can't decode %s streams!" -msgstr "" +msgstr "Dreambox %s streamlarını çözemez!" #, python-format msgid "This Dreambox can't decode %s video streams!" @@ -3668,7 +3689,7 @@ msgstr "" "Kullanılan transponderlar kablolu yayın ağında aranıyor.. lütfen bekleyin..." msgid "Trying to download a new packetlist. Please wait..." -msgstr "" +msgstr "Paket listesi indiriliyor. Lütfen bekleyin..." msgid "Tue" msgstr "Salı" @@ -3887,16 +3908,16 @@ msgid "Video mode selection." msgstr "Görüntü kipi seçimi." msgid "View Movies..." -msgstr "" +msgstr "Film izle..." msgid "View Photos..." -msgstr "" +msgstr "Fotoğraflara bak..." msgid "View Rass interactive..." msgstr "Etkileşimli Rass'ı (Radio acoustic sounding system) göster" msgid "View Video CD..." -msgstr "" +msgstr "Video CD izle..." msgid "View teletext..." msgstr "Teleteksi aç..." @@ -4197,6 +4218,8 @@ 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..." @@ -4249,6 +4272,12 @@ msgstr "[favori düzenle]" 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ç" @@ -4264,6 +4293,12 @@ msgstr "başlamak üzere" 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" @@ -4271,10 +4306,10 @@ msgid "add alternatives" 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" @@ -4322,6 +4357,12 @@ msgstr "" "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" @@ -4409,6 +4450,9 @@ msgstr "günlük" msgid "day" msgstr "gün" +msgid "delete" +msgstr "sil" + msgid "delete cut" msgstr "kesimi sil" @@ -4582,6 +4626,9 @@ msgstr "" msgid "init module" msgstr "modülü başlat" +msgid "init modules" +msgstr "" + msgid "insert mark here" msgstr "buraya işaret koy" @@ -4687,9 +4734,18 @@ msgstr "Hafızadaki sonraki kanal" 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ı" @@ -4862,6 +4918,9 @@ msgstr "seç" msgid "select .NFI flash file" msgstr ".NFI flaş dosyası seçin" +msgid "select CAId" +msgstr "" + msgid "select image from server" msgstr "imajı sunucudan seç" @@ -5529,9 +5588,6 @@ msgstr "kanal değiştirildi" #~ msgid "color" #~ msgstr "renk" -#~ msgid "delete" -#~ msgstr "sil" - #~ msgid "equal to Socket A" #~ msgstr "Soket A'ya eşit" -- cgit v1.2.3 From 54475ce18e43482b2ec1a150f7fa07c3464ec6d2 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 26 Mar 2009 17:10:17 +0100 Subject: don't allow standby when there is no active screen --- mytest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mytest.py b/mytest.py index b58ec2df..1d9594a9 100755 --- a/mytest.py +++ b/mytest.py @@ -376,7 +376,7 @@ class PowerKey: 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") -- cgit v1.2.3