Merge commit 'dm/experimental' into vuplus_experimental
authorikseong <ikseong@vuplus>
Wed, 28 Jul 2010 06:24:51 +0000 (15:24 +0900)
committerikseong <ikseong@vuplus>
Wed, 28 Jul 2010 06:24:51 +0000 (15:24 +0900)
43 files changed:
lib/python/Components/About.py [changed mode: 0644->0755]
lib/python/Components/Network.py
lib/python/Components/TimerSanityCheck.py
lib/python/Plugins/Extensions/GraphMultiEPG/meta/plugin_graphmultiepg.xml
lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py
lib/python/Plugins/SystemPlugins/SoftwareManager/BackupRestore.py
lib/python/Plugins/SystemPlugins/WirelessLan/Makefile.am
lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py
lib/python/Plugins/SystemPlugins/WirelessLan/flags.py [deleted file]
lib/python/Plugins/SystemPlugins/WirelessLan/iwlibs.py [deleted file]
lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py
lib/python/Screens/NetworkSetup.py
po/ar.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en.po
po/enigma2.pot
po/es.po
po/et.po
po/fi.po
po/fr.po
po/fy.po
po/hr.po
po/hu.po
po/is.po
po/it.po
po/lt.po
po/lv.po
po/nl.po
po/no.po
po/pl.po
po/pt.po
po/ru.po
po/sk.po
po/sl.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
tools/create_picon_links.py

old mode 100644 (file)
new mode 100755 (executable)
index 8e332e3..6b322c9
@@ -1,5 +1,6 @@
 from Tools.Directories import resolveFilename, SCOPE_SYSETC
 from enigma import getEnigmaVersionString
+from os import popen
 
 class About:
        def __init__(self):
@@ -43,4 +44,14 @@ class About:
        def getEnigmaVersionString(self):
                return getEnigmaVersionString()
 
+       def getKernelVersionString(self):
+               try:
+                       result = popen("uname -r","r").read().strip("\n").split('-')
+                       kernel_version = result[0]
+                       return kernel_version
+               except:
+                       pass
+
+               return "unknown"
+
 about = About()
index e8a3d45..e980cb8 100755 (executable)
@@ -4,6 +4,7 @@ from socket import *
 from enigma import eConsoleAppContainer
 from Components.Console import Console
 from Components.PluginComponent import plugins
+from Components.About import about
 from Plugins.Plugin import PluginDescriptor
 
 class Network:
@@ -349,8 +350,10 @@ class Network:
                                                return _("Zydas")+ " " + str(os_path.basename(os_path.realpath(driverdir))) + " " + _("WLAN adapter.") 
                                        elif os_path.realpath(driverdir).endswith('rt73'):
                                                return _("Ralink")+ " " + str(os_path.basename(os_path.realpath(driverdir))) + " " + _("WLAN adapter.") 
+                                       elif os_path.realpath(driverdir).endswith('rt73usb'):
+                                               return _("Ralink")+ " " + str(os_path.basename(os_path.realpath(driverdir))) + " " + _("WLAN adapter.") 
                                        else:
-                                               return _("Unknown network adapter.")
+                                               return str(os_path.basename(os_path.realpath(driverdir))) + " " + _("WLAN adapter.") 
                                else:
                                        return _("Unknown network adapter.")
 
@@ -606,24 +609,39 @@ class Network:
                                if callback is not None:
                                        callback(True)
 
-       def detectWlanModule(self):
+       def detectWlanModule(self, iface = None):
                self.wlanmodule = None
-               rt73_dir = "/sys/bus/usb/drivers/rt73/"
-               zd1211b_dir = "/sys/bus/usb/drivers/zd1211b/"
-               madwifi_dir = "/sys/bus/pci/drivers/ath_pci/"
-               if os_path.exists(madwifi_dir):
-                       files = listdir(madwifi_dir)
-                       if len(files) >= 1:
-                               self.wlanmodule = 'madwifi'
-               if os_path.exists(rt73_dir):
-                       rtfiles = listdir(rt73_dir)
-                       if len(rtfiles) == 2 or len(rtfiles) == 5:
-                               self.wlanmodule = 'ralink'
-               if os_path.exists(zd1211b_dir):
-                       zdfiles = listdir(zd1211b_dir)
-                       if len(zdfiles) == 1 or len(zdfiles) == 5:
-                               self.wlanmodule = 'zydas'
-               return self.wlanmodule
+               classdir = "/sys/class/net/" + iface + "/device/"
+               driverdir = "/sys/class/net/" + iface + "/device/driver/"
+               if os_path.exists(classdir):
+                       classfiles = listdir(classdir)
+                       driver_found = False
+                       nl80211_found = False
+                       for x in classfiles:
+                               if x == 'driver':
+                                       driver_found = True
+                               if x.startswith('ieee80211:'):
+                                       nl80211_found = True
+
+                       if driver_found and nl80211_found:
+                               #print about.getKernelVersionString()
+                               self.wlanmodule = "nl80211"
+                       else:
+                               if driver_found and not nl80211_found:
+                                       driverfiles = listdir(driverdir)
+                                       if os_path.realpath(driverdir).endswith('ath_pci'):
+                                               if len(driverfiles) >= 1:
+                                                       self.wlanmodule = 'madwifi'
+                                       if os_path.realpath(driverdir).endswith('rt73'):
+                                               if len(driverfiles) == 2 or len(driverfiles) == 5:
+                                                       self.wlanmodule = 'ralink'                                      
+                                       if os_path.realpath(driverdir).endswith('zd1211b'):
+                                               if len(driverfiles) == 1 or len(driverfiles) == 5:
+                                                       self.wlanmodule = 'zydas'
+                       if self.wlanmodule is None:
+                               self.wlanmodule = "wext"
+                       print 'Using "%s" as wpa-supplicant driver' % (self.wlanmodule)
+                       return self.wlanmodule
        
        def calc_netmask(self,nmask):
                from struct import pack, unpack
index 8f48d1e..b472a19 100644 (file)
@@ -12,8 +12,8 @@ class TimerSanityCheck:
                self.simultimer = []
                self.rep_eventlist = []
                self.nrep_eventlist = []
-               self.bflag = 1
-               self.eflag = -1
+               self.bflag = -1
+               self.eflag = 1
 
        def check(self, ext_timer=1):
                print "check"
index a10840d..3e2a3f6 100755 (executable)
@@ -6,7 +6,7 @@
           <info language="en">
                     <author>Dream Multimedia</author>
                     <name>GraphMultiEPG</name>
-                    <packagename>eenigma2-plugin-extensions-graphmultiepg</packagename>
+                    <packagename>enigma2-plugin-extensions-graphmultiepg</packagename>
                     <shortdescription>GraphMultiEPG shows a graphical timeline EPG.</shortdescription>
                     <description>GraphMultiEPG shows a graphical timeline EPG.\nShows a nice overview of all running und upcoming tv shows.</description>
                     <screenshot src="http://www.dreamboxupdate.com/preview/plugin_graphmultiepg_en.jpg" />
index a8b34ac..d7e8307 100755 (executable)
@@ -257,7 +257,7 @@ class NetworkWizard(WizardLanguage, Rc):
                                        text1 = _("Your Dreambox is now ready to use.\n\nYour internet connection is working now.\n\n")
                                        text2 = _('Accesspoint:') + "\t" + str(status[self.selectedInterface]["acesspoint"]) + "\n"
                                        text3 = _('SSID:') + "\t" + str(status[self.selectedInterface]["essid"]) + "\n"
-                                       text4 = _('Link Quality:') + "\t" + str(status[self.selectedInterface]["quality"])+"%" + "\n"
+                                       text4 = _('Link Quality:') + "\t" + str(status[self.selectedInterface]["quality"])+ "\n"
                                        text5 = _('Signal Strength:') + "\t" + str(status[self.selectedInterface]["signal"]) + "\n"
                                        text6 = _('Bitrate:') + "\t" + str(status[self.selectedInterface]["bitrate"]) + "\n"
                                        text7 = _('Encryption:') + " " + str(status[self.selectedInterface]["encryption"]) + "\n"
index dcff3ca..7bd7d7a 100755 (executable)
@@ -251,8 +251,9 @@ class RestoreMenu(Screen):
        def KeyOk(self):
                if (self.exe == False) and (self.entry == True):
                        self.sel = self["filelist"].getCurrent()
-                       self.val = self.path + "/" + self.sel
-                       self.session.openWithCallback(self.startRestore, MessageBox, _("Are you sure you want to restore\nfollowing backup:\n") + self.sel + _("\nSystem will restart after the restore!"))
+                       if self.sel:
+                               self.val = self.path + "/" + self.sel
+                               self.session.openWithCallback(self.startRestore, MessageBox, _("Are you sure you want to restore\nfollowing backup:\n") + self.sel + _("\nSystem will restart after the restore!"))
 
        def keyCancel(self):
                self.close()
@@ -265,8 +266,9 @@ class RestoreMenu(Screen):
        def deleteFile(self):
                if (self.exe == False) and (self.entry == True):
                        self.sel = self["filelist"].getCurrent()
-                       self.val = self.path + "/" + self.sel
-                       self.session.openWithCallback(self.startDelete, MessageBox, _("Are you sure you want to delete\nfollowing backup:\n" + self.sel ))
+                       if self.sel:
+                               self.val = self.path + "/" + self.sel
+                               self.session.openWithCallback(self.startDelete, MessageBox, _("Are you sure you want to delete\nfollowing backup:\n" + self.sel ))
 
        def startDelete(self, ret = False):
                if (ret == True):
index 2f36237..bdc1a88 100755 (executable)
@@ -4,8 +4,6 @@ SUBDIRS = meta
 
 install_PYTHON =       \
        __init__.py \
-       flags.py \
-       iwlibs.py \
        plugin.py \
        Wlan.py
 
index 1c1471c..baefd43 100755 (executable)
@@ -1,7 +1,3 @@
-#from enigma import eListboxPythonMultiContent, eListbox, gFont, RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_HALIGN_CENTER
-#from Components.MultiContent import MultiContentEntryText
-#from Components.GUIComponent import GUIComponent
-#from Components.HTMLComponent import HTMLComponent
 from Components.config import config, ConfigYesNo, NoSave, ConfigSubsection, ConfigText, ConfigSelection, ConfigPassword
 from Components.Console import Console
 
@@ -10,7 +6,8 @@ from string import maketrans, strip
 import sys
 import types
 from re import compile as re_compile, search as re_search
-from iwlibs import getNICnames, Wireless, Iwfreq
+from pythonwifi.iwlibs import getNICnames, Wireless, Iwfreq, getWNICnames
+from pythonwifi import flags as wififlags
 
 list = []
 list.append("WEP")
@@ -65,38 +62,42 @@ class Wlan:
                print "self.iface im iwconfigFinished",self.iface
                callback = extra_args
                data = { 'essid': False, 'frequency': False, 'acesspoint': False, 'bitrate': False, 'encryption': False, 'quality': False, 'signal': False }
-               #print "result im iwconfigFinished",result
                
                for line in result.splitlines():
-                       #print "line",line
                        line = line.strip()
                        if "ESSID" in line:
                                if "off/any" in line:
                                        ssid = _("No Connection")
                                else:
-                                       tmpssid=(line[line.index('ESSID')+7:len(line)-1])
-                                       if tmpssid == '':
-                                               ssid = _("Hidden networkname")
-                                       elif tmpssid ==' ':
-                                               ssid = _("Hidden networkname")
+                                       if "Nickname" in line:
+                                               tmpssid=(line[line.index('ESSID')+7:line.index('"  Nickname')])
+                                               if tmpssid == '':
+                                                       ssid = _("Hidden networkname")
+                                               elif tmpssid ==' ':
+                                                       ssid = _("Hidden networkname")
+                                               else:
+                                                       ssid = tmpssid
                                        else:
-                                           ssid = tmpssid
-                               #print "SSID->",ssid
+                                               tmpssid=(line[line.index('ESSID')+7:len(line)-1])
+                                               if tmpssid == '':
+                                                       ssid = _("Hidden networkname")
+                                               elif tmpssid ==' ':
+                                                       ssid = _("Hidden networkname")
+                                               else:
+                                                       ssid = tmpssid                                          
+
                                if ssid is not None:
                                        data['essid'] = ssid
                        if 'Frequency' in line:
                                frequency = line[line.index('Frequency')+10 :line.index(' GHz')]
-                               #print "Frequency",frequency   
                                if frequency is not None:
                                        data['frequency'] = frequency
                        if "Access Point" in line:
                                ap=line[line.index('Access Point')+14:len(line)-1]
-                               #print "AP",ap
                                if ap is not None:
                                        data['acesspoint'] = ap
                        if "Bit Rate" in line:
                                br = line[line.index('Bit Rate')+9 :line.index(' Mb/s')]
-                               #print "Bitrate",br
                                if br is not None:
                                        data['bitrate'] = br
                        if 'Encryption key' in line:
@@ -104,7 +105,6 @@ class Wlan:
                                    enc = _("Disabled")
                                else:
                                    enc = line[line.index('Encryption key')+15 :line.index('   Security')]
-                               #print "Encryption key",enc 
                                if enc is not None:
                                        data['encryption'] = _("Enabled")
                        if 'Quality' in line:
@@ -112,12 +112,10 @@ class Wlan:
                                        qual = line[line.index('Quality')+8:line.index('/100')]
                                else:
                                        qual = line[line.index('Quality')+8:line.index('Sig')]
-                               #print "Quality",qual
                                if qual is not None:
                                        data['quality'] = qual
                        if 'Signal level' in line:
-                               signal = line[line.index('Signal level')+14 :line.index(' dBm')]
-                               #print "Signal level",signal            
+                               signal = line[line.index('Signal level')+13 :line.index(' dBm')]
                                if signal is not None:
                                        data['signal'] = signal
 
@@ -130,7 +128,6 @@ class Wlan:
                                callback(True,self.wlaniface)
 
        def getAdapterAttribute(self, attribute):
-               print "im getAdapterAttribute"
                if self.wlaniface.has_key(self.iface):
                        print "self.wlaniface.has_key",self.iface
                        if self.wlaniface[self.iface].has_key(attribute):
@@ -142,13 +139,17 @@ class Wlan:
 
        
        def getWirelessInterfaces(self):
-               iwifaces = None
-               try:
-                       iwifaces = getNICnames()
-               except:
-                       print "[Wlan.py] No Wireless Networkcards could be found"
-               
-               return iwifaces
+               device = re_compile('[a-z]{2,}[0-9]*:')
+               ifnames = []
+
+               fp = open('/proc/net/wireless', 'r')
+               for line in fp:
+                       try:
+                               # append matching pattern, without the trailing colon
+                               ifnames.append(device.search(line).group()[:-1])
+                       except AttributeError:
+                               pass
+               return ifnames
 
        
        def getNetworkList(self):
@@ -156,8 +157,8 @@ class Wlan:
                ifobj = Wireless(self.iface) # a Wireless NIC Object
                
                #Association mappings
-               stats, quality, discard, missed_beacon = ifobj.getStatistics()
-               snr = quality.signallevel - quality.noiselevel
+               #stats, quality, discard, missed_beacon = ifobj.getStatistics()
+               #snr = quality.signallevel - quality.noiselevel
 
                try:
                        scanresults = ifobj.scan()
@@ -167,55 +168,47 @@ class Wlan:
                
                if scanresults is not None:
                        aps = {}
+                       (num_channels, frequencies) = ifobj.getChannelInfo()
+                       index = 1
                        for result in scanresults:
-                       
                                bssid = result.bssid
-               
-                               encryption = map(lambda x: hex(ord(x)), result.encode)
-               
-                               if encryption[-1] == "0x8":
+
+                               if result.encode.flags & wififlags.IW_ENCODE_DISABLED > 0:
+                                       encryption = False
+                               elif result.encode.flags & wififlags.IW_ENCODE_NOKEY > 0:
                                        encryption = True
                                else:
-                                       encryption = False
-               
+                                       encryption = None
+                               
+                               signal = str(result.quality.siglevel-0x100) + " dBm"
+                               quality = "%s/%s" % (result.quality.quality,ifobj.getQualityMax().quality)
+                               
                                extra = []
                                for element in result.custom:
                                        element = element.encode()
                                        extra.append( strip(self.asciify(element)) )
-                               
-                               if result.quality.sl is 0 and len(extra) > 0:
-                                       begin = extra[0].find('SignalStrength=')+15
-                                                                       
-                                       done = False
-                                       end = begin+1
-                                       
-                                       while not done:
-                                               if extra[0][begin:end].isdigit():
-                                                       end += 1
-                                               else:
-                                                       done = True
-                                                       end -= 1
-                                       
-                                       signal = extra[0][begin:end]
-                                       #print "[Wlan.py] signal is:" + str(signal)
+                               for element in extra:
+                                       print element
+                                       if 'SignalStrength' in element:
+                                               signal = element[element.index('SignalStrength')+15:element.index(',L')]                                        
+                                       if 'LinkQuality' in element:
+                                               quality = element[element.index('LinkQuality')+12:len(element)]                         
 
-                               else:
-                                       signal = str(result.quality.sl)
-                               
                                aps[bssid] = {
                                        'active' : True,
                                        'bssid': result.bssid,
-                                       'channel': result.frequency.getChannel(result.frequency.getFrequency()),
+                                       'channel': frequencies.index(ifobj._formatFrequency(result.frequency.getFrequency())) + 1,
                                        'encrypted': encryption,
                                        'essid': strip(self.asciify(result.essid)),
                                        'iface': self.iface,
-                                       'maxrate' : result.rate[-1],
-                                       'noise' : result.quality.getNoiselevel(),
-                                       'quality' : str(result.quality.quality),
-                                       'signal' : signal,
+                                       'maxrate' : ifobj._formatBitrate(result.rate[-1][-1]),
+                                       'noise' : '',#result.quality.nlevel-0x100,
+                                       'quality' : str(quality),
+                                       'signal' : str(signal),
                                        'custom' : extra,
                                }
-                               print aps[bssid]
+                               #print "GOT APS ENTRY:",aps[bssid]
+                               index = index + 1
                        return aps
 
                
@@ -226,12 +219,11 @@ class Wlan:
                        self.channel = str(fq.getChannel(str(ifobj.getFrequency()[0:-3])))
                except:
                        self.channel = 0
-               #print ifobj.getStatistics()
                status = {
-                                 'BSSID': str(ifobj.getAPaddr()),
+                                 'BSSID': str(ifobj.getAPaddr()), #ifobj.getStatistics()
                                  'ESSID': str(ifobj.getEssid()),
-                                 'quality': str(ifobj.getStatistics()[1].quality),
-                                 'signal': str(ifobj.getStatistics()[1].sl),
+                                 'quality': "%s/%s" % (ifobj.getStatistics()[1].quality,ifobj.getQualityMax().quality),
+                                 'signal': str(ifobj.getStatistics()[1].siglevel-0x100) + " dBm",
                                  'bitrate': str(ifobj.getBitrate()),
                                  'channel': str(self.channel),
                                  #'channel': str(fq.getChannel(str(ifobj.getFrequency()[0:-3]))),
@@ -326,7 +318,6 @@ class wpaSupplicant:
                                        essid = split[1][1:-1]
                                        
                                elif split[0] == 'proto':
-                                       print "split[1]",split[1]
                                        config.plugins.wlan.encryption.enabled.value = True
                                        if split[1] == "WPA" :
                                                mode = 'WPA'
@@ -354,12 +345,9 @@ class wpaSupplicant:
                                        else:
                                                config.plugins.wlan.encryption.wepkeytype.value = 'HEX'
                                                config.plugins.wlan.encryption.psk.value = split[1]                                             
-                                       print "[Wlan.py] Got Encryption: WEP - keytype is: "+config.plugins.wlan.encryption.wepkeytype.value
-                                       print "[Wlan.py] Got Encryption: WEP - key0 is: "+config.plugins.wlan.encryption.psk.value
                                        
                                elif split[0] == 'psk':
                                        config.plugins.wlan.encryption.psk.value = split[1][1:-1]
-                                       print "[Wlan.py] Got PSK: "+split[1][1:-1]
                                else:
                                        pass
                                
@@ -436,24 +424,30 @@ class Status:
                                if "off/any" in line:
                                        ssid = _("No Connection")
                                else:
-                                       tmpssid=(line[line.index('ESSID')+7:len(line)-1])
-                                       if tmpssid == '':
-                                               ssid = _("Hidden networkname")
-                                       elif tmpssid ==' ':
-                                               ssid = _("Hidden networkname")
+                                       if "Nickname" in line:
+                                               tmpssid=(line[line.index('ESSID')+7:line.index('"  Nickname')])
+                                               if tmpssid == '':
+                                                       ssid = _("Hidden networkname")
+                                               elif tmpssid ==' ':
+                                                       ssid = _("Hidden networkname")
+                                               else:
+                                                       ssid = tmpssid
                                        else:
-                                           ssid = tmpssid
-                               #print "SSID->",ssid
+                                               tmpssid=(line[line.index('ESSID')+7:len(line)-1])
+                                               if tmpssid == '':
+                                                       ssid = _("Hidden networkname")
+                                               elif tmpssid ==' ':
+                                                       ssid = _("Hidden networkname")
+                                               else:
+                                                       ssid = tmpssid                                          
                                if ssid is not None:
                                        data['essid'] = ssid
                        if 'Frequency' in line:
                                frequency = line[line.index('Frequency')+10 :line.index(' GHz')]
-                               #print "Frequency",frequency   
                                if frequency is not None:
                                        data['frequency'] = frequency
                        if "Access Point" in line:
                                ap=line[line.index('Access Point')+14:len(line)]
-                               #print "AP",ap
                                if ap is not None:
                                        data['acesspoint'] = ap
                                        if ap == "Not-Associated":
@@ -467,7 +461,6 @@ class Status:
                                                br += " Mb/s"
                                else:
                                        br = line[line.index('Bit Rate')+9 :line.index(' Mb/s')] + " Mb/s"
-                               #print "Bitrate",br
                                if br is not None:
                                        data['bitrate'] = br
                        if 'Encryption key' in line:
@@ -480,28 +473,30 @@ class Status:
                                        enc = line[line.index('Encryption key')+15 :line.index('   Security')]
                                        if enc is not None:
                                                enc = _("Enabled")
-                               #print "Encryption key",enc 
                                if enc is not None:
                                        data['encryption'] = enc
                        if 'Quality' in line:
                                if "/100" in line:
-                                       qual = line[line.index('Quality')+8:line.index('/100')]
+                                       #qual = line[line.index('Quality')+8:line.index('/100')]
+                                       qual = line[line.index('Quality')+8:line.index('  Signal')]
                                else:
                                        qual = line[line.index('Quality')+8:line.index('Sig')]
-                               #print "Quality",qual
                                if qual is not None:
                                        data['quality'] = qual
                        if 'Signal level' in line:
                                if "dBm" in line:
-                                       signal = line[line.index('Signal level')+14 :line.index(' dBm')]
+                                       signal = line[line.index('Signal level')+13 :line.index(' dBm')]
                                        signal += " dBm"
                                elif "/100" in line:
-                                       signal = line[line.index('Signal level')+13:line.index('/100  Noise')]
-                                       signal += "%"
+                                       if "Noise" in line:
+                                               signal = line[line.index('Signal level')+13:line.index('  Noise')]
+                                       else:
+                                               signal = line[line.index('Signal level')+13:len(line)]
                                else:
-                                       signal = line[line.index('Signal level')+13:line.index('  Noise')]
-                                       signal += "%"
-                               #print "Signal level",signal            
+                                       if "Noise" in line:
+                                               signal = line[line.index('Signal level')+13:line.index('  Noise')]
+                                       else:
+                                               signal = line[line.index('Signal level')+13:len(line)]                                          
                                if signal is not None:
                                        data['signal'] = signal
 
@@ -515,12 +510,10 @@ class Status:
                                        callback(True,self.wlaniface)
 
        def getAdapterAttribute(self, iface, attribute):
-               print "im getAdapterAttribute"
                self.iface = iface
                if self.wlaniface.has_key(self.iface):
-                       print "self.wlaniface.has_key",self.iface
                        if self.wlaniface[self.iface].has_key(attribute):
                                return self.wlaniface[self.iface][attribute]
                return None
        
-iStatus = Status()
\ No newline at end of file
+iStatus = Status()
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/flags.py b/lib/python/Plugins/SystemPlugins/WirelessLan/flags.py
deleted file mode 100755 (executable)
index 4435f84..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-# python-wifi -- a wireless library to access wireless cards via python
-# Copyright (C) 2004, 2005, 2006 Róman Joost
-#
-#    This library is free software; you can redistribute it and/or
-#    modify it under the terms of the GNU Lesser General Public License
-#    as published by the Free Software Foundation; either version 2.1 of
-#    the License, or (at your option) any later version.
-#
-#    This library is distributed in the hope that it will be useful, but
-#    WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-#    Lesser General Public License for more details.
-#
-#    You should have received a copy of the GNU Lesser General Public
-#    License along with this library; if not, write to the Free Software
-#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-#    USA 
-
-modes = ['Auto', 
-         'Ad-Hoc',
-         'Managed',
-         'Master', 
-         'Repeat',
-         'Second',
-         'Monitor']
-
-IFNAMSIZE = 16
-IW_ESSID_MAX_SIZE = 16
-
-KILO = 10**3
-MEGA = 10**6
-GIGA = 10**9
-
-# ioctl calls for the Linux/i386 kernel
-SIOCIWFIRST   = 0x8B00    # FIRST ioctl identifier
-SIOCGIFCONF   = 0x8912    # ifconf struct
-SIOCGIWNAME   = 0x8B01    # get name == wireless protocol
-SIOCGIWFREQ   = 0x8B05    # get channel/frequency
-SIOCSIWMODE   = 0x8B06    # set the operation mode
-SIOCGIWMODE   = 0x8B07    # get operation mode
-SIOCGIWSENS   = 0x8B09    # get sensitivity
-SIOCGIWAP     = 0x8B15    # get AP MAC address
-SIOCSIWSCAN   = 0x8B18    # set scanning off
-SIOCGIWSCAN   = 0x8B19    # get scanning results
-SIOCGIWRATE   = 0x8B21    # get default bit rate
-SIOCGIWRTS    = 0x8B23    # get rts/cts threshold
-SIOCGIWFRAG   = 0x8B25    # get fragmention thrh
-SIOCGIWTXPOW  = 0x8B27    # get transmit power (dBm)
-SIOCGIWRETRY  = 0x8B29    # get retry limit
-SIOCGIWRANGE  = 0x8B0B    # range
-SIOCGIWSTATS  = 0x8B0F    # get wireless statistics
-SIOCSIWESSID  = 0x8B1A    # set essid
-SIOCGIWESSID  = 0x8B1B    # get essid
-SIOCGIWPOWER  = 0x8B2D    # get power managment settings
-SIOCGIWENCODE = 0x8B2B    # get encryption information
-SIOCIWLAST    = 0x8BFF    # LAST ioctl identifier
-
-# Power management flags
-IW_POWER_ON = 0x0000        # No details ...
-IW_POWER_TYPE = 0xF000      # Type of parameter
-IW_POWER_PERIOD = 0x1000    # Value is a period/duration of
-IW_POWER_TIMEOUT = 0x2000   # Value is a timeout
-IW_POWER_MODE = 0x0F00      # Power management mode
-IW_POWER_MIN = 0x0001       # Value is a minimum
-IW_POWER_MAX = 0x0002       # Value is a maximum
-IW_POWER_RELATIVE = 0x0004  # Value is not in seconds/ms/us
-
-# Retry limits 
-IW_RETRY_TYPE = 0xF000      # Type of parameter
-
-# encoding stuff
-IW_ENCODE_DISABLED = 0x8000     # encoding is disabled
-IW_ENCODE_NOKEY = 0x0800      # key is write only, not present
-
-# constants responsible for scanning
-IW_SCAN_MAX_DATA = 4096
-
-IW_EV_LCP_LEN = 4
-IW_EV_CHAR_LEN = IW_EV_LCP_LEN + IFNAMSIZE
-IW_EV_UINT_LEN = IW_EV_LCP_LEN + 4
-IW_EV_FREQ_LEN = IW_EV_LCP_LEN + 8
-IW_EV_ADDR_LEN = IW_EV_LCP_LEN + 16
-IW_EV_POINT_LEN = IW_EV_LCP_LEN + 4
-IW_EV_PARAM_LEN = IW_EV_LCP_LEN + 8
-IW_EV_QUAL_LEN = IW_EV_LCP_LEN + 4
-
-EPERM = 1
-E2BIG = 7
-EAGAIN = 11
-
-IWHT_NULL = 0
-IWHT_CHAR = 2
-IWHT_UINT = 4
-IWHT_FREQ = 5
-IWHT_ADDR = 6
-IWHT_POINT = 8
-IWHT_PARAM = 9
-IWHT_QUAL = 10
-
-IWEVFIRST     = 0x8C00    # FIRST event identifier
-IWEVQUAL      = 0x8C01    # Quality statistics from scan
-IWEVCUSTOM    = 0x8C02    # Custom Ascii string from Driver
-IWEVLAST      = 0x8C0A    # LAST event identifier
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/iwlibs.py b/lib/python/Plugins/SystemPlugins/WirelessLan/iwlibs.py
deleted file mode 100755 (executable)
index c5f9c6d..0000000
+++ /dev/null
@@ -1,1114 +0,0 @@
-# -*- coding: ISO-8859-1 -*-
-# python-wifi -- a wireless library to access wireless cards via python
-# Copyright (C) 2004, 2005, 2006 Róman Joost
-# 
-# Contributions from:
-#   Mike Auty <m.auty@softhome.net> (Iwscanresult, Iwscan)
-#
-#    This library is free software; you can redistribute it and/or
-#    modify it under the terms of the GNU Lesser General Public License
-#    as published by the Free Software Foundation; either version 2.1 of
-#    the License, or (at your option) any later version.
-#
-#    This library is distributed in the hope that it will be useful, but
-#    WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-#    Lesser General Public License for more details.
-#
-#    You should have received a copy of the GNU Lesser General Public
-#    License along with this library; if not, write to the Free Software
-#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-#    USA 
-
-from struct import pack as struct_pack, \
-       unpack as struct_unpack, \
-       calcsize as struct_calcsize
-
-from array import array
-from math import ceil, log10
-from fcntl import ioctl
-from socket import AF_INET, SOCK_DGRAM, socket
-from time import sleep
-from re import compile
-
-from flags import *    
-
-def getNICnames():
-    """ extract wireless device names of /proc/net/wireless 
-        
-        returns empty list if no devices are present
-
-        >>> getNICnames()
-        ['eth1', 'wifi0']
-    """
-    device = compile('[a-z]+[0-9]+')
-    ifnames = []
-    
-    f = open('/proc/net/wireless', 'r')
-    data = f.readlines()
-    for line in data:
-        try:
-            ifnames.append(device.search(line).group())
-        except AttributeError:
-            pass 
-    # if we couldn't lookup the devices, try to ask the kernel
-    if ifnames == []:
-        ifnames = getConfiguredNICnames()
-    
-    return ifnames
-
-def getConfiguredNICnames():
-    """get the *configured* ifnames by a systemcall
-       
-       >>> getConfiguredNICnames()
-       []
-    """
-    iwstruct = Iwstruct()
-    ifnames = []
-    buff = array('c', '\0'*1024)
-    caddr_t, length = buff.buffer_info()
-    s = iwstruct.pack('iP', length, caddr_t)
-    try:
-        result = iwstruct._fcntl(SIOCGIFCONF, s)
-    except IOError, (i, e):
-        return i, e
-   
-    # get the interface names out of the buffer
-    for i in range(0, 1024, 32):
-        ifname = buff.tostring()[i:i+32]
-        ifname = struct_unpack('32s', ifname)[0]
-        ifname = ifname.split('\0', 1)[0]
-        if ifname:
-            # verify if ifnames are really wifi devices
-            wifi = Wireless(ifname)
-            result = wifi.getAPaddr()
-            if result[0] == 0:
-                ifnames.append(ifname)
-
-    return ifnames  
-
-def makedict(**kwargs):
-    return kwargs
-
-
-class Wireless(object):
-    """Access to wireless interfaces"""
-    
-    def __init__(self, ifname):
-        self.sockfd = socket(AF_INET, SOCK_DGRAM)
-        self.ifname = ifname
-        self.iwstruct = Iwstruct()
-    
-    def getAPaddr(self):
-        """ returns accesspoint mac address 
-        
-            >>> from iwlibs import Wireless, getNICnames
-            >>> ifnames = getNICnames()
-            >>> ifnames
-            ['eth1', 'wifi0']
-            >>> wifi = Wireless(ifnames[0])
-            >>> wifi.getAPaddr()
-            '00:0D:88:8E:4E:93'
-
-            Test with non-wifi card:
-            >>> wifi = Wireless('eth0')
-            >>> wifi.getAPaddr()
-            (95, 'Operation not supported')
-
-            Test with non-existant card:
-            >>> wifi = Wireless('eth2')
-            >>> wifi.getAPaddr()
-            (19, 'No such device')
-        """
-        buff, s = self.iwstruct.pack_wrq(32)
-        i, result = self.iwstruct.iw_get_ext(self.ifname, 
-                                             SIOCGIWAP,
-                                             data=s)
-        if i > 0:
-            return result
-
-        return self.iwstruct.getMAC(result)
-   
-    def getBitrate(self):
-        """returns device currently set bit rate 
-        
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getBitrate()
-            '11 Mb/s'
-        """
-        i, result = self.iwstruct.iw_get_ext(self.ifname, 
-                                            SIOCGIWRATE)
-        if i > 0:
-            return result
-        iwfreq = Iwfreq(result)
-        return iwfreq.getBitrate()
-    
-    def getBitrates(self):
-        """returns the number of available bitrates for the device
-           
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> num, rates = wifi.getBitrates()
-            >>> num == len(rates)
-            True
-        """
-        range = Iwrange(self.ifname)
-        if range.errorflag:
-            return (range.errorflag, range.error)
-        return (range.num_bitrates, range.bitrates)
-
-    def getChannelInfo(self):
-        """returns the number of channels and available frequency for
-           the device
-
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> num, rates = wifi.getChannelInfo()
-            >>> num == len(rates)
-            True
-            """
-        range = Iwrange(self.ifname)
-        if range.errorflag:
-            return (range.errorflag, range.error)
-        return (range.num_channels, range.frequencies)
-
-    def getEssid(self):
-        """get essid information
-            
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getEssid()
-            'romanofski'
-        """
-        essid = ""
-        buff, s = self.iwstruct.pack_wrq(32)
-        i, result = self.iwstruct.iw_get_ext(self.ifname, 
-                                             SIOCGIWESSID, 
-                                             data=s)
-        if i > 0:
-            return result
-        str = buff.tostring()
-        return str.strip('\x00')
-
-    def setEssid(self, essid):
-        """set essid """
-        raise NotImplementedError
-        if len(essid) > IW_ESSID_MAX_SIZE:
-            return "essid to big"
-        buff, s = self.iwstruct.pack_test(essid, 32)
-        i, result = self.iwstruct.iw_get_ext(self.ifname, 
-                                             SIOCSIWESSID, 
-                                             data=s)
-        if i > 0:
-            return result
-
-    def getEncryption(self):
-        """get encryption information which is probably a string of '*',
-        'open', 'private'
-            
-            as a normal user, you will get a 'Operation not permitted'
-            error:
-        
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getEncryption()
-            (1, 'Operation not permitted')
-        """
-        iwpoint = Iwpoint(self.ifname)
-        if iwpoint.errorflag:
-            return (iwpoint.errorflag, iwpoint.error)
-        return iwpoint.getEncryptionKey()
-
-    def getFragmentation(self):
-        """returns fragmentation threshold 
-           
-           It depends on what the driver says. If you have fragmentation
-           threshold turned on, you'll get an int. If it's turned of
-           you'll get a string: 'off'.
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getFragmentation()
-            'off'
-        """
-        iwparam = Iwparam(self.ifname, SIOCGIWFRAG)
-        if iwparam.errorflag:
-            return (iwparam.errorflag, iwparam.error)
-        return iwparam.getValue()
-        
-    def getFrequency(self):
-        """returns currently set frequency of the card 
-            
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getFrequency()
-            '2.417GHz' 
-        """
-        i, r = self.iwstruct.iw_get_ext(self.ifname, 
-                                        SIOCGIWFREQ)
-        if i > 0:
-            return (i, r)
-        iwfreq = Iwfreq(r)
-        return iwfreq.getFrequency()
-    
-        
-    def getMode(self):
-        """returns currently set operation mode 
-            
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getMode()
-            'Managed' 
-        """
-        i, result = self.iwstruct.iw_get_ext(self.ifname, 
-                                             SIOCGIWMODE)
-        if i > 0:
-            return result
-        mode = self.iwstruct.unpack('i', result[:4])[0]
-        return modes[mode]
-
-    def setMode(self, mode):
-        """sets the operation mode """
-        try:
-            this_modes = [x.lower() for x in modes]
-            mode = mode.lower()
-            wifimode = this_modes.index(mode)
-        except ValueError:
-            return "Invalid operation mode!"
-        
-        s = self.iwstruct.pack('I', wifimode)
-        i, result = self.iwstruct.iw_get_ext(self.ifname, 
-                                             SIOCSIWMODE, 
-                                             data=s)
-        if i > 0:
-            return result
-    
-    def getWirelessName(self):
-        """ returns wireless name 
-            
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getWirelessName()
-            'IEEE 802.11-DS'
-        """
-        i, result = self.iwstruct.iw_get_ext(self.ifname, 
-                                             SIOCGIWNAME)
-        if i > 0:
-            return result
-        return result.split('\0')[0]
-    
-    def getPowermanagement(self):
-        """returns power management settings 
-            
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getPowermanagement()
-            'off'
-        """
-        iwparam = Iwparam(self.ifname, SIOCGIWPOWER)
-        if iwparam.errorflag:
-            return (iwparam.errorflag, iwparam.error)
-        return iwparam.getValue()
-
-    
-    def getRetrylimit(self):
-        """returns limit retry/lifetime
-
-            man iwconfig:
-            Most cards have MAC retransmissions, and some  allow  to set
-            the behaviour of the retry mechanism.
-                     
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getRetrylimit()
-            16
-        """
-        iwparam = Iwparam(self.ifname, SIOCGIWRETRY)
-        if iwparam.errorflag:
-            return (iwparam.errorflag, iwparam.error)
-        return iwparam.getValue()
-    
-    def getRTS(self):
-        """returns rts threshold 
-            
-            returns int, 'auto', 'fixed', 'off'
-        
-            man iwconfig:
-            RTS/CTS adds a handshake before each packet transmission to
-            make sure that the channel is clear. This adds overhead, but
-            increases performance in case of hidden  nodes or  a large
-            number of active nodes. This parameter sets the size of the
-            smallest packet for which the node sends RTS;  a value equal
-            to the maximum packet size disable the mechanism. 
-            
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getRTS()
-            'off'
-        """
-        iwparam = Iwparam(self.ifname, SIOCGIWRTS)
-        if iwparam.errorflag:
-            return (iwparam.errorflag, iwparam.error)
-        return iwparam.getValue()
-    
-    def getSensitivity(self):
-        """returns sensitivity information 
-        
-            man iwconfig:
-            This is the lowest signal level for which the hardware
-            attempt  packet  reception, signals  weaker  than  this are
-            ignored. This is used to avoid receiving background noise,
-            so you should  set  it according  to  the  average noise
-            level. Positive values are assumed to be the raw value used
-            by the hardware  or a percentage, negative values are
-            assumed to be dBm.
-        
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getSensitivity()
-            'off'
-            
-        """
-        iwparam = Iwparam(self.ifname, SIOCGIWSENS)
-        if iwparam.errorflag:
-            return (iwparam.errorflag, iwparam.error)
-        return iwparam.getValue()
-        
-    def getTXPower(self):
-        """returns transmit power in dBm 
-        
-            >>> from iwlibs import Wireless
-            >>> wifi = Wireless('eth1')
-            >>> wifi.getTXPower()
-            '17 dBm'
-        """
-        i, r = self.iwstruct.iw_get_ext(self.ifname, 
-                                        SIOCGIWTXPOW)
-        if i > 0:
-            return (i, r)
-        iwfreq = Iwfreq(r)
-        return iwfreq.getTransmitPower()
-         
-    def getStatistics(self):
-        """returns statistics information which can also be found in
-           /proc/net/wireless 
-        """
-        iwstats = Iwstats(self.ifname)
-        if iwstats.errorflag > 0:
-            return (iwstats.errorflag, iwstats.error)
-        return [iwstats.status, iwstats.qual, iwstats.discard,
-            iwstats.missed_beacon]
-
-    def scan(self):
-        """returns Iwscanresult objects, after a successful scan"""
-        iwscan = Iwscan(self.ifname)
-        return iwscan.scan()
-
-
-class Iwstruct(object):
-    """basic class to handle iwstruct data """
-    
-    def __init__(self):
-        self.idx = 0
-        self.sockfd = socket(AF_INET, SOCK_DGRAM)
-
-    def parse_data(self, fmt, data):
-        """ unpacks raw C data """
-        size = struct_calcsize(fmt)
-        idx = self.idx
-
-        str = data[idx:idx + size]
-        self.idx = idx+size
-        value = struct_unpack(fmt, str)
-
-        # take care of a tuple like (int, )
-        if len(value) == 1:
-            return value[0]
-        else:
-            return value
-    
-    def pack(self, fmt, *args):
-        """ calls struct_pack and returns the result """
-        return struct_pack(fmt, *args)
-
-    def pack_wrq(self, buffsize):
-        """ packs wireless request data for sending it to the kernel """
-        # Prepare a buffer
-        # We need the address of our buffer and the size for it. The
-        # ioctl itself looks for the pointer to the address in our
-        # memory and the size of it.
-        # Dont change the order how the structure is packed!!!
-        buff = array('c', '\0'*buffsize)
-        caddr_t, length = buff.buffer_info()
-        s = struct_pack('Pi', caddr_t, length)
-        return buff, s
-    
-    def pack_test(self, string, buffsize):
-        """ packs wireless request data for sending it to the kernel """
-        buffsize = buffsize - len(string)
-        buff = array('c', string+'\0'*buffsize)
-        caddr_t, length = buff.buffer_info()
-        s = struct_pack('Pii', caddr_t, length, 1)
-        return buff, s
-
-    def unpack(self, fmt, packed_data):
-        """ unpacks data with given format """
-        return struct_unpack(fmt, packed_data)
-
-    def _fcntl(self, request, args):
-        return ioctl(self.sockfd.fileno(), request, args)
-    
-    def iw_get_ext(self, ifname, request, data=None):
-        """ read information from ifname """
-        # put some additional data behind the interface name
-        if data is not None:
-            buff = IFNAMSIZE-len(ifname)
-            ifreq = ifname + '\0'*buff
-            ifreq = ifreq + data
-        else:
-            ifreq = (ifname + '\0'*32)
-            
-        try:
-            result = self._fcntl(request, ifreq)
-        except IOError, (i, e):
-            return i, e
-        
-        return (0, result[16:])
-
-    def getMAC(self, packed_data):
-        """ extracts mac addr from packed data and returns it as str """
-        mac_addr = struct_unpack('xxBBBBBB', packed_data[:8])
-        return "%02X:%02X:%02X:%02X:%02X:%02X" % mac_addr
-
-class Iwparam(object):
-    """class to hold iwparam data """
-    
-    def __init__(self, ifname, ioctl):
-        # (i) value, (b) fixed, (b) disabled, (b) flags
-        self.fmt = "ibbH"
-        self.value = 0
-        self.fixed = 0
-        self.disabled = 0
-        self.flags = 0
-        self.errorflag = 0
-        self.error = ""
-        self.ioctl = ioctl 
-        self.ifname = ifname
-        self.update()
-    
-    def getValue(self):
-        """returns the value if not disabled """
-
-        if self.disabled:
-            return 'off'
-        if self.flags & IW_RETRY_TYPE == 0:
-            return self.getRLAttributes()
-        else:
-            return self.getPMAttributes()
-
-    def getRLAttributes(self):
-        """returns a string with attributes determined by self.flags
-        """
-        return self.value
-
-    def getPMAttributes(self):
-        """returns a string with attributes determined by self.flags
-           and IW_POWER*
-        """
-        result = ""
-        
-        # Modifiers
-        if self.flags & IW_POWER_MIN == 0:
-            result = " min"
-        if self.flags & IW_POWER_MAX == 0:
-            result = " max"
-            
-        # Type
-        if self.flags & IW_POWER_TIMEOUT == 0:
-            result = " period:" 
-        else:
-            result = " timeout:"
-        # Value with or without units
-        # IW_POWER_RELATIVE - value is *not* in s/ms/us
-        if self.flags & IW_POWER_RELATIVE:
-            result += "%f" %(float(self.value)/MEGA)
-        else:
-            if self.value >= MEGA:
-                result += "%fs" %(float(self.value)/MEGA)
-            elif self.value >= KILO:
-                result += "%fms" %(float(self.value)/KILO)
-            else:
-                result += "%dus" % self.value
-
-        return result
-        
-    def update(self):
-        iwstruct = Iwstruct()
-        i, r = iwstruct.iw_get_ext(self.ifname, 
-                                   self.ioctl)
-        if i > 0:
-            self.errorflag = i
-            self.error = r
-        self._parse(r)
-    
-    def _parse(self, data):
-        """ unpacks iwparam data """
-        iwstruct = Iwstruct()
-        self.value, self.fixed, self.disabled, self.flags =\
-            iwstruct.parse_data(self.fmt, data)
-        
-class Iwfreq(object):
-    """ class to hold iwfreq data
-        delegates to Iwstruct class
-    """
-    
-    def __init__(self, data=None):
-        self.fmt = "ihbb"
-        if data is not None:
-            self.frequency = self.parse(data)
-        else:
-            self.frequency = 0
-        self.iwstruct = Iwstruct()
-        
-    def __getattr__(self, attr):
-        return getattr(self.iwstruct, attr)
-
-    def parse(self, data):
-        """ unpacks iwparam"""
-        
-        size = struct_calcsize(self.fmt)
-        m, e, i, pad = struct_unpack(self.fmt, data[:size])
-        # XXX well, its not *the* frequency - we need a better name
-        if e == 0:
-            return m
-        else:
-            return float(m)*10**e
-    
-    def getFrequency(self):
-        """returns Frequency (str) 
-            
-           data - binary data returned by systemcall (iw_get_ext())
-        """
-        freq = self.frequency
-        
-        if freq >= GIGA:
-            return "%0.3fGHz" %(freq/GIGA)
-
-        if freq >= MEGA:
-            return "%0.3fMHZ" %(freq/MEGA)
-
-        if freq >= KILO:
-            return "%0.3fKHz" %(freq/KILO)
-    
-    def getBitrate(self):
-        """ returns Bitrate in Mbit 
-        
-           data - binary data returned by systemcall (iw_get_ext())
-        """
-        bitrate = self.frequency
-
-        if bitrate >= GIGA:
-            return "%i Gb/s" %(bitrate/GIGA)
-
-        if bitrate >= MEGA:
-            return "%i Mb/s" %(bitrate/MEGA)
-        
-        if bitrate >= KILO:
-            return "%i Kb/s" %(bitrate/KILO)
-
-    def getTransmitPower(self):
-        """ returns transmit power in dbm """
-        # XXX something flaky is going on with m and e
-        # eg. m = 50 and e should than be 0, because the number is stored in
-        # m and don't needs to be recalculated
-        return "%i dBm" %self.mw2dbm(self.frequency/10)
-    
-    def getChannel(self, freq):
-        """returns channel information given by frequency
-           
-           returns None if frequency can't be converted
-           freq = frequency to convert (int)
-           iwrange = Iwrange object
-        """
-        
-        try:
-            freq = float(freq)
-        except:
-            return None
-        
-        lut = {}
-        #13 Channels beginning at 2.412GHz and inreasing by 0,005 GHz steps
-        for i in range(0,12):
-            cur = float( 2.412 + ( i * 0.005 ) )
-            lut[str(cur)] = i+1
-        # Channel 14 need special actions ;)
-        lut['2.484'] = 14
-        
-        
-        if str(freq) in lut.keys():
-                return lut[str(freq)]
-        
-        return None
-    
-          
-    def mw2dbm(self, mwatt):
-        """ converts mw to dbm(float) """
-        return ceil(10.0 * log10(mwatt))
-        
-    def _setFrequency(self, list):
-        """sets self.frequency by given list 
-           
-           currently only used by Iwrange
-        """
-        assert len(list) == 4
-        m, e, i, pad = list
-        if e == 0:
-            self.frequency = m
-        else:
-            self.frequency = m #float(m)*10**e
-
-class Iwstats(object):
-    """ class to hold iwstat data """
-
-    def __init__(self, ifname):
-        # (2B) status, 4B iw_quality, 6i iw_discarded
-        self.fmt = "2B4B6i"
-        self.status = 0
-        self.qual = Iwquality()
-        self.discard = {}
-        self.missed_beacon = 0
-        self.ifname = ifname
-        self.errorflag = 0
-        self.error = ""
-        self.update()
-
-    def update(self):
-        iwstruct = Iwstruct()
-        buff, s = iwstruct.pack_wrq(32)
-        i, result = iwstruct.iw_get_ext(self.ifname, 
-                                        SIOCGIWSTATS, 
-                                        data=s)
-        if i > 0:
-            self.error = result
-            self.errorflag = i
-        self._parse(buff.tostring())
-    
-    def _parse(self, data):
-        """ unpacks iwstruct data """
-        struct = Iwstruct()
-        iwqual = Iwquality()
-        iwstats_data = struct.parse_data(self.fmt, data)
-        
-        self.status = iwstats_data[0:2]
-        self.qual.quality, self.qual.sl, self.qual.nl,\
-            self.qual.flags = iwstats_data[2:6]
-        nwid, code, frag, retries, flags = iwstats_data[6:11]
-        self.missed_beacon = iwstats_data[11:12][0]
-        self.discard = makedict(nwid=nwid, code=code,
-            fragment=frag, retries=retries, misc=flags)
-
-class Iwquality(object):
-    """ class to hold iwquality data """
-
-    def __init__(self):
-        self.quality = 0
-        self.sl = 0
-        self.nl = 0
-        self.updated = 0
-        self.fmt = "4B"
-
-    def parse(self, data):
-        """ unpacks iwquality data """
-        struct = Iwstruct()
-        qual, sl, nl, flags = struct.parse_data(self.fmt, data)
-
-        # compute signal and noise level
-        self.signal_level = sl
-        self.noise_level = nl
-
-        # asign the other values
-        self.quality = qual
-        self.updated = flags
-
-    def setValues(self, list):
-        """ assigns values given by a list to our attributes """
-        attributes = ["quality", "signallevel", "noise_level",
-            "updated"]
-        assert len(list) == 4
-        
-        for i in range(len(list)):
-            setattr(self, attributes[i], list[i])
-    
-    def getSignallevel(self):
-        """ returns signal level """
-        return self.sl-0x100
-
-    def setSignallevel(self, sl):
-        """ sets signal level """
-        self.sl = sl
-    signallevel = property(getSignallevel, setSignallevel)
-    
-    def getNoiselevel(self):
-        """ returns noise level """
-        return self.nl - 0x100
-
-    def setNoiselevel(self):
-        raise NotImplementedError
-        self.nl = nl
-    noiselevel = property(getNoiselevel, setNoiselevel)
-
-class Iwpoint(object):
-    """ class to hold iwpoint data """
-
-    def __init__(self, ifname):
-        self.key = [0,0,0,0]
-        self.fields = 0
-        self.flags = 0
-        # (4B) pointer to data, H length, H flags
-        self.fmt = "4BHH"
-        self.errorflag = 0
-        self.error = ""
-        self.ifname = ifname
-        self.update()
-
-    def __getattr__(self, attr):
-        return getattr(self.iwstruct, attr)
-    
-    def update(self):
-        iwstruct = Iwstruct()
-        buff, s = iwstruct.pack_wrq(32)
-        i, result = iwstruct.iw_get_ext(self.ifname, 
-                                        SIOCGIWENCODE, 
-                                        data=s)
-        if i > 0:
-            self.errorflag = i
-            self.error = result
-        self._parse(result)
-        
-    def getEncryptionKey(self):
-        """ returns encryption key as '**' or 'off' as str """
-        if self.flags & IW_ENCODE_DISABLED != 0:
-            return 'off'
-        elif self.flags & IW_ENCODE_NOKEY != 0:
-            # a key is set, so print it
-            return '**' * self.fields
-    
-    def _parse(self, data):
-        """ unpacks iwpoint data
-        """
-        iwstruct = Iwstruct()
-        ptr, ptr, ptr, ptr, self.fields, self.flags =\
-            iwstruct.parse_data(self.fmt, data)
-        self.key = [ptr, ptr, ptr, ptr]
-
-class Iwrange(object):
-    """holds iwrange struct """
-    IW_MAX_FREQUENCIES = 32
-
-    def __init__(self, ifname):
-        self.fmt = "iiihb6ii4B4Bi32i2i2i2i2i3h8h2b2bhi8i2b3h2i2ihB17x"\
-            + self.IW_MAX_FREQUENCIES*"ihbb"
-        
-        self.ifname = ifname
-        self.errorflag = 0
-        self.error = ""
-        
-        # informative stuff
-        self.throughput = 0
-        
-        # nwid (or domain id)
-        self.min_nwid = self.max_nwid = 0
-        
-        # frequency for backward compatibility
-        self.old_num_channels = self.old_num_frequency = self.old_freq = 0
-        
-        # signal level threshold
-        self.sensitivity = 0
-        
-        # link quality
-        self.max_qual = Iwquality()
-        self.avg_qual = Iwquality()
-
-        # rates
-        self.num_bitrates = 0
-        self.bitrates = []
-
-        # rts threshold
-        self.min_rts = self.max_rts = 0
-
-        # fragmention threshold
-        self.min_frag = self.max_frag = 0
-
-        # power managment
-        self.min_pmp = self.max_pmp = 0
-        self.min_pmt = self.max_pmt = 0
-        self.pmp_flags = self.pmt_flags = self.pm_capa = 0
-
-        # encoder stuff
-        self.encoding_size = 0
-        self.num_encoding_sizes = self.max_encoding_tokens = 0
-        self.encoding_login_index = 0
-
-        # transmit power
-        self.txpower_capa = self.num_txpower = self.txpower = 0
-
-        # wireless extension version info
-        self.we_vers_compiled = self.we_vers_src = 0
-
-        # retry limits and lifetime
-        self.retry_capa = self.retry_flags = self.r_time_flags = 0
-        self.min_retry = self.max_retry = 0
-        self.min_r_time = self.max_r_time = 0
-
-        # frequency
-        self.num_channels = self.num_frequency = 0
-        self.frequencies = []
-        self.update()
-    
-    def update(self):
-        """updates Iwrange object by a system call to the kernel 
-           and updates internal attributes
-        """
-        iwstruct = Iwstruct()
-        buff, s = iwstruct.pack_wrq(640)
-        i, result = iwstruct.iw_get_ext(self.ifname, 
-                                        SIOCGIWRANGE, 
-                                        data=s)
-        if i > 0:
-            self.errorflag = i
-            self.error = result
-        data = buff.tostring()
-        self._parse(data)
-        
-    def _parse(self, data):
-        struct = Iwstruct()
-        result = struct.parse_data(self.fmt, data)
-        
-        # XXX there is maybe a much more elegant way to do this
-        self.throughput, self.min_nwid, self.max_nwid = result[0:3]
-        self.old_num_channels, self.old_num_frequency = result[3:5]
-        self.old_freq = result[5:11]
-        self.sensitivity = result[11]
-        self.max_qual.setValues(result[12:16])
-        self.avg_qual.setValues(result[16:20])
-        self.num_bitrates = result[20] # <- XXX
-        raw_bitrates = result[21:53]
-        for rate in raw_bitrates:
-            iwfreq = Iwfreq()
-            iwfreq.frequency = rate
-            br = iwfreq.getBitrate()
-            if br is not None:
-                self.bitrates.append(br)
-            
-        self.min_rts, self.max_rts = result[53:55]
-        self.min_frag, self.max_frag = result[55:57]
-        self.min_pmp, self.max_pmp = result[57:59]
-        self.min_pmt, self.max_pmt = result[59:61]
-        self.pmp_flags, self.pmt_flags, self.pm_capa = result[61:64]
-        self.encoding_size = result[64:72]
-        self.num_encoding_sizes, self.max_encoding_tokens = result[72:74]
-        self.encoding_login_index = result[74:76]
-        self.txpower_capa, self.num_txpower = result[76:78]
-        self.txpower = result[78:86]
-        self.we_vers_compiled, self.we_vers_src = result[86:88]
-        self.retry_capa, self.retry_flags, self.r_time_flags = result[88:91]
-        self.min_retry, self.max_retry = result[91:93]
-        self.min_r_time, self.max_r_time = result[93:95]
-        self.num_channels = result[95]
-        self.num_frequency = result[96]
-        freq = result[97:]
-        
-        i = self.num_frequency
-        for x in range(0, len(freq), 4):
-            iwfreq = Iwfreq()
-            iwfreq._setFrequency(freq[x:x+4])
-            fq = iwfreq.getFrequency()
-            if fq is not None:
-                self.frequencies.append(fq)
-            i -= 1
-            if i <= 0:
-                break
-        
-class Iwscan(object):
-    """class to handle AP scanning"""
-    
-    def __init__(self, ifname):
-        self.ifname = ifname
-        self.range = Iwrange(ifname)
-        self.errorflag = 0
-        self.error = ""
-        self.stream = None
-        self.aplist = None
-                
-    def scan(self, fullscan=True):
-        """Completes a scan for available access points,
-           and returns them in Iwscanresult format
-           
-           fullscan: If False, data is read from a cache of the last scan
-                     If True, a scan is conducted, and then the data is read
-        """
-        # By default everything is fine, do not wait
-        result = 1
-        if fullscan:
-            self.setScan()
-            if self.errorflag > EPERM:
-                raise RuntimeError, 'setScan failure ' + str(self.errorflag) + " " + str(self.error)
-                return None
-            elif self.errorflag < EPERM:
-                # Permission was NOT denied, therefore we must WAIT to get results
-                result = 250
-        
-        while (result > 0):
-            sleep(result/1000)
-            result = self.getScan()
-        
-        if result < 0 or self.errorflag != 0:
-            raise RuntimeError, 'getScan failure ' + str(self.errorflag) + " " + str(self.error)
-        
-        return self.aplist
-        
-        
-    def setScan(self):
-        """Triggers the scan, if we have permission
-        """
-        iwstruct = Iwstruct()
-        s = iwstruct.pack('Pii', 0, 0, 0)
-        i, result = iwstruct.iw_get_ext(self.ifname, 
-                                        SIOCSIWSCAN,s)
-        if i > 0:
-            self.errorflag = i
-            self.error = result
-        return result
-        
-    def getScan(self):
-        """Retreives results, stored from the most recent scan
-           Returns 0 if successful, a delay if the data isn't ready yet
-           or -1 if something really nasty happened
-        """
-        iwstruct = Iwstruct()
-        i = E2BIG
-        bufflen = IW_SCAN_MAX_DATA
-        
-        # Keep resizing the buffer until it's large enough to hold the scan
-        while (i == E2BIG):
-            buff, s = iwstruct.pack_wrq(bufflen)
-            i, result = iwstruct.iw_get_ext(self.ifname, 
-                                            SIOCGIWSCAN,
-                                            data=s)
-            if i == E2BIG:
-                pbuff, newlen = iwstruct.unpack('Pi', s)
-                if bufflen < newlen:
-                    bufflen = newlen
-                else:
-                    bufflen = bufflen * 2
-        
-        if i == EAGAIN:
-            return 100
-        if i > 0:
-            self.errorflag = i
-            self.error = result
-            return -1
-        
-        pbuff, reslen = iwstruct.unpack('Pi', s)
-        if reslen > 0:
-            # Initialize the stream, and turn it into an enumerator
-            self.aplist = self._parse(buff.tostring())
-            return 0
-        
-    def _parse(self, data):
-        """Parse the event stream, and return a list of Iwscanresult objects
-        """
-        iwstruct = Iwstruct()
-        scanresult = None
-        aplist = []
-
-        # Run through the stream, until broken
-        while 1:
-            # If we're the stream doesn't have enough space left for a header, break
-            if len(data) < IW_EV_LCP_LEN:
-                break;
-        
-            # Unpack the header
-            length, cmd = iwstruct.unpack('HH', data[:4])
-            # If the header says the following data is shorter than the header, then break
-            if length < IW_EV_LCP_LEN:
-                break;
-
-            # Put the events into their respective result data
-            if cmd == SIOCGIWAP:
-                if scanresult is not None:
-                    aplist.append(scanresult)
-                scanresult = Iwscanresult(data[IW_EV_LCP_LEN:length], self.range)
-            elif scanresult is None:
-                raise RuntimeError, 'Attempting to add an event without AP data'
-            else:
-                scanresult.addEvent(cmd, data[IW_EV_LCP_LEN:length])
-            
-            # We're finished with the preveious event
-            data = data[length:]
-        
-        # Don't forgset the final result
-        if scanresult.bssid != "00:00:00:00:00:00":
-            aplist.append(scanresult)
-        else:
-            raise RuntimeError, 'Attempting to add an AP without a bssid'
-        return aplist
-
-class Iwscanresult(object):
-    """An object to contain all the events associated with a single scanned AP
-    """
-    
-    def __init__(self, data, range):
-        """Initialize the scan result with the access point data"""
-        self.iwstruct = Iwstruct()
-        self.range = range
-        self.bssid = "%02X:%02X:%02X:%02X:%02X:%02X" % struct_unpack('BBBBBB', data[2:8])
-        self.essid = None
-        self.mode = None
-        self.rate = []
-        self.quality = Iwquality() 
-        self.frequency = None
-        self.encode = None
-        self.custom = []
-        self.protocol = None
-
-    def addEvent(self, cmd, data):
-        """Attempts to add the data from an event to a scanresult
-           Only certain data is accept, in which case the result is True
-           If the event data is invalid, None is returned
-           If the data is valid but unused, False is returned
-        """
-        if cmd <= SIOCIWLAST:
-            if cmd < SIOCIWFIRST:
-                return None
-        elif cmd >= IWEVFIRST:
-            if cmd > IWEVLAST:
-                return None
-        else:
-            return None
-            
-        if cmd == SIOCGIWESSID:
-            self.essid = data[4:]
-        elif cmd == SIOCGIWMODE:
-            self.mode = modes[self.iwstruct.unpack('i', data[:4])[0]]
-        elif cmd == SIOCGIWRATE:
-            # TODO, deal with multiple rates, or at least the highest rate
-            freqsize = struct_calcsize("ihbb")
-            while len(data) >= freqsize:
-                iwfreq = Iwfreq(data)
-                self.rate.append(iwfreq.getBitrate())
-                data = data[freqsize:]
-        elif cmd == IWEVQUAL:
-            self.quality.parse(data)
-        elif cmd == SIOCGIWFREQ:
-            self.frequency = Iwfreq(data)
-        elif cmd == SIOCGIWENCODE:
-            self.encode = data
-        elif cmd == IWEVCUSTOM:
-            self.custom.append(data[1:])
-        elif cmd == SIOCGIWNAME:
-            self.protocol = data[:len(data)-2]
-        else:
-            #print "Cmd:", cmd
-            return False
-        return True
\ No newline at end of file
index 2df5814..28ee363 100755 (executable)
@@ -1,4 +1,4 @@
-from enigma import eTimer
+from enigma import eTimer, eTPM
 from Screens.Screen import Screen
 from Components.ActionMap import ActionMap, NumberActionMap
 from Components.Pixmap import Pixmap,MultiPixmap
@@ -14,7 +14,9 @@ from Plugins.Plugin import PluginDescriptor
 from os import system, path as os_path, listdir
 from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
 from Tools.LoadPixmap import LoadPixmap
+from Tools.HardwareInfo import HardwareInfo
 from Wlan import Wlan, wpaSupplicant, iStatus
+import sha
 
 plugin_path = "/usr/lib/enigma2/python/Plugins/SystemPlugins/WirelessLan"
 
@@ -122,7 +124,7 @@ class WlanStatus(Screen):
                                if status is not None:
                                        self["BSSID"].setText(status[self.iface]["acesspoint"])
                                        self["ESSID"].setText(status[self.iface]["essid"])
-                                       self["quality"].setText(status[self.iface]["quality"]+"%")
+                                       self["quality"].setText(status[self.iface]["quality"])
                                        self["signal"].setText(status[self.iface]["signal"])
                                        self["bitrate"].setText(status[self.iface]["bitrate"])
                                        self["enc"].setText(status[self.iface]["encryption"])
@@ -373,6 +375,45 @@ class WlanScan(Screen):
                return self.WlanList
 
 
+def bin2long(s):
+       return reduce( lambda x,y:(x<<8L)+y, map(ord, s))
+
+def long2bin(l):
+       res = ""
+       for byte in range(128):
+               res += chr((l >> (1024 - (byte + 1) * 8)) & 0xff)
+       return res
+
+def rsa_pub1024(src, mod):
+       return long2bin(pow(bin2long(src), 65537, bin2long(mod)))
+       
+def decrypt_block(src, mod):
+       if len(src) != 128 and len(src) != 202:
+               return None
+       dest = rsa_pub1024(src[:128], mod)
+       hash = sha.new(dest[1:107])
+       if len(src) == 202:
+               hash.update(src[131:192])       
+       result = hash.digest()
+       if result == dest[107:127]:
+               return dest
+       return None
+
+def validate_cert(cert, key):
+       buf = decrypt_block(cert[8:], key) 
+       if buf is None:
+               return None
+       return buf[36:107] + cert[139:196]
+
+def read_random():
+       try:
+               fd = open("/dev/urandom", "r")
+               buf = fd.read(8)
+               fd.close()
+               return buf
+       except:
+               return None
+
 def WlanStatusScreenMain(session, iface):
        session.open(WlanStatus, iface)
 
@@ -387,8 +428,32 @@ def callFunction(iface):
 
 
 def configStrings(iface):
-       driver = iNetwork.detectWlanModule()
-       print "Found WLAN-Driver:",driver
+       hardware_info = HardwareInfo()
+       if  hardware_info.device_name != "dm7025":
+               rootkey = ['\x9f', '|', '\xe4', 'G', '\xc9', '\xb4', '\xf4', '#', '&', '\xce', '\xb3', '\xfe', '\xda', '\xc9', 'U', '`', '\xd8', '\x8c', 's', 'o', '\x90', '\x9b', '\\', 'b', '\xc0', '\x89', '\xd1', '\x8c', '\x9e', 'J', 'T', '\xc5', 'X', '\xa1', '\xb8', '\x13', '5', 'E', '\x02', '\xc9', '\xb2', '\xe6', 't', '\x89', '\xde', '\xcd', '\x9d', '\x11', '\xdd', '\xc7', '\xf4', '\xe4', '\xe4', '\xbc', '\xdb', '\x9c', '\xea', '}', '\xad', '\xda', 't', 'r', '\x9b', '\xdc', '\xbc', '\x18', '3', '\xe7', '\xaf', '|', '\xae', '\x0c', '\xe3', '\xb5', '\x84', '\x8d', '\r', '\x8d', '\x9d', '2', '\xd0', '\xce', '\xd5', 'q', '\t', '\x84', 'c', '\xa8', ')', '\x99', '\xdc', '<', '"', 'x', '\xe8', '\x87', '\x8f', '\x02', ';', 'S', 'm', '\xd5', '\xf0', '\xa3', '_', '\xb7', 'T', '\t', '\xde', '\xa7', '\xf1', '\xc9', '\xae', '\x8a', '\xd7', '\xd2', '\xcf', '\xb2', '.', '\x13', '\xfb', '\xac', 'j', '\xdf', '\xb1', '\x1d', ':', '?']
+               etpm = eTPM()
+               l2cert = etpm.getCert(eTPM.TPMD_DT_LEVEL2_CERT)
+               if l2cert is None:
+                       return
+               l2key = validate_cert(l2cert, rootkey)
+               if l2key is None:
+                       return
+               l3cert = etpm.getCert(eTPM.TPMD_DT_LEVEL3_CERT)
+               if l3cert is None:
+                       print "better run the genuine dreambox plugin"
+                       return
+               l3key = validate_cert(l3cert, l2key)
+               if l3key is None:
+                       return
+               rnd = read_random()
+               if rnd is None:
+                       return
+               val = etpm.challenge(rnd)
+               result = decrypt_block(val, l3key)
+       if hardware_info.device_name == "dm7025" or result[80:88] == rnd:
+               driver = iNetwork.detectWlanModule(iface)
+       else:
+               driver = 'dreambox'
        if driver  in ('ralink', 'zydas'):
                return "        pre-up /usr/sbin/wpa_supplicant -i"+iface+" -c/etc/wpa_supplicant.conf -B -D"+driver+"\n        post-down wpa_cli terminate"
        else:
index b9be442..908a615 100755 (executable)
@@ -745,14 +745,21 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                        if self.iface in iNetwork.wlan_interfaces:
                                try:
                                        from Plugins.SystemPlugins.WirelessLan.plugin import WlanScan
-                                       from Plugins.SystemPlugins.WirelessLan.iwlibs import Wireless
+                                       from pythonwifi.iwlibs import Wireless
                                except ImportError:
                                        self.session.open(MessageBox, _("The wireless LAN plugin is not installed!\nPlease install it."), type = MessageBox.TYPE_INFO,timeout = 10 )
                                else:
                                        ifobj = Wireless(self.iface) # a Wireless NIC Object
-                                       self.wlanresponse = ifobj.getStatistics()
-                                       if self.wlanresponse[0] != 19: # Wlan Interface found.
-                                               self.session.openWithCallback(self.AdapterSetupClosed, AdapterSetup,self.iface)
+                                       try:
+                                               self.wlanresponse = ifobj.getAPaddr()
+                                       except IOError:
+                                               self.wlanresponse = ifobj.getStatistics()
+                                       if self.wlanresponse:
+                                               if self.wlanresponse[0] not in (19,95): # 19 = 'No such device', 95 = 'Operation not supported'
+                                                       self.session.openWithCallback(self.AdapterSetupClosed, AdapterSetup,self.iface)
+                                               else:
+                                                       # Display Wlan not available Message
+                                                       self.showErrorMessage()
                                        else:
                                                # Display Wlan not available Message
                                                self.showErrorMessage()
@@ -765,28 +772,42 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                if self["menulist"].getCurrent()[1] == 'scanwlan':
                        try:
                                from Plugins.SystemPlugins.WirelessLan.plugin import WlanScan
-                               from Plugins.SystemPlugins.WirelessLan.iwlibs import Wireless
+                               from pythonwifi.iwlibs import Wireless
                        except ImportError:
                                self.session.open(MessageBox, _("The wireless LAN plugin is not installed!\nPlease install it."), type = MessageBox.TYPE_INFO,timeout = 10 )
                        else:
                                ifobj = Wireless(self.iface) # a Wireless NIC Object
-                               self.wlanresponse = ifobj.getStatistics()
-                               if self.wlanresponse[0] != 19:
-                                       self.session.openWithCallback(self.WlanScanClosed, WlanScan, self.iface)
+                               try:
+                                       self.wlanresponse = ifobj.getAPaddr()
+                               except IOError:
+                                       self.wlanresponse = ifobj.getStatistics()
+                               if self.wlanresponse:
+                                       if self.wlanresponse[0] not in (19,95): # 19 = 'No such device', 95 = 'Operation not supported'
+                                               self.session.openWithCallback(self.WlanScanClosed, WlanScan, self.iface)
+                                       else:
+                                               # Display Wlan not available Message
+                                               self.showErrorMessage()
                                else:
                                        # Display Wlan not available Message
                                        self.showErrorMessage()
                if self["menulist"].getCurrent()[1] == 'wlanstatus':
                        try:
                                from Plugins.SystemPlugins.WirelessLan.plugin import WlanStatus
-                               from Plugins.SystemPlugins.WirelessLan.iwlibs import Wireless
+                               from pythonwifi.iwlibs import Wireless
                        except ImportError:
                                self.session.open(MessageBox, _("The wireless LAN plugin is not installed!\nPlease install it."), type = MessageBox.TYPE_INFO,timeout = 10 )
                        else:   
                                ifobj = Wireless(self.iface) # a Wireless NIC Object
-                               self.wlanresponse = ifobj.getStatistics()
-                               if self.wlanresponse[0] != 19:
-                                       self.session.openWithCallback(self.WlanStatusClosed, WlanStatus,self.iface)
+                               try:
+                                       self.wlanresponse = ifobj.getAPaddr()
+                               except IOError:
+                                       self.wlanresponse = ifobj.getStatistics()
+                               if self.wlanresponse:
+                                       if self.wlanresponse[0] not in (19,95): # 19 = 'No such device', 95 = 'Operation not supported'
+                                               self.session.openWithCallback(self.WlanStatusClosed, WlanStatus,self.iface)
+                                       else:
+                                               # Display Wlan not available Message
+                                               self.showErrorMessage()
                                else:
                                        # Display Wlan not available Message
                                        self.showErrorMessage()
@@ -898,14 +919,21 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                        if ret[0] == 'ok' and (self.iface in iNetwork.wlan_interfaces) and iNetwork.getAdapterAttribute(self.iface, "up") is True:
                                try:
                                        from Plugins.SystemPlugins.WirelessLan.plugin import WlanStatus
-                                       from Plugins.SystemPlugins.WirelessLan.iwlibs import Wireless
+                                       from pythonwifi.iwlibs import Wireless
                                except ImportError:
                                        self.session.open(MessageBox, _("The wireless LAN plugin is not installed!\nPlease install it."), type = MessageBox.TYPE_INFO,timeout = 10 )
                                else:   
                                        ifobj = Wireless(self.iface) # a Wireless NIC Object
-                                       self.wlanresponse = ifobj.getStatistics()
-                                       if self.wlanresponse[0] != 19:
-                                               self.session.openWithCallback(self.WlanStatusClosed, WlanStatus,self.iface)
+                                       try:
+                                               self.wlanresponse = ifobj.getAPaddr()
+                                       except IOError:
+                                               self.wlanresponse = ifobj.getStatistics()
+                                       if self.wlanresponse:
+                                               if self.wlanresponse[0] not in (19,95): # 19 = 'No such device', 95 = 'Operation not supported'
+                                                       self.session.openWithCallback(self.WlanStatusClosed, WlanStatus,self.iface)
+                                               else:
+                                                       # Display Wlan not available Message
+                                                       self.showErrorMessage()
                                        else:
                                                # Display Wlan not available Message
                                                self.showErrorMessage()
@@ -916,7 +944,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
 
        def WlanStatusClosed(self, *ret):
                if ret is not None and len(ret):
-                       from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus,Status
+                       from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus
                        iStatus.stopWlanConsole()
                        self.updateStatusbar()
 
@@ -924,7 +952,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen):
                if ret[0] is not None:
                        self.session.openWithCallback(self.AdapterSetupClosed, AdapterSetup, self.iface,ret[0],ret[1])
                else:
-                       from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus,Status
+                       from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus
                        iStatus.stopWlanConsole()
                        self.updateStatusbar()
                        
@@ -1335,7 +1363,7 @@ class NetworkAdapterTest(Screen):
        def getLinkState(self,iface):
                if iface in iNetwork.wlan_interfaces:
                        try:
-                               from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus,Status
+                               from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus
                        except:
                                        self["Network"].setForegroundColorNum(1)
                                        self["Network"].setText(_("disconnected"))
@@ -1417,7 +1445,7 @@ class NetworkAdapterTest(Screen):
                iNetwork.stopLinkStateConsole()
                iNetwork.stopDNSConsole()
                try:
-                       from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus,Status
+                       from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus
                except ImportError:
                        pass
                else:
index f84bab0..147ff0a 100755 (executable)
--- a/po/ar.po
+++ b/po/ar.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
-"PO-Revision-Date: 2010-06-09 10:34+0200\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
+"PO-Revision-Date: 2010-07-23 12:13+0200\n"
 "Last-Translator: Mladen <acid-burn@opendreambox.org>\n"
 "Language-Team: Arabic <moustafagamal@hotmail.com>\n"
 "Language: ar\n"
@@ -42,7 +42,7 @@ msgid ""
 "Backup your Dreambox settings."
 msgstr ""
 "\n"
-"عمل باك أب للاعدادات"
+"عمل نسخه إحتياطيه  للاعدادات"
 
 #
 msgid ""
@@ -97,7 +97,7 @@ msgid ""
 "Restore your backups by date."
 msgstr ""
 "\n"
-"إستعاده الباك أب بالتاريخ"
+"إستعاده النسخه الاحتياطيه بالتاريخ"
 
 #
 msgid ""
@@ -113,7 +113,7 @@ msgid ""
 "Current device: "
 msgstr ""
 "\n"
-"أختار جهاز الباك أب.\n"
+"أختار جهاز النسخه الاحتياطيه.\n"
 "الجهاز الحالى: "
 
 #
@@ -207,22 +207,21 @@ msgstr "%d تم العثور على"
 msgid "%d.%B %Y"
 msgstr "%d.%B %Y"
 
-#
 #, python-format
 msgid "%i ms"
-msgstr ""
+msgstr "%i مللى ثانيه"
 
-#
 #, python-format
 msgid ""
 "%s\n"
 "(%s, %d MB free)"
 msgstr ""
+"% \n"
+"s( %s , %d ميجا خاليه )"
 
-#
 #, python-format
 msgid "%s (%s)\n"
-msgstr ""
+msgstr "%s (%s) \n"
 
 msgid "(ZAP)"
 msgstr "(تنقل)"
@@ -244,13 +243,11 @@ msgid ""
 ".NFI file passed md5sum signature check. You can safely flash this image!"
 msgstr "ملف صوره به بصمة md5sumصحيح ، تستطيع تنصيب الصوره بأمان!"
 
-#
 msgid "0"
-msgstr ""
+msgstr "0"
 
-#
 msgid "1"
-msgstr ""
+msgstr "1"
 
 #
 msgid "1 wireless network found!"
@@ -737,8 +734,8 @@ msgid ""
 "Are you sure you want to delete\n"
 "following backup:\n"
 msgstr ""
-"هل أنت متأكد أنك تريد مسح\n"
-"الباك أب الاتى:\n"
+"هل أنت متأكد أنك تريد مسحالنسخه الاحتياطيه الاتيه:\n"
+"\n"
 
 msgid "Are you sure you want to exit this wizard?"
 msgstr "هل أنت متأكد أنك تريد الخروج من هذه النافذه ؟"
@@ -755,7 +752,7 @@ msgid ""
 "following backup:\n"
 msgstr ""
 "هل أنت متاكد إنك تريد إستعادة\n"
-"الباك أب التالى:\n"
+"النسخه الاحتياطيه التاليه:\n"
 
 msgid ""
 "Are you sure you want to restore your Enigma2 backup?\n"
@@ -887,16 +884,16 @@ msgid "Background"
 msgstr "خلفيه"
 
 msgid "Backup done."
-msgstr "تم عمل باك أب"
+msgstr "تم عمل نسخه إحتياطيه "
 
 msgid "Backup failed."
-msgstr "فشل عمل باك أب"
+msgstr "فشل عمل نسخه إحتياطيه "
 
 msgid "Backup is running..."
-msgstr "جارى عمل باك أب........"
+msgstr "جارى عمل نسخه إحتياطيه ........"
 
 msgid "Backup system settings"
-msgstr "عمل باك أب لأعدادات النظام"
+msgstr "عمل نسخه إحتياطيه  لأعدادات النظام"
 
 msgid "Band"
 msgstr "نطاق"
@@ -1136,13 +1133,11 @@ msgstr "أختار الموالف"
 msgid "Choose a wireless network"
 msgstr "اختار الشبكه اللاسلكيه"
 
-#
 msgid "Choose backup files"
-msgstr "اختار ملفات الباك أب"
+msgstr "اختار ملفات النسخه الإحتياطيه "
 
-#
 msgid "Choose backup location"
-msgstr "اختار مكان الباك أب"
+msgstr "اختار مكان النسخه الإحتياطيه "
 
 #
 msgid "Choose bouquet"
@@ -1265,6 +1260,9 @@ msgstr "مكتمل"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "مركب (يسمح بمزج مسارات صوت ومظاهر)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 msgid "Configuration Mode"
 msgstr "نسق التكوين"
 
@@ -2845,11 +2843,11 @@ msgstr ""
 
 #
 msgid "Language"
-msgstr "لغه"
+msgstr "اللغـه "
 
 #
 msgid "Language selection"
-msgstr "إختيار اللغه"
+msgstr "إختÙ\8aار Ø§Ù\84Ù\84غÙ\80Ù\87"
 
 #
 msgid "Last config"
@@ -2960,6 +2958,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "ضغط مستمر على مفتاح"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "خط الطول"
@@ -3442,7 +3443,7 @@ msgstr "لم يتم العثور على شبكات"
 
 #
 msgid "No backup needed"
-msgstr "لا حاجه الى باك أب"
+msgstr "لا حاجه الى نسخه إحتياطيه "
 
 #
 msgid ""
@@ -3999,9 +4000,8 @@ msgstr "من فضلك أختار الاضافه المطلوب حذفها"
 msgid "Please select an option below."
 msgstr "من فضلك حدد إختيارا من التالى :"
 
-#
 msgid "Please select medium to use as backup location"
-msgstr "من فضلك أختار الوسيط الذى سييستخدم كمان للباك أب"
+msgstr "من فضلك أختار الوسيط الذى سييستخدم كمكان للنسخه الإحتياطيه "
 
 #
 msgid "Please select tag to filter..."
@@ -4580,7 +4580,7 @@ msgid "Restore"
 msgstr "إستعاده"
 
 msgid "Restore backups"
-msgstr "إستعادة الباك أب"
+msgstr "إستعادة النسخه الإحتياطيه "
 
 msgid "Restore is running..."
 msgstr "الاستعاده قيد التنفيذ"
@@ -4880,9 +4880,8 @@ msgstr "جارى البحث عن حزم جديده تم تثبيتها أو حذ
 msgid "Searching your network. Please wait..."
 msgstr "بحث عن الشبكه. رجاء الانتظار..."
 
-#
 msgid "Secondary DNS"
-msgstr ""
+msgstr "DNS ثانوى"
 
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 160
 msgid "Security service not running."
@@ -4936,10 +4935,10 @@ msgid "Select channel to record on"
 msgstr "أختار القناه التى تريد التسجيل عليها"
 
 msgid "Select files for backup. Currently selected:\n"
-msgstr "أختار ملفات الباك أب . المختار حاليا:\n"
+msgstr "أختار ملفات النسخه الاحتياطيه . المختار حاليا:\n"
 
 msgid "Select files/folders to backup"
-msgstr "أختار ملفات/مجلدات الباك أب"
+msgstr "أختار ملفات/مجلدات النسخه الاحتياطيه"
 
 msgid "Select image"
 msgstr "أختار صوره:"
@@ -4962,10 +4961,9 @@ msgstr "أختار معدل الأنعاش"
 msgid "Select service to add..."
 msgstr "اختار قناه ليتم إضافتها"
 
-#
 #, python-format
 msgid "Select the key you want to set to %i ms"
-msgstr ""
+msgstr "أختار المفتاح الذى تريد الضبط الى %i مللى ثانيه"
 
 #
 msgid "Select the location to save the recording to."
@@ -4997,33 +4995,27 @@ msgstr "حدد إختيارك"
 msgid "Selected source image"
 msgstr "الصوره المصدر المختاره"
 
-#
 msgid "Send DiSEqC"
-msgstr ""
+msgstr "أرسل دايزك"
 
-#
 msgid "Send DiSEqC only on satellite change"
-msgstr ""
+msgstr "ارسل دايزك عند تغيير القمر فقط"
 
-#
 msgid "Seperate titles with a main menu"
-msgstr ""
+msgstr "عناوين منفصله مع قائمة رئيسيه"
 
-#
 msgid "Sequence repeat"
-msgstr ""
+msgstr "تكرار التسلسل"
 
 #
 msgid "Serbian"
 msgstr "صريى"
 
-#
 msgid "Server IP"
-msgstr ""
+msgstr "IP الخادم"
 
-#
 msgid "Server share"
-msgstr ""
+msgstr "مشاركة الخادم"
 
 #
 msgid "Service"
@@ -5037,9 +5029,8 @@ msgstr "بخث عن القنوات"
 msgid "Service Searching"
 msgstr "بحث عن القنـوات"
 
-#
 msgid "Service delay"
-msgstr ""
+msgstr "تأخير الخدمه"
 
 #
 msgid "Service has been added to the favourites."
@@ -5091,10 +5082,9 @@ msgstr "ضبط الفولتيه و 22KHz"
 msgid "Set available internal memory threshold for the warning."
 msgstr "أضبط أقل مستوى للذاكره الداخليه للتنبيه"
 
-#
 #, python-format
 msgid "Set delay to %i ms (can be set)"
-msgstr ""
+msgstr "أضبط التاخير الى %i مللى ثانيه (يمكن ضبطها)"
 
 #
 msgid "Set interface as default Interface"
@@ -5142,12 +5132,14 @@ msgstr "الحده"
 msgid "Short Movies"
 msgstr "افلام قصيره"
 
+msgid "Short filenames"
+msgstr ""
+
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr "هل تريد أن يكون المؤقت الالى محددا بهذه المده الزمنيه؟"
 
-#
 msgid "Should this AutoTimer only match up to a certain event duration?"
-msgstr ""
+msgstr "هل هذا المؤقت الآلى سيتطابق مع مده حدث معين ؟"
 
 #
 msgid ""
@@ -5225,9 +5217,8 @@ msgstr "الاشاره"
 msgid "Similar"
 msgstr "شبيهه"
 
-#
 msgid "Similar broadcasts:"
-msgstr ""
+msgstr "إذاعات مماثله :"
 
 #
 msgid "Simple"
@@ -5268,18 +5259,15 @@ msgstr "الجلود"
 msgid "Sleep Timer"
 msgstr "مؤقت النوم"
 
-#
 msgid "Sleep timer action:"
-msgstr ""
+msgstr "عمل مؤقت النوم :"
 
-#
 msgid "Slideshow Interval (sec.)"
-msgstr ""
+msgstr "الفاصل الزمنى بين عرض الرائح(ثانيه)"
 
-#
 #, python-format
 msgid "Slot %d"
-msgstr ""
+msgstr "فتحة %d"
 
 #
 msgid "Slovakian"
@@ -5315,13 +5303,13 @@ msgid "Sorry MediaScanner is not installed!"
 msgstr ""
 
 msgid "Sorry no backups found!"
-msgstr "عفوا.. لم يتم العثور على أى باك أب !"
+msgstr "عفوا.. لم يتم العثور على أى نسخه إحتياطيه !"
 
 msgid ""
 "Sorry your backup destination is not writeable.\n"
 "Please choose an other one."
 msgstr ""
-"المكان الذى تريد وضع الباك أب فيه لا يمكن الكتابه عليه \n"
+"المكان الذى تريد وضع النسخه الاحتياطيه فيه لا يمكن الكتابه عليه \n"
 "من فضلك أختار مكان آخر."
 
 #
@@ -5336,7 +5324,7 @@ msgid ""
 "\n"
 "Please choose another one."
 msgstr ""
-"عفوا، المكان الذى تريد وضع الباك أب فيه لا يمكن الكتابه عليه \n"
+"عفوا، المكان الذى تريد وضع النسخه الاحتياطيه فيه لا يمكن الكتابه عليه \n"
 "\n"
 "من فضلك أختار مكان آخر."
 
@@ -5483,13 +5471,11 @@ msgstr "إيقاف عرض هذا الفيلم؟"
 msgid "Stop test"
 msgstr "إيقاف الاختبار"
 
-#
 msgid "Stop testing plane after # failed transponders"
-msgstr ""
+msgstr "إيقاف خطة الاختبار بعد # إرسال فاشل"
 
-#
 msgid "Stop testing plane after # successful transponders"
-msgstr ""
+msgstr "إيقاف خطة الاختبار بعد # إرسال ناجح"
 
 msgid "Store position"
 msgstr "تخزين الموقع"
@@ -5546,13 +5532,11 @@ msgstr "الانتقال الى الفرعيه السابقه"
 msgid "Switchable tuner types:"
 msgstr ""
 
-#
 msgid "Symbol Rate"
-msgstr ""
+msgstr "معدل الترميز"
 
-#
 msgid "Symbolrate"
-msgstr ""
+msgstr "معدل الترميز"
 
 #
 msgid "System"
@@ -5574,17 +5558,14 @@ msgstr "نظام التليفزبـون"
 msgid "Table of content for collection"
 msgstr ""
 
-#
 msgid "Tag 1"
-msgstr ""
+msgstr "شعار1"
 
-#
 msgid "Tag 2"
-msgstr ""
+msgstr "شعار 2"
 
-#
 msgid "Tags"
-msgstr ""
+msgstr "شعارات"
 
 #
 msgid "Tags the Timer/Recording will have."
@@ -5686,6 +5667,8 @@ msgid ""
 "timespan is specified an event will only match this AutoTimer if it lies "
 "inside of this timespan."
 msgstr ""
+"المدى الزمنى للمؤقت الزمنى هو السمه المتقدمه الاولى. إذا كان المدى الزمنى "
+"محدد ، فإن حدثا سوف يطابق هذا المؤقت الالى إذا كان يقع فى هذا المدى الزمنى"
 
 msgid ""
 "The USB stick is now bootable. Do you want to download the latest image from "
@@ -5695,12 +5678,11 @@ msgstr ""
 "الـUSB ؟"
 
 msgid "The backup failed. Please choose a different backup location."
-msgstr "فشل عمل باك أب ، من فضلك أختار مان آخر للباك أب ."
+msgstr "فشل عمل نسخه إحتياطيه  ، من فضلك أختار مان آخر للنسخه الإحتياطيه  ."
 
-#
 msgid ""
 "The counter can automatically be reset to the limit at certain intervals."
-msgstr ""
+msgstr "يمكن إعادة ضبط العداد آليا الى الحد عند فترات معينه"
 
 #
 #, python-format
@@ -5776,10 +5758,9 @@ msgstr "الرزمه لا تحتوى على أى شيئ ."
 msgid "The package:"
 msgstr "الرزمه:"
 
-#
 #, python-format
 msgid "The path %s already exists."
-msgstr ""
+msgstr "المسار %s موجود سلفا"
 
 #
 msgid "The pin code has been changed successfully."
@@ -5806,9 +5787,8 @@ msgstr "تم تنشيط مؤقت النوم"
 msgid "The sleep timer has been disabled."
 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"
@@ -5827,8 +5807,8 @@ msgstr ""
 msgid ""
 "The wizard can backup your current settings. Do you want to do a backup now?"
 msgstr ""
-"من خلال هذه النافذه يمكنك عمل باك أب للإعدادات الحاليه . هل تريد عمل باك أب "
-"الان ؟"
+"من خلال هذه النافذه يمكنك عمل نسخه إحتياطيه  للإعدادات الحاليه . هل تريد عمل "
+"نسخه إحتياطيه  الان ؟"
 
 msgid "The wizard is finished now."
 msgstr "إنتهاء نافذة الاعدادات الان ."
@@ -5843,9 +5823,8 @@ msgstr ""
 msgid "There are no default services lists in your image."
 msgstr "لا يوجد قائمة قنوات إفتراضيه فى هذه الصوره ."
 
-#
 msgid "There are no default settings in your image."
-msgstr ""
+msgstr "لا يوجد إعدادات إفتراضيه فى هذه الصوره"
 
 msgid "There are no updates available."
 msgstr "لا يوجد تحديثات متاحه ."
@@ -6768,8 +6747,8 @@ msgid ""
 "current settings and a short explanation of how to upgrade your firmware."
 msgstr ""
 "مرحبا بك فى نافذة ترقية الصوره. هذه النافذه ستساعدك فى ترقية البرنامج "
-"التشغبلى للدريم بوكس بواسطة توفير وسيلة عمل باك أب للاعدادات الحاليه وشرح "
-"مبسط لطريقة ترقية البرنامج التشغيلى ."
+"التشغبلى للدريم بوكس بواسطة توفير وسيلة عمل نسخه إحتياطيه  للاعدادات الحاليه "
+"Ù\88شرح Ù\85بسط Ù\84طرÙ\8aÙ\82Ø© ØªØ±Ù\82Ù\8aØ© Ø§Ù\84برÙ\86اÙ\85ج Ø§Ù\84تشغÙ\8aÙ\84Ù\89 ."
 
 msgid ""
 "Welcome to the MyTube Youtube Player.\n"
@@ -6895,7 +6874,7 @@ msgstr ""
 "هل تريد فعلا العوده الى ضبط المصنع ؟"
 
 msgid "Where do you want to backup your settings?"
-msgstr "هل تريد فعلا عمل باك أب للاعدادات ؟"
+msgstr "هل تريد فعلا عمل نسخه إحتياطيه  للاعدادات ؟"
 
 #
 msgid "Where to save temporary timeshift recordings?"
@@ -6962,7 +6941,7 @@ msgstr "نعم ، ولا تسأل بعد ذلك"
 
 #
 msgid "Yes, backup my settings!"
-msgstr "نعم ، أعمل باك أب للاعدادات"
+msgstr "نعم ، أعمل نسخه إحتياطيه  للاعدادات"
 
 #
 msgid "Yes, but play next video"
@@ -7052,18 +7031,20 @@ msgid ""
 "As this is a mandatory Attribute you cannot continue without doing so."
 msgstr ""
 
-#
 #, python-format
 msgid ""
 "You entered \"%s\" as Text to match.\n"
 "Do you want to remove trailing whitespaces?"
 msgstr ""
+"لقد أدخلت \"%s\" كنص للمطابقه . \n"
+"هل تريد حذف المسافات الزائده ؟"
 
-#
 msgid ""
 "You have chosen to backup your settings. Please press OK to start the backup "
 "now."
-msgstr "إذا أخترت عمل باك أب للاعدادات ، من فضلك أضغط موافق اتبدأ الباك أبالان"
+msgstr ""
+"إذا أخترت عمل نسخه إحتياطيه  للاعدادات ، من فضلك أضغط موافق اتبدأ النسخه "
+"الإحتياطيه الان"
 
 #
 msgid ""
@@ -7109,6 +7090,9 @@ msgid ""
 "\n"
 "You can go back a step by pressing EXIT on your remote."
 msgstr ""
+"تم بنجاح تكوين مؤقت آلى جديد . هل تريد إضافته الى القائمه ؟ \n"
+"\n"
+"يمكنك العوده خطوه للخلف بالضغط على ذر خروج من الريموت ."
 
 msgid ""
 "Your 'Match in title' Attribute ends with a Whitespace.\n"
@@ -7146,7 +7130,7 @@ msgstr ""
 msgid ""
 "Your backup succeeded. We will now continue to explain the further upgrade "
 "process."
-msgstr "نجاح عمل باك أب. سوف نشرح لك طريقة الترقيه الان."
+msgstr "نجاح عمل نسخه إحتياطيه . سوف نشرح لك طريقة الترقيه الان."
 
 msgid ""
 "Your collection exceeds the size of a single layer medium, you will need a "
@@ -7155,12 +7139,13 @@ msgstr ""
 "هذه المجموعه تزيد عن حجم وسيط ذو طبقه واحده. أنت تحتاج الى دى فى دى ثنائى "
 "الطبقه خالى!"
 
-#
 #, python-format
 msgid ""
 "Your config file is not well-formed:\n"
 "%s"
 msgstr ""
+"ملف التكوين غير جيد :\n"
+"%s"
 
 msgid "Your current collection will get lost!"
 msgstr "سوف تفقد المجموعه الحاليه !"
@@ -7310,16 +7295,24 @@ msgid "add marker"
 msgstr "إضافة علامه"
 
 msgid "add recording (enter recording duration)"
-msgstr "إضافة تسجيل (دخل مدة التسجيل)"
+msgstr ""
+"                                                                                 إضافة "
+"تسجيل (دخل مدة التسجيل)"
 
 msgid "add recording (enter recording endtime)"
-msgstr "إضافة تسجيل(أدخل زمن انتهاء التسجيل)"
+msgstr ""
+"                                                                            إضافة "
+"تسجيل(أدخل زمن انتهاء التسجيل)"
 
 msgid "add recording (indefinitely)"
-msgstr "أضف تسجيل (غير محدد المده)"
+msgstr ""
+"                                                                                      أضف "
+"تسجيل (غير محدد المده)"
 
 msgid "add recording (stop after current event)"
-msgstr "أضف تسجيل (وإيقاف بعد انتهاء البرنامج الحالى)"
+msgstr ""
+"                                                                   أضف تسجيل "
+"(وإيقاف بعد انتهاء البرنامج الحالى)"
 
 #
 msgid "add service to bouquet"
@@ -7404,13 +7397,11 @@ msgstr ""
 msgid "case-sensitive search"
 msgstr ""
 
-#
 msgid "change recording (duration)"
-msgstr ""
+msgstr "تغيير التسجيل (المده الزمنيه)"
 
-#
 msgid "change recording (endtime)"
-msgstr ""
+msgstr "تغيير التسجيل (وقت الانتهاء)"
 
 #
 msgid "chapters"
@@ -7428,9 +7419,8 @@ msgstr "دائرى يسار"
 msgid "circular right"
 msgstr "دائرى يمين"
 
-#
 msgid "clear playlist"
-msgstr ""
+msgstr "مسح قائمة العرض"
 
 #
 msgid "complex"
@@ -7502,10 +7492,14 @@ msgid "do not change"
 msgstr "لا تغيير"
 
 msgid "do nothing"
-msgstr "لا تفعل شيئ"
+msgstr ""
+"                                                                                                       لا "
+"تفعل شيئ"
 
 msgid "don't record"
-msgstr "لا تسجل"
+msgstr ""
+"                                                                                                            لا "
+"تسجل"
 
 msgid "done!"
 msgstr "تم !"
index 393fd54..f48ffed 100755 (executable)
--- a/po/ca.po
+++ b/po/ca.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ca\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2007-08-14 10:23+0200\n"
 "Last-Translator: Oriol Pellicer <oriol@elsud.org>\n"
 "Language-Team: \n"
@@ -1360,6 +1360,9 @@ msgstr "Complet"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr ""
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Mode configuració"
@@ -3281,6 +3284,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "Prémer tecla llarg"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Longitud"
@@ -5750,6 +5756,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 77ea5b1..ba44232 100755 (executable)
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2008-09-28 18:09+0100\n"
 "Last-Translator: ws79 <ws79@centrum.cz>\n"
 "Language-Team: \n"
@@ -1348,6 +1348,9 @@ msgstr "Kompletní"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr ""
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Konfigurační mód"
@@ -3278,6 +3281,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "Dlouhé stlačení klávesy"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Zeměpsiná délka"
@@ -5749,6 +5755,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 8b3c4f4..466290a 100755 (executable)
--- a/po/da.po
+++ b/po/da.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Enigma2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2010-04-13 21:10+0200\n"
 "Last-Translator: Ingmar <dreambox@ingmar.dk>\n"
 "Language-Team: jazzydane <dreambox@ingmar.dk>\n"
@@ -1384,6 +1384,9 @@ msgstr "Færdig"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Kompleks (tillader blanding af lydspor og billedformater)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Konfigurations Type"
@@ -3329,6 +3332,9 @@ msgstr "Log resultaterne til harddisken"
 msgid "Long Keypress"
 msgstr "Langt tastetryk"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Længdegrad"
@@ -5834,6 +5840,9 @@ msgstr "Skarphed"
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 619cc12..6f20682 100755 (executable)
--- a/po/de.po
+++ b/po/de.po
@@ -7,16 +7,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
-"PO-Revision-Date: 2010-04-13 10:19+0200\n"
-"Last-Translator: Mladen <acid-burn@opendreambox.org>\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
+"PO-Revision-Date: 2010-06-11 21:15+0200\n"
+"Last-Translator: Andreas <andreas.frisch@multimedia-labs.de>\n"
 "Language-Team: none\n"
+"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: de\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Pootle 2.0.2\n"
+"X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: German\n"
 "X-Poedit-SourceCharset: iso-8859-15\n"
 "X-Poedit-Country: GERMANY\n"
@@ -1415,6 +1415,9 @@ msgstr "Komplett"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Komplex (erlaubt Mischen versch. Ton-u. Bildformate)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Konfiguration"
@@ -3380,6 +3383,9 @@ msgstr "Ergebnisse auf die Festplatte schreiben"
 msgid "Long Keypress"
 msgstr "langer Tastendruck"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Längengrad"
@@ -4672,9 +4678,8 @@ msgstr ""
 msgid "Please wait while updating your network mount..."
 msgstr "Bitte warten während die Freigabe aktualisiert wird..."
 
-#
 msgid "Please wait while we configure your network..."
-msgstr "Bitte warten Sie, dass Netzwerk wird konfiguriert."
+msgstr "Bitte warten Sie, das Netzwerk wird konfiguriert."
 
 #
 msgid "Please wait while we prepare your network interfaces..."
@@ -5911,6 +5916,9 @@ msgstr "Schärfe"
 msgid "Short Movies"
 msgstr "Kurzvideos"
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr "Soll dieser AutoTimer auf einen Zeitraum beschränkt werden?"
index 83719b4..33bb058 100755 (executable)
--- a/po/el.po
+++ b/po/el.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2008-07-17 12:13+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -1352,6 +1352,9 @@ msgstr "ολοκληρώθηκε"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr ""
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Mode παραμετροποίησης"
@@ -3283,6 +3286,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "Μακροχρονικό πάτημα πληκτρού"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Longitude"
@@ -5759,6 +5765,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index db13e31..995c4a1 100755 (executable)
--- a/po/en.po
+++ b/po/en.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2005-11-17 20:53+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -1410,6 +1410,9 @@ msgstr "Complete"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Complex (allows mixing audio tracks and aspects)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Configuration Mode"
@@ -3376,6 +3379,9 @@ msgstr "Log results to harddisk"
 msgid "Long Keypress"
 msgstr "Long Keypress"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Longitude"
@@ -5892,6 +5898,9 @@ msgstr "Sharpness"
 msgid "Short Movies"
 msgstr "Short Movies"
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr "Should this AutoTimer be restricted to a timespan?"
index 761a823..6a6c547 100755 (executable)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 11:01+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -161,10 +161,10 @@ msgstr ""
 msgid " wireless networks found!"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1173
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1174
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1323
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1325
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1233
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1234
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1383
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1385
 #: ../enigma2_master/lib/python/Components/NimManager.py:1173
 #: ../enigma2_master/lib/python/Components/NimManager.py:1174
 #: ../enigma2_master/lib/python/Components/NimManager.py:1323
@@ -172,7 +172,7 @@ msgstr ""
 msgid "%H:%M"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:121
+#: ../enigma2_experimental/lib/python/Screens/Standby.py:125
 #: ../enigma2_master/lib/python/Screens/Standby.py:121
 #, python-format
 msgid "%d jobs are running in the background!"
@@ -237,7 +237,7 @@ msgstr ""
 msgid "(ZAP)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:525
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:558
 #: ../enigma2_master/lib/python/Components/NimManager.py:525
 msgid "(empty)"
 msgstr ""
@@ -270,24 +270,24 @@ msgstr ""
 msgid "1 wireless network found!"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1081
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1116
 #: ../enigma2_master/lib/python/Components/NimManager.py:1081
 msgid "1.0"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1081
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1116
 #: ../enigma2_master/lib/python/Components/NimManager.py:1081
 msgid "1.1"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1080
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1081
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1115
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1116
 #: ../enigma2_master/lib/python/Components/NimManager.py:1080
 #: ../enigma2_master/lib/python/Components/NimManager.py:1081
 msgid "1.2"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1077
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1112
 #: ../enigma2_master/lib/python/Components/NimManager.py:1077
 msgid "13 V"
 msgstr ""
@@ -326,7 +326,7 @@ msgstr ""
 msgid "16:9 always"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1077
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1112
 #: ../enigma2_master/lib/python/Components/NimManager.py:1077
 msgid "18 V"
 msgstr ""
@@ -384,6 +384,9 @@ msgstr ""
 msgid "<Last timer location>"
 msgstr ""
 
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:90
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:105
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:137
 #: ../enigma2_experimental/lib/python/Components/TimerList.py:64
 #: ../enigma2_master/lib/python/Components/TimerList.py:64
 msgid "<unknown>"
@@ -396,7 +399,7 @@ msgstr ""
 msgid "??"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1079
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1114
 #: ../enigma2_master/lib/python/Components/NimManager.py:1079
 #: ../enigma2_experimental/data/ ../enigma2_master/data/
 msgid "A"
@@ -417,14 +420,14 @@ msgstr ""
 msgid "A demo plugin for TPM usage."
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:288
+#: ../enigma2_experimental/RecordTimer.py:297
 #: ../enigma2_master/RecordTimer.py:288
 msgid ""
 "A finished record timer wants to set your\n"
 "Dreambox to standby. Do that now?"
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:294
+#: ../enigma2_experimental/RecordTimer.py:303
 #: ../enigma2_master/RecordTimer.py:294
 msgid ""
 "A finished record timer wants to shut down\n"
@@ -442,7 +445,7 @@ msgid ""
 "Update existing entry and continue?\n"
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:369
+#: ../enigma2_experimental/RecordTimer.py:378
 #: ../enigma2_master/RecordTimer.py:369
 #, python-format
 msgid ""
@@ -513,7 +516,7 @@ msgstr ""
 msgid "A small overview of the available icon states and actions."
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:238
+#: ../enigma2_experimental/RecordTimer.py:247
 #: ../enigma2_master/RecordTimer.py:238
 msgid ""
 "A timer failed to record!\n"
@@ -528,12 +531,12 @@ msgstr ""
 msgid "A/V Settings"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1055
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1090
 #: ../enigma2_master/lib/python/Components/NimManager.py:1055
 msgid "AA"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1055
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1090
 #: ../enigma2_master/lib/python/Components/NimManager.py:1055
 msgid "AB"
 msgstr ""
@@ -544,8 +547,7 @@ msgstr ""
 msgid "AC3 default"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1724
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1768
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:75
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:100
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1723
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1767
@@ -685,12 +687,12 @@ msgstr ""
 msgid "Add title"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1875
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1760
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1874
 msgid "Add to bouquet"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1877
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1762
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1876
 msgid "Add to favourites"
 msgstr ""
@@ -791,8 +793,8 @@ msgstr ""
 msgid "All"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1074
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1075
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1109
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1110
 #: ../enigma2_master/lib/python/Components/NimManager.py:1074
 #: ../enigma2_master/lib/python/Components/NimManager.py:1075
 msgid "All Satellites"
@@ -980,7 +982,7 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:671
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:677
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:683
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1052
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1087
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:10
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:15
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:26
@@ -1089,18 +1091,18 @@ msgstr ""
 msgid "Available format variables"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1079
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1114
 #: ../enigma2_master/lib/python/Components/NimManager.py:1079
 #: ../enigma2_experimental/data/ ../enigma2_master/data/
 msgid "B"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1055
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1090
 #: ../enigma2_master/lib/python/Components/NimManager.py:1055
 msgid "BA"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1055
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1090
 #: ../enigma2_master/lib/python/Components/NimManager.py:1055
 msgid "BB"
 msgstr ""
@@ -1149,7 +1151,7 @@ msgstr ""
 msgid "Backup system settings"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1078
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1113
 #: ../enigma2_master/lib/python/Components/NimManager.py:1078
 msgid "Band"
 msgstr ""
@@ -1171,7 +1173,7 @@ msgid "Begin of timespan"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:50
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:331
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:344
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py:97
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:50
@@ -1254,7 +1256,7 @@ msgstr ""
 msgid "Bus: "
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:986
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1019
 #: ../enigma2_master/lib/python/Components/NimManager.py:986
 msgid "C-Band"
 msgstr ""
@@ -1457,9 +1459,10 @@ msgstr ""
 msgid "Change the hostname of your Dreambox."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:260
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:272
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:283
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:83
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:261
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:273
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:284
 #: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:184
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py:21
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
@@ -1725,14 +1728,14 @@ msgstr ""
 msgid "Comedy"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:302
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:314
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:315
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:327
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:302
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:314
 msgid "Command order"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:298
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:311
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:298
 msgid "Committed DiSEqC command"
 msgstr ""
@@ -1771,11 +1774,11 @@ msgstr ""
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:105
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:159
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:193
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:257
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:348
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:106
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:160
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:194
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:258
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:361
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:105
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:159
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:193
@@ -1827,7 +1830,8 @@ msgstr ""
 msgid "Connect to a Wireless Network"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:141
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:142
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:299
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:141
 msgid "Connected to"
 msgstr ""
@@ -2155,7 +2159,7 @@ msgstr ""
 msgid "Delete mount"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:388
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:389
 #, python-format
 msgid ""
@@ -2208,26 +2212,26 @@ msgstr ""
 msgid "Detected NIMs:"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:502
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1062
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1097
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:501
 #: ../enigma2_master/lib/python/Components/NimManager.py:1062
 msgid "DiSEqC A/B"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:502
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1062
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1097
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:501
 #: ../enigma2_master/lib/python/Components/NimManager.py:1062
 msgid "DiSEqC A/B/C/D"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:294
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:307
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:294
 msgid "DiSEqC mode"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:317
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:330
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:317
 msgid "DiSEqC repeats"
 msgstr ""
@@ -2281,7 +2285,6 @@ msgstr ""
 msgid "Disable Picture in Picture"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:37
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:37
 msgid "Disable Subtitles"
 msgstr ""
@@ -2471,7 +2474,7 @@ msgstr ""
 msgid "Do you want to restore your settings?"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2027
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1912
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2026
 msgid "Do you want to resume this playback?"
 msgstr ""
@@ -2609,7 +2612,7 @@ msgid "Dynamic contrast"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:966
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:384
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:397
 #: ../enigma2_experimental/lib/python/Components/ServiceScan.py:51
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:484
 #: ../enigma2_master/lib/python/Screens/ChannelSelection.py:966
@@ -2629,7 +2632,7 @@ msgstr ""
 msgid "ERROR - failed to scan (%s)!"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1069
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1104
 #: ../enigma2_master/lib/python/Components/NimManager.py:1069
 msgid "East"
 msgstr ""
@@ -2741,7 +2744,6 @@ msgstr ""
 msgid "Electronic Program Guide"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:45
 #: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:138
 #: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:408
 #: ../enigma2_experimental/lib/python/Screens/TimerEdit.py:428
@@ -2756,7 +2758,7 @@ msgstr ""
 msgid "Enable /media"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:198
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:199
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:198
 msgid "Enable 5V for active antenna"
 msgstr ""
@@ -2872,7 +2874,7 @@ msgid "End of timespan"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:51
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:332
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:345
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:51
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:332
 msgid "End time"
@@ -3141,17 +3143,17 @@ msgstr ""
 msgid "Fan %d Voltage"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1071
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1106
 #: ../enigma2_master/lib/python/Components/NimManager.py:1071
 msgid "Fast"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:299
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:312
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:299
 msgid "Fast DiSEqC"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1071
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1106
 #: ../enigma2_master/lib/python/Components/NimManager.py:1071
 msgid "Fast epoch"
 msgstr ""
@@ -3258,9 +3260,9 @@ msgstr ""
 msgid "French"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:262
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:276
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:287
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:263
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:277
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:288
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:377
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:407
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:414
@@ -3279,17 +3281,17 @@ msgstr ""
 msgid "Frequency"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1351
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1411
 #: ../enigma2_master/lib/python/Components/NimManager.py:1351
 msgid "Frequency bands"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:181
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:182
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:181
 msgid "Frequency scan step size(khz)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1351
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1411
 #: ../enigma2_master/lib/python/Components/NimManager.py:1351
 msgid "Frequency steps"
 msgstr ""
@@ -3624,7 +3626,7 @@ msgstr ""
 msgid "In Progress"
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:241
+#: ../enigma2_experimental/RecordTimer.py:250
 #: ../enigma2_master/RecordTimer.py:241
 msgid ""
 "In order to record a timer, the TV was switched to the recording service!\n"
@@ -3652,7 +3654,7 @@ msgstr ""
 msgid "Increase delay by %i ms (can be set)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:290
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:303
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:290
 msgid "Increased voltage"
 msgstr ""
@@ -3880,25 +3882,25 @@ msgstr ""
 msgid "LAN connection"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:243
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:244
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:243
 msgid "LNB"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:248
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:249
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:248
 msgid "LOF"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:252
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:264
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:253
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:265
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:252
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:264
 msgid "LOF/H"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:251
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:263
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:252
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:264
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:251
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:263
 msgid "LOF/L"
@@ -3923,7 +3925,7 @@ msgid "Last speed"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:40
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:321
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:334
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:40
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:321
 #: ../enigma2_experimental/data/ ../enigma2_master/data/
@@ -3940,8 +3942,6 @@ msgstr ""
 msgid "Leave DVD Player?"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1725
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1730
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:149
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1724
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1729
@@ -3994,7 +3994,7 @@ msgstr ""
 msgid "Linked titles with a DVD menu"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/config.py:1137
+#: ../enigma2_experimental/lib/python/Components/config.py:1138
 #: ../enigma2_experimental/lib/python/Components/FileList.py:177
 #: ../enigma2_experimental/lib/python/Components/FileList.py:394
 #: ../enigma2_master/lib/python/Components/config.py:1137
@@ -4051,8 +4051,12 @@ msgstr ""
 msgid "Long Keypress"
 msgstr ""
 
+#: ../enigma2_experimental/lib/python/Components/RecordingConfig.py:14
+msgid "Long filenames"
+msgstr ""
+
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:38
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:319
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:332
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:38
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:319
 #: ../enigma2_experimental/data/ ../enigma2_master/data/
@@ -4118,8 +4122,8 @@ msgstr ""
 msgid "Manual transponder"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:270
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:281
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:271
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:282
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:270
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:281
 msgid "Manufacturer"
@@ -4174,6 +4178,7 @@ msgstr ""
 msgid "Medium is not empty!"
 msgstr ""
 
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:168
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:156
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:158
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:159
@@ -4199,7 +4204,7 @@ msgstr ""
 msgid "Mkfs failed"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:109
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:110
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:62
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:109
 #: ../enigma2_master/lib/python/Plugins/SystemPlugins/Videomode/plugin.py:62
@@ -4479,9 +4484,9 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:394
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:398
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:402
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:663
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:668
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:795
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:696
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:701
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:828
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py:242
 #: ../enigma2_master/lib/python/Screens/NetworkSetup.py:376
 #: ../enigma2_master/lib/python/Screens/NetworkSetup.py:380
@@ -4647,7 +4652,7 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/Ci.py:27
 #: ../enigma2_experimental/lib/python/Screens/InfoBar.py:169
 #: ../enigma2_experimental/lib/python/Screens/InfoBar.py:176
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:388
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:270
 #: ../enigma2_master/lib/python/Screens/Ci.py:25
 #: ../enigma2_master/lib/python/Screens/Ci.py:27
@@ -4691,7 +4696,7 @@ msgstr ""
 msgid "No Networks found"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2331
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2216
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2330
 msgid ""
 "No data on transponder!\n"
@@ -4731,7 +4736,7 @@ msgid ""
 "forward/backward!"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2329
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2214
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2328
 msgid "No free tuner!"
 msgstr ""
@@ -4779,7 +4784,7 @@ msgstr ""
 msgid "No tags are set on these movies."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:388
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:389
 msgid "No to all"
 msgstr ""
@@ -4880,11 +4885,11 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:591
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:634
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:679
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1055
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1058
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1079
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1081
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1087
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1090
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1093
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1114
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1116
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1122
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:14
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:61
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:107
@@ -4916,7 +4921,7 @@ msgstr ""
 msgid "Nonprofits & Activism"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1070
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1105
 #: ../enigma2_master/lib/python/Components/NimManager.py:1070
 msgid "North"
 msgstr ""
@@ -5028,9 +5033,7 @@ msgstr ""
 msgid "OSD visibility"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1724
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1768
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1078
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1113
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:12
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:46
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:59
@@ -5055,9 +5058,7 @@ msgstr ""
 msgid "Offset before recording (in m)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1724
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1768
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1078
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1113
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:11
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:45
 #: ../enigma2_experimental/lib/python/Tools/Transponder.py:58
@@ -5080,7 +5081,7 @@ msgstr ""
 msgid "On same service"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1087
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1122
 #: ../enigma2_master/lib/python/Components/NimManager.py:1087
 msgid "One"
 msgstr ""
@@ -5164,9 +5165,6 @@ msgstr ""
 msgid "Packet manager"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:53
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:56
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:58
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:53
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:56
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:58
@@ -5403,7 +5401,7 @@ msgstr ""
 msgid "Please enter your search term."
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:371
+#: ../enigma2_experimental/RecordTimer.py:380
 #: ../enigma2_master/RecordTimer.py:371
 msgid ""
 "Please note that the previously selected media could not be accessed and "
@@ -5454,7 +5452,7 @@ msgstr ""
 msgid "Please select a subservice to record..."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1884
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1769
 #: ../enigma2_experimental/lib/python/Screens/SubservicesQuickzap.py:116
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1883
 #: ../enigma2_master/lib/python/Screens/SubservicesQuickzap.py:116
@@ -5620,7 +5618,7 @@ msgid "Polarity"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/ServiceInfo.py:141
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1077
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1112
 #: ../enigma2_master/lib/python/Screens/ServiceInfo.py:141
 #: ../enigma2_master/lib/python/Components/NimManager.py:1077
 msgid "Polarization"
@@ -5664,8 +5662,8 @@ msgstr ""
 msgid "Portuguese"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:522
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1063
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:535
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1098
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:521
 #: ../enigma2_master/lib/python/Components/NimManager.py:1063
 msgid "Positioner"
@@ -5700,7 +5698,7 @@ msgid ""
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:46
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:327
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:340
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:46
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:327
 msgid "Power threshold in mA"
@@ -5840,7 +5838,7 @@ msgstr ""
 msgid "Primary DNS"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:247
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:248
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:247
 msgid "Priority"
 msgstr ""
@@ -5869,14 +5867,14 @@ msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:703
 #: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:839
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1353
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1413
 #: ../enigma2_master/lib/python/Screens/ChannelSelection.py:703
 #: ../enigma2_master/lib/python/Screens/ChannelSelection.py:839
 #: ../enigma2_master/lib/python/Components/NimManager.py:1353
 msgid "Provider"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:165
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:166
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:165
 msgid "Provider to scan"
 msgstr ""
@@ -5903,9 +5901,9 @@ msgstr ""
 msgid "Quick"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1875
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1877
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1880
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1760
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1762
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1765
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1874
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1876
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1879
@@ -5941,8 +5939,8 @@ msgid "Ratings: "
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:652
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:427
-#: ../enigma2_experimental/lib/python/Components/ConfigList.py:236
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:440
+#: ../enigma2_experimental/lib/python/Components/ConfigList.py:237
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:221
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/plugin.py:174
 #: ../enigma2_master/lib/python/Screens/NetworkSetup.py:641
@@ -5972,17 +5970,17 @@ msgstr ""
 msgid "Really quit MyTube Player?"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:126
+#: ../enigma2_experimental/lib/python/Screens/Standby.py:130
 #: ../enigma2_master/lib/python/Screens/Standby.py:126
 msgid "Really reboot now?"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:130
+#: ../enigma2_experimental/lib/python/Screens/Standby.py:134
 #: ../enigma2_master/lib/python/Screens/Standby.py:130
 msgid "Really restart now?"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:124
+#: ../enigma2_experimental/lib/python/Screens/Standby.py:128
 #: ../enigma2_master/lib/python/Screens/Standby.py:124
 msgid "Really shutdown now?"
 msgstr ""
@@ -6029,7 +6027,7 @@ msgstr ""
 msgid "Recording"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Standby.py:115
+#: ../enigma2_experimental/lib/python/Screens/Standby.py:119
 #: ../enigma2_master/lib/python/Screens/Standby.py:115
 msgid "Recording(s) are in progress or coming up in few seconds!"
 msgstr ""
@@ -6303,7 +6301,7 @@ msgstr ""
 msgid "Resume from last position"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2027
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1912
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2026
 #, python-format
 msgid "Resume position at %s"
@@ -6316,7 +6314,7 @@ msgstr ""
 #. TRANSLATORS: in the middle somewhere and not from the beginning.
 #. TRANSLATORS: (Some translators seem to have interpreted it as a
 #. TRANSLATORS: question or a choice, but it is a statement.)
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2036
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1921
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2035
 msgid "Resuming playback"
 msgstr ""
@@ -6344,8 +6342,6 @@ msgstr ""
 msgid "Return to previous service"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1725
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1730
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py:150
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1724
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1729
@@ -6365,13 +6361,14 @@ msgid "Rolloff"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:47
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:328
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:341
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:47
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:328
 msgid "Rotor turning speed"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:43
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:95
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:141
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:43
 msgid "Running"
 msgstr ""
@@ -6415,8 +6412,8 @@ msgid "Sat"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:22
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:146
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:350
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:147
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:363
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:376
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:392
 #: ../enigma2_experimental/lib/python/Components/ServiceScan.py:40
@@ -6462,7 +6459,7 @@ msgstr ""
 msgid "Satfinder"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:503
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:516
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:502
 msgid "Sats"
 msgstr ""
@@ -6556,37 +6553,37 @@ msgstr ""
 msgid "Scan NFS share"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:185
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:186
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:185
 msgid "Scan QAM128"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:182
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:183
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:182
 msgid "Scan QAM16"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:186
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:187
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:186
 msgid "Scan QAM256"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:183
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:184
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:183
 msgid "Scan QAM32"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:184
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:185
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:184
 msgid "Scan QAM64"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:188
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:189
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:188
 msgid "Scan SR6875"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:187
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:188
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:187
 msgid "Scan SR6900"
 msgstr ""
@@ -6596,69 +6593,69 @@ msgstr ""
 msgid "Scan Wireless Networks"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:189
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:190
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:191
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:189
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:190
 msgid "Scan additional SR"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:174
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:175
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:174
 msgid "Scan band EU HYPER"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:169
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:170
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:169
 msgid "Scan band EU MID"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:173
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:174
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:173
 msgid "Scan band EU SUPER"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:171
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:172
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:171
 msgid "Scan band EU UHF IV"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:172
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:173
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:172
 msgid "Scan band EU UHF V"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:168
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:169
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:168
 msgid "Scan band EU VHF I"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:170
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:171
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:170
 msgid "Scan band EU VHF III"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:177
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:178
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:177
 msgid "Scan band US HIGH"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:179
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:180
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:179
 msgid "Scan band US HYPER"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:175
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:176
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:175
 msgid "Scan band US LOW"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:176
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:177
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:176
 msgid "Scan band US MID"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:178
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:179
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:178
 msgid "Scan band US SUPER"
 msgstr ""
@@ -6777,12 +6774,11 @@ msgstr ""
 msgid "Select a timer to import"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1783
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1782
 msgid "Select audio mode"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1759
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:71
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1758
 msgid "Select audio track"
 msgstr ""
@@ -6878,7 +6874,7 @@ msgstr ""
 msgid "Seperate titles with a main menu"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:300
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:313
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:300
 msgid "Sequence repeat"
 msgstr ""
@@ -6900,31 +6896,31 @@ msgstr ""
 msgid "Service delay"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1908
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1793
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1907
 msgid "Service has been added to the favourites."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1914
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1799
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1913
 msgid "Service has been added to the selected bouquet."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2333
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2218
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2332
 msgid ""
 "Service invalid!\n"
 "(Timeout reading PMT)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2332
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2217
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2331
 msgid ""
 "Service not found!\n"
 "(SID not found in PAT)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2338
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2223
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2337
 msgid ""
 "Service unavailable!\n"
@@ -7025,6 +7021,10 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+#: ../enigma2_experimental/lib/python/Components/RecordingConfig.py:13
+msgid "Short filenames"
+msgstr ""
+
 #: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:466
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
@@ -7123,8 +7123,8 @@ msgstr ""
 msgid "Simple titleset (compatibility for legacy players)"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:502
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1061
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1096
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:501
 #: ../enigma2_master/lib/python/Components/NimManager.py:1061
 msgid "Single"
@@ -7200,7 +7200,7 @@ msgstr ""
 msgid "Slovenian"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1071
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1106
 #: ../enigma2_master/lib/python/Components/NimManager.py:1071
 msgid "Slow"
 msgstr ""
@@ -7289,7 +7289,7 @@ msgstr ""
 msgid "Sort Time"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1070
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1105
 #: ../enigma2_master/lib/python/Components/NimManager.py:1070
 msgid "South"
 msgstr ""
@@ -7409,8 +7409,6 @@ msgstr ""
 msgid "Step west"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1725
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1730
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1724
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1729
 msgid "Stereo"
@@ -7470,31 +7468,30 @@ msgstr ""
 msgid "Store position"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:342
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:355
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:342
 msgid "Stored position"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1801
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1686
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1800
 msgid "Subservice list..."
 msgstr ""
 
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:118
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:173
 #: ../enigma2_master/lib/python/Plugins/Extensions/MediaPlayer/plugin.py:173
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
+#: ../enigma2_master/data/
 msgid "Subtitle selection"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:62
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:65
-#: ../enigma2_experimental/lib/python/Screens/Subtitles.py:67
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:52
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:159
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:62
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:65
 #: ../enigma2_master/lib/python/Screens/Subtitles.py:67
 #: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:159
-#: ../enigma2_experimental/data/ ../enigma2_master/data/
+#: ../enigma2_master/data/
 msgid "Subtitles"
 msgstr ""
 
@@ -7532,17 +7529,17 @@ msgstr ""
 msgid "Swedish"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1806
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1691
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1805
 msgid "Switch to next subservice"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1807
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1692
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1806
 msgid "Switch to previous subservice"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:537
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:550
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:536
 msgid "Switchable tuner types:"
 msgstr ""
@@ -7643,7 +7640,7 @@ msgstr ""
 msgid "Terrestrial"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:197
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:198
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:197
 msgid "Terrestrial provider"
 msgstr ""
@@ -7813,7 +7810,7 @@ msgstr ""
 msgid "The sleep timer has been disabled."
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:489
+#: ../enigma2_experimental/RecordTimer.py:498
 #: ../enigma2_master/RecordTimer.py:489
 msgid "The timer file (timers.xml) is corrupt and could not be loaded."
 msgstr ""
@@ -8045,13 +8042,13 @@ msgid ""
 "but add it disabled."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1087
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1122
 #: ../enigma2_master/lib/python/Components/NimManager.py:1087
 msgid "Three"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:253
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:265
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:254
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:266
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:253
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:265
 msgid "Threshold"
@@ -8099,7 +8096,7 @@ msgstr ""
 msgid "Timer Type"
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:511
+#: ../enigma2_experimental/RecordTimer.py:520
 #: ../enigma2_master/RecordTimer.py:511
 msgid ""
 "Timer overlap in timers.xml detected!\n"
@@ -8183,23 +8180,23 @@ msgstr ""
 msgid "Today"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:157
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:158
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:157
 msgid "Tone Amplitude"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:291
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:304
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:291
 msgid "Tone mode"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:297
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:310
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:297
 msgid "Toneburst"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:502
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1061
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:515
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1096
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:501
 #: ../enigma2_master/lib/python/Components/NimManager.py:1061
 msgid "Toneburst A/B"
@@ -8312,14 +8309,14 @@ msgstr ""
 msgid "Tune"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2330
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2215
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2329
 msgid "Tune failed!"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:123
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:132
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:497
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:124
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:133
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:510
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:346
 #: ../enigma2_experimental/lib/python/Components/ServiceScan.py:137
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:123
@@ -8330,7 +8327,7 @@ msgstr ""
 msgid "Tuner"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:488
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:521
 #: ../enigma2_master/lib/python/Components/NimManager.py:488
 msgid "Tuner "
 msgstr ""
@@ -8340,7 +8337,7 @@ msgstr ""
 msgid "Tuner status"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:101
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:102
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:101
 msgid "Tuner type"
 msgstr ""
@@ -8350,13 +8347,13 @@ msgstr ""
 msgid "Turkish"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1087
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1122
 #: ../enigma2_master/lib/python/Components/NimManager.py:1087
 msgid "Two"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:271
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:282
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:272
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:283
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:271
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:282
 msgid "Type"
@@ -8371,8 +8368,8 @@ msgstr ""
 msgid "Type of scan"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:524
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1065
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:537
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1100
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:523
 #: ../enigma2_master/lib/python/Components/NimManager.py:1065
 msgid "USALS"
@@ -8416,7 +8413,7 @@ msgid ""
 "Error: "
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:315
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:328
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:315
 msgid "Uncommitted DiSEqC command"
 msgstr ""
@@ -8431,17 +8428,17 @@ msgstr ""
 msgid "Undo uninstall"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:985
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1018
 msgid "Unicable"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1044
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1079
 #: ../enigma2_master/lib/python/Components/NimManager.py:1044
 msgid "Unicable LNB"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1045
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1102
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1080
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1137
 #: ../enigma2_master/lib/python/Components/NimManager.py:1045
 #: ../enigma2_master/lib/python/Components/NimManager.py:1102
 msgid "Unicable Martix"
@@ -8457,7 +8454,7 @@ msgstr ""
 msgid "United States"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:984
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1017
 #: ../enigma2_master/lib/python/Components/NimManager.py:984
 msgid "Universal LNB"
 msgstr ""
@@ -8584,7 +8581,7 @@ msgid "Use Interface"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:43
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:324
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:337
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:43
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:324
 msgid "Use Power Measurement"
@@ -8619,20 +8616,20 @@ msgstr ""
 msgid "Use time of currently running service"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:339
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:352
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:339
 msgid "Use usals for this sat"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:162
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:163
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:162
 msgid "Used service scan type"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:987
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1046
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1102
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1104
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1020
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1081
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1137
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1139
 #: ../enigma2_master/lib/python/Components/NimManager.py:987
 #: ../enigma2_master/lib/python/Components/NimManager.py:1046
 #: ../enigma2_master/lib/python/Components/NimManager.py:1102
@@ -8834,7 +8831,7 @@ msgstr ""
 msgid "View response videos"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2243
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:2128
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:2242
 msgid "View teletext..."
 msgstr ""
@@ -8852,13 +8849,13 @@ msgstr ""
 msgid "Views: "
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:289
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:302
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:289
 msgid "Voltage mode"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/ChannelSelection.py:964
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:382
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:395
 #: ../enigma2_experimental/lib/python/Components/ServiceScan.py:49
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py:482
 #: ../enigma2_master/lib/python/Screens/ChannelSelection.py:964
@@ -9004,7 +9001,7 @@ msgid ""
 "Press exit to get back to the input field."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1069
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1104
 #: ../enigma2_master/lib/python/Components/NimManager.py:1069
 msgid "West"
 msgstr ""
@@ -9071,7 +9068,7 @@ msgstr ""
 msgid "Wizard"
 msgstr ""
 
-#: ../enigma2_experimental/RecordTimer.py:364
+#: ../enigma2_experimental/RecordTimer.py:373
 #: ../enigma2_master/RecordTimer.py:364
 msgid "Write error while recording. Disk full?\n"
 msgstr ""
@@ -9102,7 +9099,7 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/Ci.py:27
 #: ../enigma2_experimental/lib/python/Screens/InfoBar.py:168
 #: ../enigma2_experimental/lib/python/Screens/InfoBar.py:173
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:388
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/plugin.py:275
 #: ../enigma2_experimental/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py:270
 #: ../enigma2_master/lib/python/Screens/Ci.py:25
@@ -9124,7 +9121,7 @@ msgstr ""
 msgid "Yes"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:388
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:401
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:389
 msgid "Yes to all"
 msgstr ""
@@ -9300,9 +9297,9 @@ msgstr ""
 msgid "Zap back to service before satfinder?"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:393
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:429
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:450
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:406
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:442
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:463
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:363
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:428
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:449
@@ -9480,8 +9477,8 @@ msgid "add to parental protection"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:63
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:530
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1327
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:543
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1387
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:63
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:529
 #: ../enigma2_master/lib/python/Components/NimManager.py:1327
@@ -9515,6 +9512,7 @@ msgstr ""
 msgid "audio track (%s) language"
 msgstr ""
 
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:52
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
 #: ../enigma2_master/lib/python/Plugins/Extensions/DVDBurn/ProjectSettings.py:117
 msgid "audio tracks"
@@ -9642,6 +9640,7 @@ msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1356
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1412
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:295
 #: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1344
 #: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1400
 msgid "connected"
@@ -9709,7 +9708,7 @@ msgstr ""
 msgid "delete..."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/config.py:448
+#: ../enigma2_experimental/lib/python/Components/config.py:449
 #: ../enigma2_master/lib/python/Components/config.py:448
 #: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:128
 msgid "disable"
@@ -9721,7 +9720,7 @@ msgid "disable move mode"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1185
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1394
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1454
 #: ../enigma2_experimental/lib/python/Components/TimerList.py:69
 #: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1174
 #: ../enigma2_master/lib/python/Components/NimManager.py:1394
@@ -9779,12 +9778,12 @@ msgstr ""
 msgid "edit services"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:516
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:549
 #: ../enigma2_master/lib/python/Components/NimManager.py:516
 msgid "empty"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/config.py:448
+#: ../enigma2_experimental/lib/python/Components/config.py:449
 #: ../enigma2_master/lib/python/Components/config.py:448
 #: ../enigma2_plugins/autotimer/src/AutoTimerImporter.py:128
 msgid "enable"
@@ -9806,9 +9805,9 @@ msgid "enable move mode"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/NetworkSetup.py:1181
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:535
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1341
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1381
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:548
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1401
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1441
 #: ../enigma2_master/lib/python/Screens/NetworkSetup.py:1170
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:534
 #: ../enigma2_master/lib/python/Components/NimManager.py:1341
@@ -9854,8 +9853,8 @@ msgid "enter hidden network SSID"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:68
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:495
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1329
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:508
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1389
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:68
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:494
 #: ../enigma2_master/lib/python/Components/NimManager.py:1329
@@ -10073,12 +10072,12 @@ msgstr ""
 msgid "jump to listend"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1998
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1883
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1997
 msgid "jump to next marked position"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1997
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1882
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1996
 msgid "jump to previous marked position"
 msgstr ""
@@ -10088,7 +10087,7 @@ msgstr ""
 msgid "leave movie player..."
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1782
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:80
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1781
 msgid "left"
 msgstr ""
@@ -10134,16 +10133,16 @@ msgid "locked"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:72
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:494
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1332
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:507
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1392
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:72
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:493
 #: ../enigma2_master/lib/python/Components/NimManager.py:1332
 msgid "loopthrough to"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:526
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1065
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:539
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1100
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:525
 #: ../enigma2_master/lib/python/Components/NimManager.py:1065
 msgid "manual"
@@ -10264,7 +10263,7 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:928
 #: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:92
 #: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:113
-#: ../enigma2_experimental/lib/python/Components/config.py:438
+#: ../enigma2_experimental/lib/python/Components/config.py:439
 #: ../enigma2_master/lib/python/Screens/MessageBox.py:44
 #: ../enigma2_master/lib/python/Screens/MessageBox.py:46
 #: ../enigma2_master/lib/python/Screens/ScanSetup.py:519
@@ -10322,7 +10321,7 @@ msgid "none"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:61
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:499
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:512
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:61
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:498
 msgid "not configured"
@@ -10333,16 +10332,16 @@ msgstr ""
 msgid "not locked"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1123
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1158
 #: ../enigma2_master/lib/python/Components/NimManager.py:1123
 msgid "not used"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:533
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1067
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1326
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1342
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1382
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:546
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1102
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1386
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1402
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1442
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:532
 #: ../enigma2_master/lib/python/Components/NimManager.py:1067
 #: ../enigma2_master/lib/python/Components/NimManager.py:1326
@@ -10365,7 +10364,7 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:610
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:617
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:640
-#: ../enigma2_experimental/lib/python/Components/config.py:443
+#: ../enigma2_experimental/lib/python/Components/config.py:444
 #: ../enigma2_experimental/lib/python/Components/UsageConfig.py:28
 #: ../enigma2_master/lib/python/Screens/ScanSetup.py:552
 #: ../enigma2_master/lib/python/Screens/ScanSetup.py:587
@@ -10380,7 +10379,7 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:611
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:618
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:641
-#: ../enigma2_experimental/lib/python/Components/config.py:443
+#: ../enigma2_experimental/lib/python/Components/config.py:444
 #: ../enigma2_experimental/lib/python/Components/UsageConfig.py:28
 #: ../enigma2_master/lib/python/Screens/ScanSetup.py:553
 #: ../enigma2_master/lib/python/Screens/ScanSetup.py:588
@@ -10574,7 +10573,7 @@ msgstr ""
 msgid "rewind to the previous chapter"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1782
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:80
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1781
 msgid "right"
 msgstr ""
@@ -10618,8 +10617,8 @@ msgid "second"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:70
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:496
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1330
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:509
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1390
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:70
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:495
 #: ../enigma2_master/lib/python/Components/NimManager.py:1330
@@ -10793,8 +10792,8 @@ msgid "shutdown"
 msgstr ""
 
 #: ../enigma2_experimental/lib/python/Screens/Satconfig.py:62
-#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:528
-#: ../enigma2_experimental/lib/python/Components/NimManager.py:1327
+#: ../enigma2_experimental/lib/python/Screens/Satconfig.py:541
+#: ../enigma2_experimental/lib/python/Components/NimManager.py:1387
 #: ../enigma2_experimental/lib/python/Components/ParentalControl.py:26
 #: ../enigma2_experimental/lib/python/Plugins/Extensions/PicturePlayer/plugin.py:23
 #: ../enigma2_master/lib/python/Screens/Satconfig.py:62
@@ -10840,6 +10839,7 @@ msgstr ""
 msgid "special characters"
 msgstr ""
 
+#: ../enigma2_experimental/lib/python/Components/RecordingConfig.py:12
 #: ../enigma2_experimental/lib/python/Components/UsageConfig.py:31
 #: ../enigma2_master/lib/python/Components/UsageConfig.py:31
 #: ../enigma2_plugins/autotimer/src/AutoTimerEditor.py:238
@@ -10867,7 +10867,7 @@ msgstr ""
 msgid "start timeshift"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1782
+#: ../enigma2_experimental/lib/python/Screens/AudioSelection.py:80
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1781
 msgid "stereo"
 msgstr ""
@@ -10959,7 +10959,7 @@ msgstr ""
 msgid "this service is protected by a parental control pin"
 msgstr ""
 
-#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1999
+#: ../enigma2_experimental/lib/python/Screens/InfoBarGenerics.py:1884
 #: ../enigma2_master/lib/python/Screens/InfoBarGenerics.py:1998
 msgid "toggle a cut mark at the current position"
 msgstr ""
@@ -11080,7 +11080,7 @@ msgstr ""
 #: ../enigma2_experimental/lib/python/Screens/ScanSetup.py:928
 #: ../enigma2_experimental/lib/python/Screens/SleepTimerEdit.py:90
 #: ../enigma2_experimental/lib/python/Screens/TimerEntry.py:113
-#: ../enigma2_experimental/lib/python/Components/config.py:438
+#: ../enigma2_experimental/lib/python/Components/config.py:439
 #: ../enigma2_master/lib/python/Screens/MessageBox.py:44
 #: ../enigma2_master/lib/python/Screens/MessageBox.py:46
 #: ../enigma2_master/lib/python/Screens/ScanSetup.py:519
@@ -11305,6 +11305,10 @@ msgstr ""
 msgid "Common Interface"
 msgstr ""
 
+#: ../enigma2_experimental/data/
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #: ../enigma2_experimental/data/ ../enigma2_master/data/
 msgid "Continue in background"
 msgstr ""
index 195e237..ac730e5 100755 (executable)
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2009-08-21 18:08+0100\n"
 "Last-Translator: José Juan Zapater <josej@zapater.fdns.net>\n"
 "Language-Team: none\n"
@@ -1407,6 +1407,9 @@ msgstr "Completado"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Complejo (permite mexclar pistas de audio y aspectos)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Modo Configuración"
@@ -3368,6 +3371,9 @@ msgstr "Logear resultados al disco duro"
 msgid "Long Keypress"
 msgstr "Pulsar tecla largo"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Longitud"
@@ -5874,6 +5880,9 @@ msgstr "Nitidez"
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 501299b..fb3ac93 100755 (executable)
--- a/po/et.po
+++ b/po/et.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2010-04-12 15:24+0200\n"
 "Last-Translator: Arvo <arvo@softshark.ee>\n"
 "Language-Team: none\n"
@@ -1404,6 +1404,9 @@ msgstr "Valmis"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Täielik ( lubab audio radade miximist )"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Häälestamine"
@@ -3348,6 +3351,9 @@ msgstr "Logi tulemused kõvakettale"
 msgid "Long Keypress"
 msgstr "Pikk klahvivajutus"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Pikkuskraad"
@@ -5851,6 +5857,9 @@ msgstr "Teravus"
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index c736512..769ee9c 100755 (executable)
--- a/po/fi.po
+++ b/po/fi.po
@@ -3,9 +3,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
-"PO-Revision-Date: 2010-06-09 10:42+0200\n"
-"Last-Translator: Mladen <acid-burn@opendreambox.org>\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
+"PO-Revision-Date: 2010-06-09 15:42+0200\n"
+"Last-Translator: Timo <timojarvenpaa@hotmail.com>\n"
 "Language-Team: none\n"
 "Language: fi\n"
 "MIME-Version: 1.0\n"
@@ -1326,6 +1326,9 @@ msgstr "Täysi"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Laajennettu (useita ääniraitoja ja kuvasuhteita)"
 
+msgid "Composition of the recording filenames"
+msgstr "Tallennusnimien rakenne"
+
 #
 msgid "Configuration Mode"
 msgstr "Toimintatila"
@@ -3179,6 +3182,9 @@ msgstr "Luo lokitiedosto kiintolevylle"
 msgid "Long Keypress"
 msgstr "Pitkä painallus"
 
+msgid "Long filenames"
+msgstr "Pitkät tiedostonimet"
+
 #
 msgid "Longitude"
 msgstr "Pituusaste"
@@ -5543,6 +5549,9 @@ msgstr "Terävyys"
 msgid "Short Movies"
 msgstr "Lyhytelokuvat"
 
+msgid "Short filenames"
+msgstr "Lyhyet tiedostonimet"
+
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr "Rajoitetaanko tämä automaattiajastus aikajaksoon?"
 
index 54e7962..437c3c8 100755 (executable)
--- a/po/fr.po
+++ b/po/fr.po
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2008-12-12 12:10+0100\n"
 "Last-Translator: mimi74 <remi.jarrige0293@orange.fr>\n"
 "Language-Team: french\n"
@@ -1391,6 +1391,9 @@ msgstr "Terminé"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Complexe (autorise mélange pistes audio et aspects)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Mode de configuration"
@@ -3333,6 +3336,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "Appui long touche"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Longitude"
@@ -5838,6 +5844,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 4aee730..7125c49 100755 (executable)
--- a/po/fy.po
+++ b/po/fy.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fy\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2008-12-29 16:22+0100\n"
 "Last-Translator: gerrit <gerrit@nedlinux.nl>\n"
 "Language-Team: gerrit <fy@li.org>\n"
@@ -1368,6 +1368,9 @@ msgstr "Kompleet"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Komplex(lud spoor & aspekt mixen tastien)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Ynstellingen modus"
@@ -3311,6 +3314,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "Lang taste yndrukken"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Lingtegraad"
@@ -5790,6 +5796,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 2267e6e..3c26307 100755 (executable)
--- a/po/hr.po
+++ b/po/hr.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2008-01-27 23:38+0100\n"
 "Last-Translator: Jurica <jurica@clarkdigital.com>\n"
 "Language-Team:  <jurica@dream-multimedia.eu>\n"
@@ -1350,6 +1350,9 @@ msgstr "Kompletno"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr ""
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Mod Konfiguracije"
@@ -3269,6 +3272,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "Dugi pritis tipke"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Longituda"
@@ -5736,6 +5742,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 3a2bd0c..a4dfe53 100755 (executable)
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2008-11-26 15:36+0100\n"
 "Last-Translator: MediaVox-Extrasat <info@mediavox.hu>\n"
 "Language-Team: none\n"
@@ -1363,6 +1363,9 @@ msgstr "Kész"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr ""
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Konfigurációs mód"
@@ -3303,6 +3306,9 @@ msgstr ""
 msgid "Long Keypress"
 msgstr "Hosszú gombnyomás"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Hosszúsági fok"
@@ -5785,6 +5791,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 9c14810..60c8228 100755 (executable)
--- a/po/is.po
+++ b/po/is.po
@@ -5,18 +5,20 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Icelandic translation v.1.44\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
-"PO-Revision-Date: 2009-09-24 22:09-0000\n"
-"Last-Translator: Baldur Þór Sveinsson <bsveinsson@gmail.com>\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
+"PO-Revision-Date: 2010-06-10 12:05+0200\n"
+"Last-Translator: Baldur <bsveinsson@gmail.com>\n"
 "Language-Team: Polar Team/LT Team <baddi@oreind.is>\n"
+"Language: is\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 2.0.3\n"
 "X-Poedit-Language: Icelandic\n"
 "X-Poedit-SourceCharset: utf-8\n"
 "X-Poedit-Country: ICELAND\n"
 
-#
 msgid ""
 "\n"
 "Advanced options and settings."
@@ -24,7 +26,6 @@ msgstr ""
 "\n"
 "Auka sérfræði stillingar."
 
-#
 msgid ""
 "\n"
 "After pressing OK, please wait!"
@@ -32,7 +33,6 @@ msgstr ""
 "\n"
 "Bíðið eftir að hafa ýtt á OK!"
 
-#
 msgid ""
 "\n"
 "Backup your Dreambox settings."
@@ -40,7 +40,6 @@ msgstr ""
 "\n"
 "Taka afrit af stillingum."
 
-#
 msgid ""
 "\n"
 "Edit the upgrade source address."
@@ -48,11 +47,12 @@ msgstr ""
 "\n"
 "Breyta veffangi uppfærslu uppruna."
 
-#
 msgid ""
 "\n"
 "Manage extensions or plugins for your Dreambox"
 msgstr ""
+"\n"
+"Umsýsla viðbótum og íforritum fyrir móttakarann þinn"
 
 #
 msgid ""
@@ -94,11 +94,12 @@ msgstr ""
 "\n"
 "Setja inn stilligar eftir dagsetningu."
 
-#
 msgid ""
 "\n"
 "Scan for local extensions and install them."
 msgstr ""
+"\n"
+"Leita að viðbótum á móttakara og setja þær upp"
 
 #
 msgid ""
@@ -130,13 +131,11 @@ msgstr ""
 msgid " "
 msgstr " "
 
-#
 msgid " Results"
-msgstr ""
+msgstr "Útkoma"
 
-#
 msgid " extensions."
-msgstr " innskot."
+msgstr " viðbætur."
 
 #
 msgid " packages selected."
@@ -1396,6 +1395,9 @@ msgstr "Búið"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Flókið (mögulegt að blanda hljóð rásir og stærðar hlutföll)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Stillingar"
@@ -3343,6 +3345,9 @@ msgstr "Skýrslur á harðadisk"
 msgid "Long Keypress"
 msgstr "Ýtt lengi á hnapp"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Lengdargráða"
@@ -5838,6 +5843,9 @@ msgstr "Skerpa"
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 1411f46..78a41fb 100755 (executable)
--- a/po/it.po
+++ b/po/it.po
@@ -4,8 +4,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma2 v2.6 Italian Locale\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
-"PO-Revision-Date: 2010-05-21 23:06+0200\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
+"PO-Revision-Date: 2010-06-16 22:07+0200\n"
 "Last-Translator: spaeleus <spaeleus@croci.org>\n"
 "Language-Team: WWW.LINSAT.NET <spaeleus@croci.org>\n"
 "Language: it\n"
@@ -106,7 +106,6 @@ msgstr ""
 "\n"
 "Ricercare estensioni locali e installarle."
 
-#
 msgid ""
 "\n"
 "Select your backup device.\n"
@@ -114,7 +113,7 @@ msgid ""
 msgstr ""
 "\n"
 "Selezionare il supporto per il backup.\n"
-"Supporto corrente:"
+"Supporto corrente: "
 
 #
 msgid ""
@@ -136,13 +135,11 @@ msgstr ""
 msgid " "
 msgstr " "
 
-#
 msgid " Results"
-msgstr "Risultati"
+msgstr " Risultati"
 
-#
 msgid " extensions."
-msgstr "Estensioni"
+msgstr " estensioni"
 
 #
 msgid " packages selected."
@@ -564,12 +561,11 @@ msgstr "Informazioni..."
 msgid "Accesspoint:"
 msgstr "Accesspoint:"
 
-#
 msgid "Action on long powerbutton press"
-msgstr "Su press. prolungata tasto Power"
+msgstr "Su press. prolungata tasto power"
 
 msgid "Action on short powerbutton press"
-msgstr "Su press. breve tasto Power"
+msgstr "Su press. breve tasto power"
 
 #
 msgid "Action:"
@@ -655,21 +651,19 @@ msgstr "Aggiungere al bouquet"
 msgid "Add to favourites"
 msgstr "Aggiungere a preferiti"
 
-#
 msgid "Add zap timer instead of record timer?"
-msgstr "Aggiungere un timer \"zap\" invece di un timer registrazione?"
+msgstr "Aggiungere un timer zap invece di un timer registrazione?"
 
 #
 msgid "Added: "
 msgstr "Aggiunti: "
 
-#
 msgid ""
 "Adds enigma2 settings and dreambox model informations like SN, rev... if "
 "enabled."
 msgstr ""
-"Se abilitate, informazioni come Modello, Numero di Serie, rev., ecc. "
-"verranno incluse."
+"Se abilitate, informazioni come SN, rev., conf. di enigma2 ecc. verranno "
+"incluse."
 
 #
 msgid "Adds network configuration if enabled."
@@ -887,25 +881,21 @@ msgstr "Configurazione sincronismo audio"
 msgid "Australia"
 msgstr "Australia"
 
-#
 msgid "Author: "
-msgstr "Autore"
+msgstr "Autore"
 
-#
 msgid "Authoring mode"
-msgstr "Modalità Authoring"
+msgstr "Modalità authoring"
 
 #
 msgid "Auto"
 msgstr "Auto"
 
-#
 msgid "Auto chapter split every ? minutes (0=never)"
-msgstr "Divisione automatica capitoli ogni \"x\" minuti (0=mai)"
+msgstr "Divisione automatica capitoli ogni x minuti (0=mai)"
 
-#
 msgid "Auto flesh"
-msgstr "Correzione colore automatica (Auto flesh)"
+msgstr "Correzione colore automatica (auto flesh)"
 
 #
 msgid "Auto scart switching"
@@ -939,9 +929,8 @@ msgstr "Automatico"
 msgid "Automatic Scan"
 msgstr "Ricerca automatica"
 
-#
 msgid "Autos & Vehicles"
-msgstr "Auto & veicoli"
+msgstr "Auto & Veicoli"
 
 #
 msgid "Autowrite timer"
@@ -1003,9 +992,8 @@ msgstr "Banda"
 msgid "Bandwidth"
 msgstr "Banda passante"
 
-#
 msgid "Begin of \"after event\" timespan"
-msgstr "Inizio Intervallo \"dopo l'evento\""
+msgstr "Inizio intervallo dopo l'evento"
 
 #
 msgid "Begin of timespan"
@@ -1015,13 +1003,11 @@ msgstr "Inizio intervallo"
 msgid "Begin time"
 msgstr "Ora inizio"
 
-#
 msgid "Behavior of 'pause' when paused"
-msgstr "Effetto tasto \"Pausa\", quando in pausa"
+msgstr "Effetto tasto pausa, quando in pausa"
 
-#
 msgid "Behavior of 0 key in PiP-mode"
-msgstr "Effetto tasto \"0\" in modalità PiP"
+msgstr "Effetto tasto 0 in modalità PiP"
 
 #
 msgid "Behavior when a movie is started"
@@ -1063,9 +1049,8 @@ msgstr "Brasile"
 msgid "Brightness"
 msgstr "Luminosità"
 
-#
 msgid "Browse network neighbourhood"
-msgstr "Sfogliare Risorse di rete"
+msgstr "Sfogliare risorse di rete"
 
 #
 msgid "Burn DVD"
@@ -1147,9 +1132,8 @@ msgstr "Card"
 msgid "Catalan"
 msgstr "Catalano"
 
-#
 msgid "Center screen at the lower border"
-msgstr "Centrare "
+msgstr "Centrare lo schermo al bordo inferiore"
 
 #
 msgid "Center screen at the upper border"
@@ -1171,9 +1155,8 @@ msgstr "Cambiare i margini registrazione predefiniti?"
 msgid "Change dir."
 msgstr "Camb. dir."
 
-#
 msgid "Change hostname"
-msgstr "Cambiare nome Host"
+msgstr "Cambiare nome host"
 
 #
 msgid "Change pin code"
@@ -1207,7 +1190,6 @@ msgstr "Canale"
 msgid "Channel Selection"
 msgstr "Selezione canale"
 
-#
 msgid "Channel audio:"
 msgstr "Canale audio: "
 
@@ -1407,6 +1389,9 @@ msgstr "Completo"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Complessa (permette mix tracce audio e aspetti)"
 
+msgid "Composition of the recording filenames"
+msgstr "Struttura nomi dei file registrazione"
+
 #
 msgid "Configuration Mode"
 msgstr "Modalità config."
@@ -1532,13 +1517,11 @@ msgstr "Creare DVD-ISO"
 msgid "Create a new AutoTimer."
 msgstr "Creare un nuovo AutoTimer."
 
-#
 msgid "Create a new timer using the classic editor"
-msgstr "Impostare un nuovo timer con Editor classico"
+msgstr "Impostare un nuovo timer con editor classico"
 
-#
 msgid "Create a new timer using the wizard"
-msgstr "Impostare un nuovo timer usando Conf. Guidata"
+msgstr "Impostare un nuovo timer usando la conf. guidata"
 
 #
 msgid "Create movie folder failed"
@@ -1586,17 +1569,14 @@ msgstr "Destinazione personalizzata"
 msgid "Custom offset"
 msgstr "Margine personalizzato"
 
-#
 msgid "Custom skip time for '1'/'3'-keys"
-msgstr "Salto di tempo per i tasti \"1\"-\"3\""
+msgstr "Salto di tempo per i tasti 1-3"
 
-#
 msgid "Custom skip time for '4'/'6'-keys"
-msgstr "Salto di tempo per i tasti \"4\"-\"6\""
+msgstr "Salto di tempo per i tasti 4-6"
 
-#
 msgid "Custom skip time for '7'/'9'-keys"
-msgstr "Salto di tempo per i tasti \"7\"-\"9\""
+msgstr "Salto di tempo per i tasti 7-9"
 
 #
 msgid "Customize"
@@ -1798,7 +1778,6 @@ msgstr "Composizione:"
 msgid "Digital contour removal"
 msgstr "Rimozione contorni"
 
-#
 msgid "Dir:"
 msgstr "Dir: "
 
@@ -1879,14 +1858,13 @@ msgstr "Display e Interfaccia utente"
 msgid "Display search results by:"
 msgstr "Mostrare i risultati della ricerca per:"
 
-#
 #, python-format
 msgid ""
 "Do you really want to REMOVE\n"
 "the plugin \"%s\"?"
 msgstr ""
 "Si conferma la rimozione\n"
-"del plugin \"%s\"?"
+"del plugin %s?"
 
 #
 msgid ""
@@ -1943,13 +1921,11 @@ msgstr "Effettuare una ricerca canali?"
 msgid "Do you want to do another manual service scan?"
 msgstr "Effettuare un'altra ricerca canali manuale?"
 
-#
 msgid "Do you want to enable the parental control feature on your dreambox?"
-msgstr "Attivare la funzione di Controllo parentale?"
+msgstr "Attivare la funzione di controllo parentale?"
 
-#
 msgid "Do you want to enter a username and password for this host?\n"
-msgstr "Utilizzare nome User e Password per questo Host?\n"
+msgstr "Utilizzare nome user e password per questo host?\n"
 
 #
 msgid "Do you want to install default sat lists?"
@@ -1967,9 +1943,8 @@ msgstr "Riprodurre il DVD inserito?"
 msgid "Do you want to preview this DVD before burning?"
 msgstr "Mostrare l'anteprima del DVD prima di masterizzare?"
 
-#
 msgid "Do you want to reboot your Dreambox?"
-msgstr "Riavviare il DreamBox?"
+msgstr "Riavviare il Dreambox?"
 
 #
 msgid "Do you want to remove the package:\n"
@@ -1995,9 +1970,8 @@ msgstr ""
 "Includere i propri dati (nome e indirizzo email) in modo da poter essere "
 "contattati, se necessario?"
 
-#
 msgid "Do you want to update your Dreambox?"
-msgstr "Aggiornare il DreamBox?"
+msgstr "Aggiornare il Dreambox?"
 
 #
 msgid ""
@@ -2249,9 +2223,8 @@ msgstr "Abilitare autenticazione streaming"
 msgid "Enable multiple bouquets"
 msgstr "Abilitare bouquet multipli"
 
-#
 msgid "Enable parental control"
-msgstr "Attivare il Controllo parentale"
+msgstr "Attivare il controllo parentale"
 
 #
 msgid ""
@@ -2301,9 +2274,8 @@ msgstr "Tipo codifica"
 msgid "Encryption:"
 msgstr "Codifica:"
 
-#
 msgid "End of \"after event\" timespan"
-msgstr "Fine Intervallo \"dopo l'evento\""
+msgstr "Fine intervallo dopo l'evento"
 
 #
 msgid "End of timespan"
@@ -2357,22 +2329,18 @@ msgstr "Menu principale..."
 msgid "Enter new hostname for your Dreambox"
 msgstr "Inserire il nuovo nome Host per il Dreambox"
 
-#
 msgid "Enter options:"
 msgstr "Inserire opzioni: "
 
-#
 msgid "Enter password:"
-msgstr "Inserire Password: "
+msgstr "Inserire password: "
 
 msgid "Enter pin code"
 msgstr "Inserire il codice PIN"
 
-#
 msgid "Enter share directory:"
 msgstr "Inserire cartella condivisa: "
 
-#
 msgid "Enter share name:"
 msgstr "Inserire nome condivisione: "
 
@@ -2380,13 +2348,11 @@ msgstr "Inserire nome condivisione: "
 msgid "Enter the service pin"
 msgstr "Inserire il codice PIN canale"
 
-#
 msgid "Enter user and password for host: "
-msgstr "Inserire User e Password per l'Host: "
+msgstr "Inserire user e password per l'host: "
 
-#
 msgid "Enter username:"
-msgstr "Inserire nome User: "
+msgstr "Inserire nome user: "
 
 #
 msgid "Enter your email address so that we can contact you if needed."
@@ -2427,9 +2393,8 @@ msgstr "Estone"
 msgid "Eventview"
 msgstr "Vista eventi"
 
-#
 msgid "Everything is fine"
-msgstr "Tutto OK!"
+msgstr "Tutto Ok!"
 
 #
 msgid "Exact match"
@@ -2585,10 +2550,10 @@ msgid ""
 "it's Description.\n"
 "Press BLUE to add a new restriction and YELLOW to remove the selected one."
 msgstr ""
-"I Filtri rappresentano un altro potente strumento per la ricerca di eventi. "
-"Un Autotimer può essere circoscritto a determinati giorni della settimana o "
-"alla corrispondenza ad esempio al testo contenuto nella sua Descrizione.\n"
-"Premere BLU per aggiungere una nuova regola, GIALLO per cancellarla."
+"I filtri rappresentano un altro potente strumento per la ricerca di eventi. "
+"Ad esempio, un Autotimer può essere circoscritto a determinati giorni della "
+"settimana o alla corrispondenza al testo contenuto nella sua descrizione.\n"
+"Premere BLU per aggiungere una nuova regola, GIALLO per cancellarla. "
 
 #
 msgid "Finetune"
@@ -2625,7 +2590,7 @@ msgid "Flashing failed"
 msgstr "Flash fallito!"
 
 msgid "Following tasks will be done after you press OK!"
-msgstr "I processi seguenti saranno eseguiti premendo \"Ok\"!"
+msgstr "I processi seguenti saranno eseguiti premendo Ok!"
 
 msgid "Format"
 msgstr "Formattare"
@@ -2753,9 +2718,8 @@ msgstr "Ritardo globale"
 msgid "Goto 0"
 msgstr "Goto 0"
 
-#
 msgid "Goto position"
-msgstr "Posizione Goto"
+msgstr "Posizione goto"
 
 #
 msgid "Graphical Multi EPG"
@@ -2899,15 +2863,13 @@ msgstr ""
 "registrazione effettuata da quest'ultimo avrà già raggiunto almeno l'80% del "
 "totale."
 
-#
 msgid ""
 "If you see this, something is wrong with\n"
 "your scart connection. Press OK to return."
 msgstr ""
 "La connessione SCART non funziona\n"
-"correttamente! Premere OK per uscire."
+"correttamente! Premere Ok per uscire."
 
-#
 msgid ""
 "If your TV has a brightness or contrast enhancement, disable it. If there is "
 "something called \"dynamic\", set it to standard. Adjust the backlight level "
@@ -2920,7 +2882,7 @@ msgid ""
 "If you are happy with the result, press OK."
 msgstr ""
 "Se la TV dispone di un controllo per il miglioramento del contrasto, "
-"disattivarlo. Se dispone di un controllo definito \"Dinamico\", impostarlo a "
+"disattivarlo. Se dispone di un controllo definito [Dinamico], impostarlo a "
 "standard. Regolare la retro-illuminazione ad un livello di gradimento. "
 "Abbassare il più possibile il contrasto.\n"
 "Abbassare al minimo la luminosità, assicurandosi tuttavia che le due "
@@ -3160,10 +3122,10 @@ msgid ""
 "Service (inside a Bouquet).\n"
 "Press BLUE to add a new restriction and YELLOW to remove the selected one."
 msgstr ""
-"E' possibile restringere o escludere la ricerca per un AutoTimer a "
-"determinati Canali o Bouquet.\n"
-"Un evento concorderà un AutoTimer se riferito a un Canale specifico e non "
-"escluso (all'interno di un Bouquet).\n"
+"E' possibile restringere o escludere la ricerca per un AutoTimer su "
+"determinati canali o bouquet.\n"
+"Un evento potrà essere compatibile con un AutoTimer se riferito a un canale "
+"specifico e non escluso (all'interno di un bouquet).\n"
 "Premere il tasto BLU per aggiungere una nuova restrizione, il tasto GIALLO "
 "per cancellarla."
 
@@ -3286,13 +3248,11 @@ msgstr "Limite ovest"
 msgid "Limited character set for recording filenames"
 msgstr "Set di caratteri limitato per i nomi dei file registrazioni"
 
-#
 msgid "Limits off"
-msgstr "Limiti Off"
+msgstr "Limiti off"
 
-#
 msgid "Limits on"
-msgstr "Limiti On"
+msgstr "Limiti on"
 
 #
 msgid "Link Quality:"
@@ -3358,6 +3318,9 @@ msgstr "Salvare log su harddisk"
 msgid "Long Keypress"
 msgstr "Press. prolungata tasto"
 
+msgid "Long filenames"
+msgstr "Nomi estesi"
+
 #
 msgid "Longitude"
 msgstr "Longitudine"
@@ -3390,13 +3353,11 @@ msgstr "Menu principale"
 msgid "Mainmenu"
 msgstr "Menu principale"
 
-#
 msgid "Make this mark an 'in' point"
-msgstr "Contrassegnare come punto \"IN\""
+msgstr "Contrassegnare come punto IN"
 
-#
 msgid "Make this mark an 'out' point"
-msgstr "Contrassegnare come punto \"OUT\""
+msgstr "Contrassegnare come punto OUT"
 
 #
 msgid "Make this mark just a mark"
@@ -3552,9 +3513,8 @@ msgstr "Riduzione sfarfallio"
 msgid "Most discussed"
 msgstr "Più discussi"
 
-#
 msgid "Most linked"
-msgstr "Più \"linkati\""
+msgstr "Più linkati"
 
 #
 msgid "Most popular"
@@ -3748,10 +3708,10 @@ msgstr "PROSSIMI"
 msgid "NFI Image Flashing"
 msgstr "Flash immagine NFI in corso"
 
-#
 msgid "NFI image flashing completed. Press Yellow to Reboot!"
 msgstr ""
-"Inst. imm. completata. E' necessario riavviare, premere il tasto \"Giallo\"!"
+"Installazione immagine NFI completata. Per riavviare, premere il tasto "
+"Giallo!"
 
 #
 msgid "NFS share"
@@ -3831,7 +3791,7 @@ msgid "Network test..."
 msgstr "Test rete..."
 
 msgid "Network test: "
-msgstr "Test della rete:"
+msgstr "Test della rete: "
 
 #
 msgid "Network:"
@@ -3865,9 +3825,8 @@ msgstr "Nuovo codice PIN"
 msgid "New version:"
 msgstr "Nuova versione:"
 
-#
 msgid "News & Politics"
-msgstr "Notizie & politica"
+msgstr "Notizie & Politica"
 
 #
 msgid "Next"
@@ -3991,7 +3950,6 @@ msgstr ""
 msgid "No useable USB stick found"
 msgstr "Nessuna penna USB utilizzabile rilevata!"
 
-#
 msgid ""
 "No valid service PIN found!\n"
 "Do you like to change the service PIN now?\n"
@@ -3999,9 +3957,8 @@ msgid ""
 msgstr ""
 "Nessun codice PIN canale valido trovato!\n"
 "Cambiare il codice PIN canale ora?\n"
-"Scegliendo \"NO\" la protezione del canale sarà disabilitata!"
+"Scegliendo NO la protezione del canale sarà disabilitata!"
 
-#
 msgid ""
 "No valid setup PIN found!\n"
 "Do you like to change the setup PIN now?\n"
@@ -4009,7 +3966,7 @@ msgid ""
 msgstr ""
 "Nessun codice PIN configurazione valido trovato!\n"
 "Cambiare il codice PIN configurazione ora?\n"
-"Scegliendo \"NO\" la protezione configurazione sarà disabilitata!"
+"Scegliendo NO la protezione configurazione sarà disabilitata!"
 
 #
 msgid "No videos to display"
@@ -4069,9 +4026,8 @@ msgstr "No, ma passare alla ricerca filmati"
 msgid "No, do nothing."
 msgstr "No, non fare nulla."
 
-#
 msgid "No, just start my dreambox"
-msgstr "No, riavviare il DreamBox"
+msgstr "No, riavviare il Dreambox"
 
 #
 msgid "No, not now"
@@ -4098,9 +4054,8 @@ msgstr "Nessuno"
 msgid "Nonlinear"
 msgstr "Non lineare"
 
-#
 msgid "Nonprofits & Activism"
-msgstr "Nonprofit & attivismo"
+msgstr "Nonprofit & Volontariato"
 
 #
 msgid "North"
@@ -4135,7 +4090,6 @@ msgstr ""
 msgid "Now Playing"
 msgstr "In riproduzione"
 
-#
 msgid ""
 "Now, use the contrast setting to turn up the brightness of the background as "
 "much as possible, but make sure that you can still see the difference "
@@ -4295,13 +4249,11 @@ msgstr "Controllo parentale"
 msgid "Parental control services Editor"
 msgstr "Editor Controllo parentale canali"
 
-#
 msgid "Parental control setup"
-msgstr "Configurazione Controllo parentale"
+msgstr "Configurazione controllo parentale"
 
-#
 msgid "Parental control type"
-msgstr "Tipo Controllo parentale"
+msgstr "Tipo controllo parentale"
 
 #
 msgid "Password"
@@ -4311,13 +4263,11 @@ msgstr "Password"
 msgid "Pause movie at end"
 msgstr "A termine riproduzione, mettere in pausa"
 
-#
 msgid "People & Blogs"
-msgstr "Gente & blog"
+msgstr "Gente & Blog"
 
-#
 msgid "Pets & Animals"
-msgstr "Cuccioli & animali"
+msgstr "Cuccioli & Animali"
 
 #
 msgid "Phone number"
@@ -4479,13 +4429,11 @@ msgstr "Inserire il proprio indirizzo email:"
 msgid "Please enter your name here (optional):"
 msgstr "Indicare il proprio nome (facoltativo):"
 
-#
 msgid "Please enter your search term."
-msgstr "Inserire le voci di ricerca"
+msgstr "Inserire i criterii di ricerca"
 
-#
 msgid "Please follow the instructions on the TV"
-msgstr "Seguire le istruzioni mostrate sullo schermo."
+msgstr "Seguire le istruzioni mostrate sullo schermo"
 
 #
 msgid ""
@@ -4783,9 +4731,8 @@ msgstr "OK -> attivare configurazione."
 msgid "Press OK to collapse this host"
 msgstr "Ok -> Collassare l'host."
 
-#
 msgid "Press OK to edit selected settings."
-msgstr "Ok -> Modificare configurazione selezionata."
+msgstr "Ok -> Modificare la configurazione selezionata."
 
 #
 msgid "Press OK to edit the settings."
@@ -4900,9 +4847,8 @@ msgstr "Provider"
 msgid "Published"
 msgstr "Pubblicato"
 
-#
 msgid "Python frontend for /tmp/mmi.socket"
-msgstr "Frontend Python per /tmp/mmi.socket"
+msgstr "Frontend python per /tmp/mmi.socket"
 
 #
 msgid "Quick"
@@ -4939,13 +4885,11 @@ msgstr "Disco Ram"
 msgid "Random"
 msgstr "Casuale"
 
-#
 msgid "Rating"
-msgstr "Valutazioni"
+msgstr "Valutazione"
 
-#
 msgid "Ratings: "
-msgstr "Valutazioni: "
+msgstr "Votii: "
 
 #
 msgid "Really close without saving settings?"
@@ -4991,9 +4935,8 @@ msgstr "Configurazione ricezione"
 msgid "Record"
 msgstr "Registrare"
 
-#
 msgid "Record a maximum of x times"
-msgstr "Registrare per un massimo di \"x\" volte"
+msgstr "Registrare per un massimo di x volte"
 
 #
 msgid "Record on"
@@ -5156,9 +5099,8 @@ msgstr "Richiesta descrizione univoca"
 msgid "Required medium type:"
 msgstr "Tipo di supporto richiesto:"
 
-#
 msgid "Rescan"
-msgstr "Ripetere Ricerca"
+msgstr "Ripetere ricerca"
 
 #
 msgid "Reset"
@@ -5392,9 +5334,8 @@ msgstr "Nitidezza scaler"
 msgid "Scaling Mode"
 msgstr "Modalità scaling"
 
-#
 msgid "Scan "
-msgstr "Ricerca"
+msgstr "Ricerca "
 
 #
 msgid "Scan Files..."
@@ -5514,13 +5455,11 @@ msgstr ""
 "Ricerca lamedb predefiniti, ordinati per satellite, tramite parabola "
 "motorizzata"
 
-#
 msgid "Science & Technology"
-msgstr "Scienza e tecnologia"
+msgstr "Scienza e Tecnologia"
 
-#
 msgid "Search Term(s)"
-msgstr "Voci di ricerca"
+msgstr "Criteri di ricerca"
 
 #
 msgid "Search category:"
@@ -5575,7 +5514,7 @@ msgid "Secondary DNS"
 msgstr "DNS Secondario"
 
 msgid "Security service not running."
-msgstr "Il Servizio di sicurezza non è attivo."
+msgstr "Il servizio di sicurezza non è attivo."
 
 #
 msgid "Seek"
@@ -5585,13 +5524,12 @@ msgstr "Ricerca"
 msgid "Select"
 msgstr "Selezionare"
 
-#
 msgid ""
 "Select \"exact match\" to enforce \"Match title\" to match exactly or "
 "\"partial match\" if you only want to search for a part of the event title."
 msgstr ""
-"Selezionare \"Corrispondenza esatta\" per un confronto letterale, "
-"\"Corrispondenza parziale\" per un confronto anche solo parziale del titolo."
+"Selezionare [Corrispondenza esatta] per un confronto letterale, "
+"[Corrispondenza parziale] per un confronto anche solo parziale del titolo."
 
 #
 msgid "Select HDD"
@@ -5719,9 +5657,8 @@ msgstr "Inviare DiSEqC"
 msgid "Send DiSEqC only on satellite change"
 msgstr "Inviare DiSEqC solo su cambio satellite"
 
-#
 msgid "Seperate titles with a main menu"
-msgstr "Separare i titoli con un Menu principale"
+msgstr "Separare i titoli con un menu principale"
 
 #
 msgid "Sequence repeat"
@@ -5735,9 +5672,8 @@ msgstr "Serbo"
 msgid "Server IP"
 msgstr "IP Server"
 
-#
 msgid "Server share"
-msgstr "Condivisione Server"
+msgstr "Condivisione server"
 
 #
 msgid "Service"
@@ -5791,9 +5727,8 @@ msgstr ""
 "Canale non disponibile!\n"
 "Controllare la configurazione tuner!"
 
-#
 msgid "Serviceinfo"
-msgstr "Info Canale"
+msgstr "Info canale"
 
 #
 msgid "Services"
@@ -5816,9 +5751,8 @@ msgstr ""
 msgid "Set delay to %i ms (can be set)"
 msgstr "Regolare il ritardo a %i ms (configurabili)"
 
-#
 msgid "Set interface as default Interface"
-msgstr "-> interfaccia come predefinita"
+msgstr "-> interfaccia predefinita"
 
 #
 msgid "Set limits"
@@ -5828,9 +5762,8 @@ msgstr "Impostare limiti"
 msgid "Set maximum duration"
 msgstr "Configurazione durata massima"
 
-#
 msgid "Set this NO to disable this AutoTimer."
-msgstr "Selezionare No per disabilitare AutoTimer."
+msgstr "No -> disabilitare AutoTimer."
 
 #
 msgid "Setting key canceled"
@@ -5864,9 +5797,11 @@ msgstr ""
 msgid "Sharpness"
 msgstr "Nitidezza"
 
-#
 msgid "Short Movies"
-msgstr "Corti"
+msgstr "Cortometraggi"
+
+msgid "Short filenames"
+msgstr "Nomi brevi"
 
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
@@ -5938,7 +5873,6 @@ msgstr "Radio..."
 msgid "Show the tv player..."
 msgstr "TV..."
 
-#
 msgid "Shows the state of your wireless LAN connection.\n"
 msgstr "Mostrare lo stato della connessione di rete wireless.\n"
 
@@ -5954,9 +5888,8 @@ msgstr "Spegnere il DreamBox dopo"
 msgid "Signal Strength:"
 msgstr "Potenza Segnale:"
 
-#
 msgid "Signal: "
-msgstr "Segnale:"
+msgstr "Segnale: "
 
 #
 msgid "Similar"
@@ -6006,7 +5939,6 @@ msgstr "Skin..."
 msgid "Sleep Timer"
 msgstr "Timer di spegnimento"
 
-#
 msgid "Sleep timer action:"
 msgstr "Azione: "
 
@@ -6182,9 +6114,8 @@ msgstr "Avvio il"
 msgid "Std. Feeds"
 msgstr "Feed std."
 
-#
 msgid "Step east"
-msgstr "Passo a Est"
+msgstr "Passo a est"
 
 #
 msgid "Step in ms for arrow keys"
@@ -6195,14 +6126,12 @@ msgstr "Passo tasti cursore (ms):"
 msgid "Step in ms for key %i"
 msgstr "Passo tasto %i (ms):"
 
-#
 #, python-format
 msgid "Step in ms for keys '%s'"
-msgstr "Passo in ms per il tasto \"%s\""
+msgstr "Passo in ms per il tasto %s"
 
-#
 msgid "Step west"
-msgstr "Passo a Ovest"
+msgstr "Passo a ovest"
 
 #
 msgid "Stereo"
@@ -6232,13 +6161,11 @@ msgstr "Arrestare la riproduzione?"
 msgid "Stop test"
 msgstr "Arrestare il test"
 
-#
 msgid "Stop testing plane after # failed transponders"
-msgstr "Arrestare il test dopo \"#\" transponder falliti"
+msgstr "Arrestare il test dopo # transponder falliti"
 
-#
 msgid "Stop testing plane after # successful transponders"
-msgstr "Arrestare il test dopo \"#\" transponder controllati correttamente"
+msgstr "Arrestare il test dopo # transponder controllati correttamente"
 
 #
 msgid "Store position"
@@ -6272,9 +6199,8 @@ msgstr "Dom"
 msgid "Sunday"
 msgstr "Domenica"
 
-#
 msgid "Swap Services"
-msgstr "Scambio canali"
+msgstr "Scambiare canali"
 
 #
 msgid "Sweden"
@@ -6310,12 +6236,12 @@ msgstr "Sistema"
 #. TRANSLATORS: Add here whatever should be shown in the "translator" about screen, up to 6 lines (use \n for newline)
 msgid "TRANSLATOR_INFO"
 msgstr ""
-"#           Traduzione italiana             #\n"
-"#          enigma2 - Dreambox         #\n"
-"#           a cura di Dario Croci          #\n"
-"#                www.linsat.net               #\n"
-"#   Supporto:  spaeleus@croci.org   #\n"
-"#  aggiornamento: 14 maggio 2010   #"
+"Traduzione italiana\n"
+"enigma2 - Dreambox\n"
+"a cura di Dario Croci\n"
+"www.linsat.net\n"
+"Supporto: spaeleus@croci.org\n"
+"aggiornamento: 16 giugno 2010"
 
 #
 msgid "TS file is too large for ISO9660 level 1!"
@@ -6405,13 +6331,12 @@ msgstr ""
 "Grazie per aver usato questo wizard. Il DreamBox ora è pronto.\n"
 "Premere OK per iniziare ad usarlo."
 
-#
 msgid ""
 "Thank you for using the wizard. Your new AutoTimer has been added to the "
 "List.\n"
 "Please press OK to continue."
 msgstr ""
-"Grazie per aver usato la Configurazione Guidata. Un nuovo Autotimer è stato\n"
+"Grazie per aver usato la configurazione guidata. Un nuovo Autotimer è stato\n"
 "aggiunto alla lista. Premere OK per continuare."
 
 #
@@ -6447,13 +6372,12 @@ msgstr ""
 "Il timer non sarà aggiunto alla lista.\n"
 "Premere OK per chiudere la configurazione."
 
-#
 msgid ""
 "The Timespan of an AutoTimer is the first 'advanced' attribute. If a "
 "timespan is specified an event will only match this AutoTimer if it lies "
 "inside of this timespan."
 msgstr ""
-"L'Intervallo di un AutoTimer è il primo attributo \"avanzato\". Se viene "
+"L'Intervallo di un AutoTimer è il primo attributo avanzato. Se viene "
 "specificato un intervallo verranno considerati validi solo gli eventi "
 "previsti all'interno di tale intervallo temporale."
 
@@ -6475,14 +6399,13 @@ msgid ""
 msgstr ""
 "Il contatore può essere automaticamente resettato a intervalli prefissati."
 
-#
 #, python-format
 msgid ""
 "The directory %s is not writable.\n"
 "Make sure you select a writable directory instead."
 msgstr ""
 "La directory %s è in sola lettura.\n"
-"Controllare di aver scelto una directory  in cui si possa scrivere."
+"Controllare di aver scelto una directory in cui sia possibile scrivere."
 
 #
 msgid ""
@@ -6597,12 +6520,11 @@ msgstr "Timer di spegnimento disattivato!"
 msgid "The timer file (timers.xml) is corrupt and could not be loaded."
 msgstr "File Timer (timers.xml) corrotto: NON caricabile!"
 
-#
 msgid ""
 "The wireless LAN plugin is not installed!\n"
 "Please install it and choose what you want to do next."
 msgstr ""
-"Il plugin \"WirelessLan\" non è installato!\n"
+"Il plugin WirelessLan non è installato!\n"
 "Installarlo per poterlo configurare."
 
 #
@@ -6643,9 +6565,8 @@ msgstr "L'immagine non dispone di alcuna configurazione predefinita!"
 msgid "There are no updates available."
 msgstr "Nessun aggiornamento disponibile."
 
-#
 msgid "There are now "
-msgstr "Ora"
+msgstr "Ora ci sono "
 
 #
 msgid ""
@@ -6689,13 +6610,12 @@ msgstr ""
 "funzionamento. Procedere comunque con l'installazione dell'immagine sulla "
 "memoria flash?"
 
-#
 msgid ""
 "This .NFI file has a valid md5 signature. Continue programming this image to "
 "flash memory?"
 msgstr ""
-"Il file .nfi possiede una firma md5 valida. Procedere comunque con "
-"l'installazione dell'immagine sulla memoria flash?"
+"Il file .nfi possiede una firma md5 valida. Procedere con l'installazione "
+"dell'immagine sulla memoria flash?"
 
 #
 msgid ""
@@ -6773,7 +6693,6 @@ msgstr ""
 "Indicare il comportamento da adottare nel caso in cui un timer corrisponda a "
 "un evento trovato."
 
-#
 msgid ""
 "This test checks for configured Nameservers.\n"
 "If you get a \"unconfirmed\" message:\n"
@@ -6781,13 +6700,12 @@ msgid ""
 "- if you configured your Nameservers manually please verify your entries in "
 "the \"Nameserver\" Configuration"
 msgstr ""
-"Questo test verifica la configurazione dei \"Nameserver\".\n"
-"Se si ottiene il messaggio \"non confermato\":\n"
+"Questo test verifica la configurazione dei Nameserver.\n"
+"Se si ottiene il messaggio [non confermato]:\n"
 "- Verificare la configurazione della scheda, del DHCP e dei cavi;\n"
-"- Se i \"Nameserver\" sono stati configurati manualmente verificare le voci "
-"della configurazione \"Nameserver\"."
+"- Se i Nameserver sono stati configurati manualmente verificare le voci "
+"della configurazione Nameserver."
 
-#
 msgid ""
 "This test checks whether a network cable is connected to your LAN-Adapter.\n"
 "If you get a \"disconnected\" message:\n"
@@ -6795,11 +6713,10 @@ msgid ""
 "- verify that the cable is not broken"
 msgstr ""
 "Questo test verifica la funzionalità della connessione di rete cablata.\n"
-"Se si ottiene il messaggio \"non connesso\":\n"
+"Se si ottiene il messaggio [non connesso]:\n"
 "- Verificare che il cavo sia collegato correttamente;\n"
 "- Verificare che il cavo sia integro e del tipo adatto."
 
-#
 msgid ""
 "This test checks whether a valid IP Address is found for your LAN Adapter.\n"
 "If you get a \"unconfirmed\" message:\n"
@@ -6808,11 +6725,10 @@ msgid ""
 msgstr ""
 "Questo test verifica che alla scheda venga assegnato un indirizzo IP "
 "valido.\n"
-"Se si ottiene il messaggio \"non confermato\":\n"
+"Se si ottiene il messaggio [non confermato]:\n"
 "- Non è stato trovato un indirizzo valido;\n"
 "- Controllare il servizio DHCP, i cavi e la configurazione della scheda."
 
-#
 msgid ""
 "This test checks whether your LAN Adapter is set up for automatic IP Address "
 "configuration with DHCP.\n"
@@ -6825,12 +6741,12 @@ msgid ""
 msgstr ""
 "Questo test verifica se la connessione di rete locale è configurata per "
 "l'assegnazione automatica IP tramite DHCP.\n"
-"Se si ottiene il messaggio \"Disabilitato\":\n"
+"Se si ottiene il messaggio [Disabilitato]:\n"
 "- La rete locale è configuata per utilizzare l'assegnazione manuale "
 "dell'indirizzo IP;\n"
 "- Verificare di aver inserito le informazioni corrette nel menu di "
 "configurazione della rete.\n"
-"Se si ottiene il messaggio \"Abilitato\":\n"
+"Se si ottiene il messaggio [Abilitato]:\n"
 "- Verificare che il servizio DHCP sulla rete sia configurato correttamente e "
 "operativo."
 
@@ -6838,7 +6754,6 @@ msgstr ""
 msgid "This test detects your configured LAN-Adapter."
 msgstr "Questo test individua la scheda di rete locale installata."
 
-#
 msgid ""
 "This toggles the behavior on timer conflicts. If an AutoTimer matches an "
 "event that conflicts with an existing timer it will not ignore this event "
@@ -6846,7 +6761,7 @@ msgid ""
 msgstr ""
 "Indicare il comportamento da tenere in caso di conflitto timer. Se una "
 "corrispondenza con un evento genera un conflitto di timer, l'evento non "
-"viene ignorato ma aggiunto disabilitato. "
+"viene ignorato ma aggiunto disabilitato."
 
 #
 msgid "Three"
@@ -7036,9 +6951,8 @@ msgstr "Transponder"
 msgid "Transponder Type"
 msgstr "Tipo transponder"
 
-#
 msgid "Travel & Events"
-msgstr "Viaggi & eventi"
+msgstr "Viaggi & Eventi"
 
 #
 msgid "Tries left:"
@@ -7135,7 +7049,7 @@ msgid ""
 "USB stick wizard finished. Your dreambox will now restart with your new "
 "image!"
 msgstr ""
-"La configurazione guidata è terminata. Il dreambox ora verrà riavviato con "
+"La configurazione guidata è terminata. Ora il dreambox verrà riavviato con "
 "la nuova immagine!"
 
 #
@@ -7200,14 +7114,13 @@ msgstr "LNB Universale"
 msgid "Unknown network adapter."
 msgstr "Interfaccia di rete sconosciuta."
 
-#
 msgid ""
 "Unless this is enabled AutoTimer will NOT automatically look for events "
 "matching your AutoTimers but only when you leave the GUI with the green "
 "button."
 msgstr ""
-"Se non abilitata, AutoTimer NON verificherà automaticamente una "
-"corrispondenza eventi. Tale verifica sarà eseguita solo dopo la pressione "
+"AutoTimer NON verificherà automaticamente una corrispondenza eventi se tale "
+"funzione non è abilitata. Tale verifica sarà eseguita solo dopo la pressione "
 "del tasto verde."
 
 #
@@ -7234,7 +7147,7 @@ msgstr ""
 "non dovrebbe richiedere di aggiornare nuovamente."
 
 msgid "Updatefeed not available."
-msgstr " Feed aggiornamenti non disponibile."
+msgstr "Feed aggiornamenti non disponibile."
 
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 150
 msgid ""
@@ -7243,7 +7156,6 @@ msgstr ""
 "Aggiornamento fallito. Nulla di grave, ma l'aggiornamento non può essere "
 "applicato."
 
-#
 msgid "Updating finished. Here is the result:"
 msgstr "Aggiornamento terminato. Esito: "
 
@@ -7363,17 +7275,14 @@ msgstr "Tipo ricerca canali in uso"
 msgid "User defined"
 msgstr "Definito dall'utente"
 
-#
 msgid "User management"
-msgstr "Gestione User"
+msgstr "Gestione user"
 
-#
 msgid "Usermanager"
-msgstr "Gestione User"
+msgstr "Gestione user"
 
-#
 msgid "Username"
-msgstr "Nome User"
+msgstr "Nome user"
 
 #
 msgid "VCR scart"
@@ -7444,7 +7353,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr "Selezione modalità video."
 
-#
 msgid "Videobrowser exit behavior:"
 msgstr "Comportamento browser video su uscita: "
 
@@ -7452,7 +7360,6 @@ msgstr "Comportamento browser video su uscita: "
 msgid "Videoenhancement Setup"
 msgstr "Miglioramento immagine"
 
-#
 msgid "Videoplayer stop/exit behavior:"
 msgstr "Comportamento player video su stop/uscita: "
 
@@ -7484,9 +7391,8 @@ msgstr "Visualizzare i download attivi"
 msgid "View details"
 msgstr "Dettagli..."
 
-#
 msgid "View list of available "
-msgstr "Visualizzare elenco disponibilità."
+msgstr "Visualizzare elenco disponibilità "
 
 #
 msgid "View list of available CommonInterface extensions"
@@ -7551,9 +7457,8 @@ msgstr "Televideo..."
 msgid "View, edit or delete mountpoints on your Dreambox."
 msgstr "Vedere, modificare o cancellare mount point sul Dreambox."
 
-#
 msgid "View, edit or delete usernames and passwords for your network."
-msgstr "Vedere, modificare o cancellare nome User e Password per la rete."
+msgstr "Vedere, modificare o cancellare nome user e password per la rete."
 
 #
 msgid "Views: "
@@ -7645,7 +7550,6 @@ msgstr "Settimanale (Lunedì)"
 msgid "Weekly (Sunday)"
 msgstr "Settimanale (Domenica)"
 
-#
 msgid ""
 "Welcome to the Cutlist editor.\n"
 "\n"
@@ -7654,26 +7558,24 @@ msgid ""
 "\n"
 "Then seek to the end, press OK, select 'end cut'. That's it."
 msgstr ""
-"Benvenuti nell'Editor elenco tagli.\n"
+"Benvenuti in Cutlist editor.\n"
 "\n"
 "Cercare l'inizio di ciò che si vuole eliminare. Premere OK, selezionare "
-"\"Inizio taglio.\"\n"
+"[Inizio taglio].\n"
 "\n"
-"Successivamente spostarsi alla fine, premere OK, selezionare \"Fine taglio"
-"\". E' tutto."
+"Successivamente spostarsi alla fine, premere OK, selezionare [Fine taglio]. "
+"E' tutto."
 
-#
 msgid ""
 "Welcome to the Image upgrade wizard. The wizard will assist you in upgrading "
 "the firmware of your Dreambox by providing a backup facility for your "
 "current settings and a short explanation of how to upgrade your firmware."
 msgstr ""
-"Benvenuto nella guida per l 'aggiornamento dell'Immagine. Questo wizard "
+"Benvenuto nella guida per l'aggiornamento dell'Immagine. Questo wizard "
 "prevede una guida sull'aggiornamento del firmware del DreamBox attraverso un "
 "backup assistito della configurazione e fornendo informazioni sintetiche "
 "sulla procedura."
 
-#
 msgid ""
 "Welcome to the MyTube Youtube Player.\n"
 "\n"
@@ -7690,7 +7592,7 @@ msgid ""
 msgstr ""
 "Benvenuti in MyTube Youtube Player.\n"
 "\n"
-"BOUQUET+ -> Portare il fuoco sul campo ricerca | BOUQUET- -> Portare il "
+"Bouquet+ -> Portare il fuoco sul campo ricerca | Bouquet- -> Portare il "
 "fuoco sui filmati.\n"
 "\n"
 "Ok -> riprodurre un filmato.\n"
@@ -7723,7 +7625,6 @@ msgstr ""
 "\n"
 "Premere EXIT per tornare alla schermata di inserimento."
 
-#
 msgid ""
 "Welcome to the cleanup wizard.\n"
 "\n"
@@ -7805,7 +7706,6 @@ msgstr ""
 "Abilitando questa funzione AutoTimer non confronterà eventi per cui esiste "
 "già un timer con la medesima descrizione."
 
-#
 msgid ""
 "When you do a factory reset, you will lose ALL your configuration data\n"
 "(including bouquets, services, satellite data ...)\n"
@@ -7861,9 +7761,8 @@ msgstr ""
 "Tramite questa opzione è possibile restringere AutoTimer ad un certo numero "
 "di registrazioni programmate. 0 -> disabilitare la funzione."
 
-#
 msgid "Wizard"
-msgstr "Configurazione Guidata"
+msgstr "Configurazione guidata"
 
 #
 msgid "Write error while recording. Disk full?\n"
@@ -7977,16 +7876,14 @@ msgstr "E' possibile masterizzare solo registrazioni Dreambox!"
 msgid "You can remove this plugin."
 msgstr "E' possibile rimuovere questo plugin."
 
-#
 msgid ""
 "You can set the basic properties of an AutoTimer here.\n"
 "While 'Name' is just a human-readable name displayed in the Overview, 'Match "
 "in title' is what is looked for in the EPG."
 msgstr ""
 "Verranno configurate le proprietà fondamentali per un Autotimer.\n"
-"\"Descrizione\" rappresenta solo la voce mostrata nell'Anteprima, mentre "
-"\"Stringa di confronto\" rappresenta la voce utilizzata per la ricerca "
-"nell'EPG"
+"[Descrizione] rappresenta solo la voce mostrata nell'Anteprima, mentre "
+"[Stringa di confronto] rappresenta la voce utilizzata per la ricerca nell'EPG"
 
 #
 msgid "You cannot delete this!"
@@ -8009,24 +7906,22 @@ msgid ""
 "You chose not to install anything. Please press OK finish the install wizard."
 msgstr "Si è scelto di non installare nulla. Premere OK per uscire."
 
-#
 msgid ""
 "You did not provide a valid 'Match in title' Attribute for your new "
 "AutoTimer.\n"
 "As this is a mandatory Attribute you cannot continue without doing so."
 msgstr ""
-"Non è stata fornita una \"Stringa di confronto\" valida per il nuovo "
+"Non è stata fornita una [Stringa di confronto] valida per il nuovo "
 "AutoTimer!\n"
 "Questo attributo è obbligatorio: non sarà possibile proseguire senza "
 "fornirla!"
 
-#
 #, python-format
 msgid ""
 "You entered \"%s\" as Text to match.\n"
 "Do you want to remove trailing whitespaces?"
 msgstr ""
-"Il testo inserito per il confronto è \"%s\".\n"
+"Il testo inserito per il confronto è %s.\n"
 "Rimuovere gli spazi bianchi finali?"
 
 #
@@ -8046,12 +7941,12 @@ msgstr ""
 "riscrittura delle partizioni. Tutti i dati presenti sulla penna saranno "
 "cancellati!"
 
-#
 msgid ""
 "You have chosen to restore your settings. Enigma2 will restart after "
 "restore. Please press OK to start the restore now."
 msgstr ""
-"Si è scelto di ripristinare la configurazione. Premere OK per iniziare ora"
+"Si è scelto di ripristinare la configurazione. Enigma2 verrà riavviato dopo "
+"il ripristino. Premere OK per iniziare ora"
 
 #
 #, python-format
@@ -8081,7 +7976,6 @@ msgstr ""
 "\n"
 "Configurare un codice PIN ora?"
 
-#
 msgid ""
 "You successfully configured a new AutoTimer. Do you want to add it to the "
 "list?\n"
@@ -8091,16 +7985,15 @@ msgstr ""
 "Un nuovo AutoTimer è stato configurato con successo. Aggiungerlo alla "
 "lista?\n"
 "\n"
-"Per tornare al passo precedente, premere \"EXIT\" sul telecomando."
+"Per tornare al passo precedente, premere EXIT sul telecomando."
 
-#
 msgid ""
 "Your 'Match in title' Attribute ends with a Whitespace.\n"
 "Please confirm if this was intentional, if not they will be removed."
 msgstr ""
-"La \"Stringa di confronto\" fornita termina con uno spazio.\n"
-"Confermare se si tratta di scelta intenzionale, altrimenti lo spazio verrà "
-"rimosso."
+"La stringa di confronto fornita termina con uno spazio.\n"
+"Se si tratta di una scelta intenzionale, confermarla: diversamente lo spazio "
+"verrà rimosso."
 
 #
 msgid ""
@@ -8260,14 +8153,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 tramite GUI"
+msgstr "Assegnazione canali/provider a moduli common interface tramite GUI"
 
-#
 msgid "a gui to assign services/providers/caids to common interface modules"
 msgstr ""
-"Assegnazione Canali/Provider/CAIDs a moduli Common Interface tramite GUI"
+"Assegnazione canali/provider/CAIDs a moduli common interface tramite GUI"
 
 #
 msgid "abort alternatives edit"
@@ -8333,9 +8224,8 @@ msgstr "Aggiungere file alla playlist"
 msgid "add files to playlist"
 msgstr "Aggiungere file alla playlist"
 
-#
 msgid "add filters"
-msgstr "Agg. Filtri"
+msgstr "Agg. filtri"
 
 #
 msgid "add marker"
@@ -8365,13 +8255,11 @@ msgstr "Aggiungere canale al bouquet"
 msgid "add service to favourites"
 msgstr "Aggiungere canale a preferiti"
 
-#
 msgid "add services"
-msgstr "Agg. Canali"
+msgstr "Agg. canali"
 
-#
 msgid "add to parental protection"
-msgstr "Aggiungere al Controllo parentale"
+msgstr "Aggiungere al controllo parentale"
 
 #
 msgid "advanced"
@@ -8444,11 +8332,9 @@ msgstr "Blu"
 msgid "burn audio track (%s)"
 msgstr "Masterizzare traccia audio (%s)"
 
-#
 msgid "case-insensitive search"
 msgstr "Non distinguere Maiusc. - minusc."
 
-#
 msgid "case-sensitive search"
 msgstr "Distinguere Maiusc. - minusc."
 
@@ -8580,13 +8466,11 @@ msgstr "Fatto!"
 msgid "edit alternatives"
 msgstr "Edit alternative"
 
-#
 msgid "edit filters"
-msgstr "Mod. Filtri"
+msgstr "Mod. filtri"
 
-#
 msgid "edit services"
-msgstr "Mod. Canali"
+msgstr "Mod. canali"
 
 #
 msgid "empty"
@@ -8696,17 +8580,15 @@ msgstr "Libero"
 msgid "free diskspace"
 msgstr "di spazio libero su disco"
 
-#
 msgid "go to deep standby"
-msgstr "Spegnimento (Deep standby)"
+msgstr "Spegnimento (deep standby)"
 
 #
 msgid "go to standby"
 msgstr "Standby"
 
-#
 msgid "grab this frame as bitmap"
-msgstr "\"Grab\" dell'mmagine come bitmap"
+msgstr "Grab dell'mmagine come bitmap"
 
 #
 msgid "green"
@@ -8744,17 +8626,14 @@ msgstr "Ore"
 msgid "immediate shutdown"
 msgstr "Spegnimento immediato"
 
-#
 msgid "in Description"
-msgstr "Nella Descrizione"
+msgstr "Nella descrizione"
 
-#
 msgid "in Shortdescription"
-msgstr "Nella Descrizione breve"
+msgstr "Nella descrizione breve"
 
-#
 msgid "in Title"
-msgstr "Nel Titolo"
+msgstr "Nel titolo"
 
 #
 msgid "init module"
@@ -9014,13 +8893,11 @@ msgstr "Pausa"
 msgid "play entry"
 msgstr "Riprodurre voce"
 
-#
 msgid "play from next mark or playlist entry"
-msgstr "Riprodurre da contrassegno successivo o da voce in playlist"
+msgstr "Riprodurre da contrassegno/voce in playlist successiva"
 
-#
 msgid "play from previous mark or playlist entry"
-msgstr "Riprodurre da contrassegno precedente o da voce in playlist"
+msgstr "Riprodurre da contrassegno/voce in playlist precedente"
 
 #
 msgid "please press OK when ready"
@@ -9082,9 +8959,8 @@ msgstr "Rimuovere cartella"
 msgid "remove entry"
 msgstr "Rimuovere voce"
 
-#
 msgid "remove from parental protection"
-msgstr "Rimuovere dal Controllo parentale"
+msgstr "Rimuovere dal controllo parentale"
 
 #
 msgid "remove new found flag"
@@ -9098,9 +8974,8 @@ msgstr "Rimuovere il satellite selezionato"
 msgid "remove this mark"
 msgstr "Rimuovere contrassegno"
 
-#
 msgid "repeat playlist"
-msgstr "Ripetere Playlist"
+msgstr "Ripetere playlist"
 
 #
 msgid "repeated"
@@ -9207,9 +9082,8 @@ msgstr "Mostrare il Menu principale DVD"
 msgid "show EPG..."
 msgstr "EPG..."
 
-#
 msgid "show Infoline"
-msgstr "Mostrare Info"
+msgstr "Mostrare info"
 
 #
 msgid "show all"
@@ -9374,17 +9248,15 @@ msgstr "Colore testo"
 msgid "this recording"
 msgstr "Questa registrazione"
 
-#
 msgid "this service is protected by a parental control pin"
-msgstr "Canale protetto da codice PIN (Controllo parentale)."
+msgstr "Canale protetto da codice PIN (controllo parentale)."
 
 #
 msgid "toggle a cut mark at the current position"
 msgstr "Commutare contrassegno di taglio qui"
 
-#
 msgid "toggle time, chapter, audio, subtitle info"
-msgstr "Info tempo, capitolo, audio, sottotitoli -> On/Off"
+msgstr "Info tempo, capitolo, audio, sottotitoli -> on/off"
 
 #
 msgid "unavailable"
index 4f8af64..f920f70 100755 (executable)
--- a/po/lt.po
+++ b/po/lt.po
@@ -3,8 +3,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
-"PO-Revision-Date: 2010-05-15 07:31+0200\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
+"PO-Revision-Date: 2010-06-16 07:13+0200\n"
 "Last-Translator: Adga <audrgrin@takas.lt>\n"
 "Language-Team: Adga / enigma2 (c) <audrgrin@takas.lt>\n"
 "Language: lt\n"
@@ -98,7 +98,6 @@ msgstr ""
 "\n"
 "Atkurti jūsų atsarginę kopiją pagal datą."
 
-#
 msgid ""
 "\n"
 "Scan for local extensions and install them."
@@ -113,7 +112,7 @@ msgid ""
 msgstr ""
 "\n"
 "Pasirinkite jūsų atsarginės kopijos įrenginį.\n"
-"Dabartinis įrenginys: "
+"Dabartinis įrenginys:"
 
 msgid ""
 "\n"
@@ -129,24 +128,23 @@ msgstr ""
 "\n"
 "Peržiūrėkite, įdiekite ir pašalinkite esamus arba įdiegtus paketus."
 
-#
 msgid " "
-msgstr " "
+msgstr ""
 
 msgid " Results"
-msgstr " Rezultatai"
+msgstr "Rezultatai"
 
 msgid " extensions."
-msgstr " išplėtimai."
+msgstr "išplėtimai."
 
 msgid " packages selected."
-msgstr " paketai išsirinkti."
+msgstr "paketai išsirinkti."
 
 msgid " updates available."
-msgstr " pasiekiami atnaujinimai."
+msgstr "pasiekiami atnaujinimai."
 
 msgid " wireless networks found!"
-msgstr " rastas belaidis tinklas!"
+msgstr "rastas belaidis tinklas!"
 
 #
 msgid "#000000"
@@ -356,7 +354,6 @@ msgstr "8"
 msgid "9"
 msgstr "9"
 
-#
 msgid "<Current movielist location>"
 msgstr "<Dabartinė filmų sąrašo vieta>"
 
@@ -812,7 +809,7 @@ msgid ""
 "Are you sure you want to save this network mount?\n"
 "\n"
 msgstr ""
-"Jūs esate įsitikinęs, kad norite išsaugoti šį tinklo pajungimą?\n"
+"Jūs esate įsitikinęs, kad norite išsaugoti šį tinklo prijungimą?\n"
 "\n"
 
 #
@@ -845,9 +842,8 @@ msgstr "Garsas"
 msgid "Audio Options..."
 msgstr "Garso nustatymai..."
 
-#
 msgid "Audio Sync"
-msgstr "Garso sinch"
+msgstr "Garso sinchronizavimas"
 
 #
 msgid "Audio Sync Setup"
@@ -1102,7 +1098,7 @@ msgid "Cannot parse feed directory"
 msgstr "Negalima nagrinėti serverio direktorijos"
 
 msgid "Capacity: "
-msgstr "Talpa: "
+msgstr "Talpa:"
 
 msgid "Card"
 msgstr "Kortelė"
@@ -1351,6 +1347,9 @@ msgstr "Įvykdyta"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Kompleksas (leidžia sumaišyti garso takelius ir aspektus),"
 
+msgid "Composition of the recording filenames"
+msgstr "Įrašo failų sudėtis"
+
 #
 msgid "Configuration Mode"
 msgstr "Konfigūravimo būdas"
@@ -1672,7 +1671,7 @@ msgid ""
 "Delete no more configured satellite\n"
 "%s?"
 msgstr ""
-"Trinti nesukonfigūruotą palydovą \n"
+"Trinti nesukonfigūruotą palydovą\n"
 "%s?"
 
 #
@@ -2249,7 +2248,7 @@ msgid "Enter IP to scan..."
 msgstr "Įrašykite IP skanavimui..."
 
 msgid "Enter Rewind at speed"
-msgstr "Eiti į greitą atsukimą "
+msgstr "Eiti į greitą atsukimą"
 
 msgid "Enter main menu..."
 msgstr "Eiti į pagrindinį meniu..."
@@ -3039,6 +3038,9 @@ msgstr "Log rezultatus į kietą diską"
 msgid "Long Keypress"
 msgstr "Ilgas mygtuko spaudimas"
 
+msgid "Long filenames"
+msgstr "Ilgi failų pavadinimai"
+
 msgid "Longitude"
 msgstr "Ilguma"
 
@@ -4979,6 +4981,9 @@ msgstr "Aštrumas"
 msgid "Short Movies"
 msgstr "Rūšiuoti Filmus"
 
+msgid "Short filenames"
+msgstr "Trumpi failų pavadinimai"
+
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr "Šis Auto laikmatis apribotas laiko atkarpa?"
 
@@ -5359,7 +5364,7 @@ msgid "Test Type"
 msgstr "Testo tipas"
 
 msgid "Test again"
-msgstr "Bandyti dar kartą"
+msgstr "Kartoti"
 
 msgid "Test mode"
 msgstr "Testuoti"
@@ -5589,7 +5594,7 @@ msgid "There are no updates available."
 msgstr "Nėra jokių pasiekiamų atnaujinimų."
 
 msgid "There are now "
-msgstr "Yra dabar "
+msgstr "Yra dabar"
 
 msgid ""
 "There might not be enough Space on the selected Partition.\n"
index 93c97ee..4a7aa65 100755 (executable)
--- a/po/lv.po
+++ b/po/lv.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
 "PO-Revision-Date: 2009-02-25 20:35+0200\n"
 "Last-Translator: Ivo Grinbergs <ivog@apollo.lv>\n"
 "Language-Team: Ivo / enigma2 (c) <ivog@apolllo.lv>\n"
@@ -1401,6 +1401,9 @@ msgstr "Gatavs"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Komplicēts (pieļauj skaņas celiņu un aspektu jaukšanu)"
 
+msgid "Composition of the recording filenames"
+msgstr ""
+
 #
 msgid "Configuration Mode"
 msgstr "Konfigurēšanas režīms"
@@ -3349,6 +3352,9 @@ msgstr "Žurnalēt rezultātus uz cietā diska"
 msgid "Long Keypress"
 msgstr "Ilgstošs taustiņa nospiediens"
 
+msgid "Long filenames"
+msgstr ""
+
 #
 msgid "Longitude"
 msgstr "Garums"
@@ -5842,6 +5848,9 @@ msgstr ""
 msgid "Short Movies"
 msgstr ""
 
+msgid "Short filenames"
+msgstr ""
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
index 143f3a0..1292b9c 100755 (executable)
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,9 +6,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: enigma2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-11 10:44+0000\n"
-"PO-Revision-Date: 2010-06-08 16:12+0200\n"
-"Last-Translator: Benny <Benny.DeTandt@gmail.com>\n"
+"POT-Creation-Date: 2010-06-09 10:31+0000\n"
+"PO-Revision-Date: 2010-07-23 12:19+0200\n"
+"Last-Translator: Mladen <acid-burn@opendreambox.org>\n"
 "Language-Team: <Benny.DeTandt@gmail.com>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
@@ -612,9 +612,8 @@ msgstr "Toevoegen"
 msgid "Add Bookmark"
 msgstr "Markeerpunt toevoegen"
 
-#
 msgid "Add WLAN configuration?"
-msgstr "WLAN-configuratie toevoegen?"
+msgstr "WLAN configuratie toevoegen?"
 
 #
 msgid "Add a mark"
@@ -665,7 +664,7 @@ msgstr "Voeg een zap timer toe i.p.v. een opnametimer?"
 
 #
 msgid "Added: "
-msgstr "Toegevoegd:"
+msgstr "Toegevoegd: "
 
 #
 msgid ""
@@ -882,7 +881,7 @@ msgstr "Audio synchronisatie"
 
 #
 msgid "Audio Sync Setup"
-msgstr "Audio synchronisatie instellen"
+msgstr "Audio synchronisatie"
 
 #
 msgid "Australia"
@@ -890,7 +889,7 @@ msgstr "Australië"
 
 #
 msgid "Author: "
-msgstr "Auteur:"
+msgstr "Auteur: "
 
 #
 msgid "Authoring mode"
@@ -1412,6 +1411,9 @@ msgstr "Compleet"
 msgid "Complex (allows mixing audio tracks and aspects)"
 msgstr "Complex (mixen audio sporen en aspecten)"
 
+msgid "Composition of the recording filenames"
+msgstr "Samenstelling van de opname bestandsnamen"
+
 #
 msgid "Configuration Mode"
 msgstr "Configuratie modus"
@@ -1490,7 +1492,7 @@ msgstr "Contrast"
 
 #
 msgid "Could not connect to Dreambox .NFI Image Feed Server:"
-msgstr "Kan geen verbinding maken naar de .NFI Feed Server:"
+msgstr "Kan geen verbinding maken met de .NFI Feed Server:"
 
 #
 msgid "Could not load Medium! No disc inserted?"
@@ -1519,7 +1521,7 @@ msgstr "Crashlog mailer instellingen"
 
 #
 msgid "CrashlogAutoSubmit settings..."
-msgstr "Crashlog mailer instellingen..."
+msgstr "Crashlog mailer instellingen"
 
 #
 msgid ""
@@ -1572,7 +1574,7 @@ msgstr "Huidige instellingen:"
 
 #
 msgid "Current value: "
-msgstr "Huidige waarde:"
+msgstr "Huidige waarde: "
 
 #
 msgid "Current version:"
@@ -1763,7 +1765,7 @@ msgstr "Doelmap"
 
 #
 msgid "Details for extension: "
-msgstr "Details voor extensies:"
+msgstr "Details voor extensies: "
 
 #
 msgid "Detected HDD:"
@@ -1881,7 +1883,7 @@ msgid "Display and Userinterface"
 msgstr "Display en gebruikersinterface"
 
 msgid "Display search results by:"
-msgstr "Zoekresultaten weergeven door:"
+msgstr "Zoekresultaten weergeven voor:"
 
 #
 #, python-format
@@ -2057,7 +2059,7 @@ msgstr "Download Video"
 
 #
 msgid "Download location"
-msgstr "Download locatie"
+msgstr "Download locatie:"
 
 #
 msgid "Download of USB flasher boot image failed: "
@@ -2080,7 +2082,7 @@ msgid "Downloading plugin information. Please wait..."
 msgstr "Ophalen informatie. Een ogenblik a.u.b..."
 
 msgid "Downloading screenshots. Please wait..."
-msgstr "Downloaden van schermvoorbeeld. Even geduld aub ..."
+msgstr "Downloaden van schermvoorbeeld..."
 
 msgid "Dreambox format data DVD (HDTV compatible)"
 msgstr "Dreambox formaat data DVD (HDTV compatibel)"
@@ -2089,7 +2091,7 @@ msgid "Dreambox software because updates are available."
 msgstr "Dreambox software want er zijn updates beschikbaar."
 
 msgid "Duration: "
-msgstr "Duur:"
+msgstr "Duur: "
 
 #
 msgid "Dutch"
@@ -2198,7 +2200,7 @@ msgstr "Editor voor nieuwe Autotimers"
 
 #
 msgid "Education"
-msgstr ""
+msgstr "Ontwikkeling"
 
 #
 msgid "Electronic Program Guide"
@@ -2272,7 +2274,7 @@ msgid ""
 "Encoding the channel uses for it's EPG data. You only need to change this if "
 "you're searching for special characters like the german umlauts."
 msgstr ""
-"Codering die het kanaal gebruikt voor het EPG data. U hoeft dit alleen te "
+"Codering die het kanaal gebruikt voor de EPG data. U hoeft dit alleen te "
 "veranderen als u op zoek bent naar speciale tekens, zoals de Duitse umlauts."
 
 #
@@ -2393,7 +2395,7 @@ msgstr ""
 "Geef uw e-mailadres, zodat wij contact met u kunnen opnemen indien nodig."
 
 msgid "Enter your search term(s)"
-msgstr "Geef uw zoekterm (en)"
+msgstr "Geef uw zoekterm(en)"
 
 #
 msgid "Entertainment"
@@ -2966,7 +2968,7 @@ msgstr "Verhoog vertraging"
 
 #, python-format
 msgid "Increase delay by %i ms (can be set)"
-msgstr "Verhoog vertraging met %i ms (kan ingesteld worden)"
+msgstr "Verhoog vertraging met %i ms (instelbaar)"
 
 #
 msgid "Increased voltage"
@@ -3124,7 +3126,7 @@ msgstr "Ongeldige reactie van de server."
 # File: tmp/enigma2_plugins/genuinedreambox/src/plugin.py, line: 177
 #, python-format
 msgid "Invalid response from server. Please report: %s"
-msgstr "Ongeldige reactie van de server. Melding:%s"
+msgstr "Ongeldige reactie van de server. Melding: %s"
 
 #
 # L:\Dreambox\Eclipse\enigma2-plugins\ac3lipsync\src/AC3main.py:228
@@ -3199,7 +3201,7 @@ msgstr "Toets %(key)s (huidige waarde: %(value)i ms)"
 
 #
 msgid "Keyboard"
-msgstr "Toetsenbord..."
+msgstr "Toetsenbord"
 
 #
 msgid "Keyboard Map"
@@ -3355,6 +3357,9 @@ msgstr "Schrijf resultaten naar de harde schijf"
 msgid "Long Keypress"
 msgstr "Lange toetsdruk"
 
+msgid "Long filenames"
+msgstr "Lange naam"
+
 #
 msgid "Longitude"
 msgstr "Lengtegraad"
@@ -3404,7 +3409,6 @@ msgstr "Beheer extensies"
 msgid "Manage network shares"
 msgstr "Beheer gedeelde netwerkmappen"
 
-#
 msgid "Manage your network shares..."
 msgstr "Beheer uw netwerkverbindingen."
 
@@ -3544,7 +3548,7 @@ msgstr "Meest besproken"
 
 #
 msgid "Most linked"
-msgstr "De meeste gekoppeld"
+msgstr "De meest gekoppelde"
 
 #
 msgid "Most popular"
@@ -3712,7 +3716,7 @@ msgstr "MyTubePlayer Help"
 
 #
 msgid "MyTubePlayer active video downloads"
-msgstr ""
+msgstr "MyTubePlayer actieve video downloads"
 
 #
 msgid "MyTubePlayer settings"
@@ -4042,13 +4046,11 @@ msgstr "Nee, maar speel video opnieuw"
 msgid "No, but restart from begin"
 msgstr "Nee, maar vanaf begin herstarten"
 
-#
 msgid "No, but switch to video entries."
-msgstr ""
+msgstr "Nee, maar schakel over naar video items."
 
-#
 msgid "No, but switch to video search."
-msgstr ""
+msgstr "Nee, maar schakel over naar video zoeken."
 
 #
 msgid "No, do nothing."
@@ -4085,7 +4087,7 @@ msgstr "Nonlineair"
 
 #
 msgid "Nonprofits & Activism"
-msgstr ""
+msgstr "Non-profit & Activisme"
 
 #
 msgid "North"
@@ -4343,7 +4345,7 @@ msgstr "Muziek afspelen..."
 
 #
 msgid "Play YouTube movies"
-msgstr "Speel YouTube filmpjes"
+msgstr "Afspelen YouTube filmpjes"
 
 #
 msgid "Play next video"
@@ -4367,7 +4369,7 @@ msgstr "Selecteer het te scannen medium..."
 
 #
 msgid "Please add titles to the compilation."
-msgstr ""
+msgstr "Gelieve titels aan de compilatie toevoegen."
 
 #
 msgid "Please change recording endtime"
@@ -4503,7 +4505,7 @@ msgstr "Selecteer een afspeellijst..."
 
 #
 msgid "Please select a standard feed or try searching for videos."
-msgstr ""
+msgstr "Selecteer een standaard feed of probeer te zoeken naar video's."
 
 #
 msgid "Please select a subservice to record..."
@@ -4765,7 +4767,7 @@ msgstr "Druk op OK om op te slaan"
 
 #
 msgid "Press OK to collapse this host"
-msgstr ""
+msgstr "Druk op OK om uit te klappen"
 
 #
 msgid "Press OK to edit selected settings."
@@ -4777,7 +4779,7 @@ msgstr "Druk op OK om te wijzigen."
 
 #
 msgid "Press OK to expand this host"
-msgstr ""
+msgstr "Druk op OK om deze host uit te breiden"
 
 #
 #, python-format
@@ -4926,7 +4928,7 @@ msgstr "Waardering"
 
 #
 msgid "Ratings: "
-msgstr ""
+msgstr "Waardering: "
 
 #
 msgid "Really close without saving settings?"
@@ -4942,7 +4944,7 @@ msgstr "Subzenders snelzap verlaten?"
 
 #
 msgid "Really quit MyTube Player?"
-msgstr ""
+msgstr "Werkelijk MyTube Player verlaten?"
 
 #
 msgid "Really reboot now?"
@@ -5022,11 +5024,11 @@ msgstr "Herhalingsfrequentie selectie"
 
 #
 msgid "Related video entries."
-msgstr ""
+msgstr "Gerelateerde video-items."
 
 #
 msgid "Relevance"
-msgstr ""
+msgstr "Relevantie"
 
 #
 msgid "Reload"
@@ -5138,7 +5140,7 @@ msgstr "Beschrijving moet uniek zijn"
 
 #
 msgid "Required medium type:"
-msgstr ""
+msgstr "Benodigd medium type:"
 
 #
 msgid "Rescan"
@@ -5158,7 +5160,7 @@ msgstr "Reset counter"
 
 #
 msgid "Reset saved position"
-msgstr ""
+msgstr "Reset opgeslagen positie"
 
 #
 msgid "Reset video enhancement settings to system defaults?"
@@ -5174,7 +5176,7 @@ msgstr "Resolutie"
 
 #
 msgid "Response video entries."
-msgstr ""
+msgstr "Reactie video items."
 
 #
 msgid "Restart"
@@ -5358,7 +5360,7 @@ msgstr ""
 
 #
 msgid "Save to key"
-msgstr ""
+msgstr "Opslaan onder toets"
 
 #
 msgid "Save values and close plugin"
@@ -5386,7 +5388,7 @@ msgstr "Bestanden zoeken..."
 
 #
 msgid "Scan NFS share"
-msgstr ""
+msgstr "Doorzoek NFS share"
 
 #
 msgid "Scan QAM128"
@@ -5633,7 +5635,7 @@ msgstr "Selecteer interface"
 
 #
 msgid "Select new feed to view."
-msgstr "Selecteer nieuwe feed om te bekijken."
+msgstr "Selecteer te bekijken nieuwe feed."
 
 #
 msgid "Select package"
@@ -5734,7 +5736,7 @@ msgstr "Zenders zoeken"
 
 #
 msgid "Service delay"
-msgstr ""
+msgstr "Zender vertraging"
 
 #
 msgid "Service has been added to the favourites."
@@ -5832,7 +5834,7 @@ msgstr "Menu modus"
 
 #
 msgid "Setup for the Audio Sync Plugin"
-msgstr ""
+msgstr "Instellingen voor de Audio Sync Plugin"
 
 #
 #, python-format
@@ -5849,6 +5851,9 @@ msgstr "Scherpte"
 msgid "Short Movies"
 msgstr "Korte films"
 
+msgid "Short filenames"
+msgstr "Korte naam"
+
 #
 msgid "Should this AutoTimer be restricted to a timespan?"
 msgstr ""
@@ -5880,7 +5885,7 @@ msgstr "Knipperende klok gedurende opname"
 
 #
 msgid "Show event-progress in channel selection"
-msgstr ""
+msgstr "Toon event-vooruitgang in zender keuze"
 
 #
 msgid "Show in extension menu"
@@ -6147,7 +6152,7 @@ msgstr "Start test"
 
 #
 msgid "Start with following feed:"
-msgstr ""
+msgstr "Begin met de volgende feed:"
 
 #
 msgid "StartTime"
@@ -6207,7 +6212,7 @@ msgstr "Stop huidige timer, maar volgende timers toestaan"
 
 #
 msgid "Stop playing this movie?"
-msgstr "Stop afspelen van deze opname?"
+msgstr "Stop met afspelen van deze opname?"
 
 #
 msgid "Stop test"
@@ -6275,7 +6280,7 @@ msgstr "Ga naar vorige subzender"
 
 #
 msgid "Switchable tuner types:"
-msgstr ""
+msgstr "Verwisselbare tuner types:"
 
 #
 msgid "Symbol Rate"
@@ -6327,7 +6332,7 @@ msgstr ""
 
 #
 msgid "Tags: "
-msgstr ""
+msgstr "Label: "
 
 #
 msgid "Taiwan"
@@ -6641,7 +6646,7 @@ msgstr ""
 
 #
 msgid "There was an error getting the feed entries. Please try again."
-msgstr ""
+msgstr "Er is een fout bij het ophalen van de feed-items. Probeer opnieuw."
 
 #
 msgid "There was an error. The package:"
@@ -7027,11 +7032,11 @@ msgstr "Probeert een nieuwe pakketlijst te downloaden. Een ogenblik a.u.b..."
 
 #
 msgid "Trying to download the Youtube feed entries. Please wait..."
-msgstr ""
+msgstr "Probeert Youtube-feed items te downloaden. Even geduld aub..."
 
 #
 msgid "Trying to download the Youtube search results. Please wait..."
-msgstr ""
+msgstr "Probeert Youtube zoek resultaten te downloaden. Even geduld aub..."
 
 #
 msgid "Tue"
@@ -7244,7 +7249,7 @@ msgstr "Dreambox update bezig... Een ogenblik geduld a.u.b."
 
 #
 msgid "Upper bound of timespan."
-msgstr ""
+msgstr "Bovengrens van de tijdspanne."
 
 #
 msgid ""
@@ -7291,7 +7296,7 @@ msgstr ""
 
 #
 msgid "Use the Networkwizard to configure your Network\n"
-msgstr "Gebruik de netwerk wizard om het netwerk te configureren.\n"
+msgstr "Gebruik de netwerk wizard om uw netwerk te configureren.\n"
 
 #
 msgid ""
@@ -7365,7 +7370,7 @@ msgstr "Vertikaal"
 
 #
 msgid "Video Fine-Tuning"
-msgstr "Video fijn instellingen..."
+msgstr "Video fijn instellingen"
 
 #
 msgid "Video Fine-Tuning Wizard"
@@ -7389,11 +7394,11 @@ msgstr "Voorbeeld videoverbetering"
 
 #
 msgid "Video enhancement settings"
-msgstr "Videoverbetering instellingen..."
+msgstr "Videoverbetering instellingen"
 
 #
 msgid "Video enhancement setup"