Merge branch 'bug_258_sorting_of_configsatlist'
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Sat, 7 Nov 2009 12:52:58 +0000 (13:52 +0100)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Sat, 7 Nov 2009 12:52:58 +0000 (13:52 +0100)
53 files changed:
configure.ac
data/setup.xml
lib/python/Components/AVSwitch.py
lib/python/Components/FileList.py
lib/python/Components/config.py
lib/python/Plugins/Extensions/MediaPlayer/plugin.py
lib/python/Plugins/SystemPlugins/Makefile.am
lib/python/Plugins/SystemPlugins/NetworkWizard/LICENSE [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/NetworkWizard/Makefile.am [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/NetworkWizard/__init__.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/NetworkWizard/meta/Makefile.am [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/NetworkWizard/meta/plugin_networkwizard.xml [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/NetworkWizard/networkwizard.xml [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WirelessLan/LICENSE [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WirelessLan/Makefile.am [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WirelessLan/__init__.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WirelessLan/flags.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WirelessLan/iwlibs.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py [new file with mode: 0755]
lib/service/servicemp3.cpp
po/ar.po [changed mode: 0644->0755]
po/ca.po [changed mode: 0644->0755]
po/cs.po [changed mode: 0644->0755]
po/da.po [changed mode: 0644->0755]
po/de.po
po/el.po [changed mode: 0644->0755]
po/en.po
po/enigma2.pot
po/es.po
po/et.po [changed mode: 0644->0755]
po/fi.po
po/fr.po
po/fy.po [changed mode: 0644->0755]
po/hr.po [changed mode: 0644->0755]
po/hu.po [changed mode: 0644->0755]
po/is.po [changed mode: 0644->0755]
po/it.po
po/lt.po [changed mode: 0644->0755]
po/lv.po [changed mode: 0644->0755]
po/nl.po
po/no.po [changed mode: 0644->0755]
po/pl.po
po/pt.po [changed mode: 0644->0755]
po/ru.po
po/sk.po [changed mode: 0644->0755]
po/sl.po [changed mode: 0644->0755]
po/sr.po [changed mode: 0644->0755]
po/sv.po
po/tr.po [changed mode: 0644->0755]
po/uk.po [changed mode: 0644->0755]

index 2b557fc..5e403de 100755 (executable)
@@ -155,6 +155,8 @@ lib/python/Plugins/SystemPlugins/FrontprocessorUpgrade/meta/Makefile
 lib/python/Plugins/SystemPlugins/Hotplug/Makefile
 lib/python/Plugins/SystemPlugins/Hotplug/meta/Makefile
 lib/python/Plugins/SystemPlugins/Makefile
+lib/python/Plugins/SystemPlugins/NetworkWizard/Makefile
+lib/python/Plugins/SystemPlugins/NetworkWizard/meta/Makefile
 lib/python/Plugins/SystemPlugins/NFIFlash/Makefile
 lib/python/Plugins/SystemPlugins/NFIFlash/meta/Makefile
 lib/python/Plugins/SystemPlugins/PositionerSetup/Makefile
@@ -173,6 +175,7 @@ lib/python/Plugins/SystemPlugins/VideoTune/Makefile
 lib/python/Plugins/SystemPlugins/VideoTune/meta/Makefile
 lib/python/Plugins/SystemPlugins/Videomode/Makefile
 lib/python/Plugins/SystemPlugins/Videomode/meta/Makefile
+lib/python/Plugins/SystemPlugins/WirelessLan/Makefile
 lib/python/Tools/Makefile
 lib/service/Makefile
 lib/components/Makefile
index 22705f0..9425afd 100644 (file)
@@ -13,8 +13,8 @@
                        <item level="0" text="TV System">config.av.tvsystem</item>
                        <item level="1" text="WSS on 4:3">config.av.wss</item>
                        <item level="1" text="AC3 default">config.av.defaultac3</item>
-                       <item level="1" text="General AC3 delay">config.av.generalAC3delay</item>
-                       <item level="1" text="General PCM delay">config.av.generalPCMdelay</item>
+                       <item level="1" text="General AC3 delay (ms)">config.av.generalAC3delay</item>
+                       <item level="1" text="General PCM delay (ms)">config.av.generalPCMdelay</item>
                        <item level="1" text="AC3 downmix" requires="CanDownmixAC3">config.av.downmix_ac3</item>
                        <item level="1" text="Auto scart switching" requires="ScartSwitch">config.av.vcrswitch</item>
                </setup>
index bc2a66a..2658f9b 100644 (file)
@@ -1,5 +1,5 @@
 from config import config, ConfigSlider, ConfigSelection, ConfigYesNo, \
-       ConfigEnableDisable, ConfigSubsection, ConfigBoolean, ConfigNumber, ConfigNothing, NoSave
+       ConfigEnableDisable, ConfigSubsection, ConfigBoolean, ConfigSelectionNumber, ConfigNothing, NoSave
 from enigma import eAVSwitch, getDesktop
 from SystemInfo import SystemInfo
 from os import path as os_path
@@ -112,8 +112,8 @@ def InitAVSwitch():
        config.av.tvsystem = ConfigSelection(choices = {"pal": _("PAL"), "ntsc": _("NTSC"), "multinorm": _("multinorm")}, default="pal")
        config.av.wss = ConfigEnableDisable(default = True)
        config.av.defaultac3 = ConfigYesNo(default = False)
-       config.av.generalAC3delay = ConfigNumber(default = 0)
-       config.av.generalPCMdelay = ConfigNumber(default = 0)
+       config.av.generalAC3delay = ConfigSelectionNumber(-1000, 1000, 25, default = 0)
+       config.av.generalPCMdelay = ConfigSelectionNumber(-1000, 1000, 25, default = 0)
        config.av.vcrswitch = ConfigEnableDisable(default = False)
 
        iAVSwitch = AVSwitch()
index 54bb1ac..38b0854 100755 (executable)
@@ -23,6 +23,7 @@ EXTENSIONS = {
                "ts": "movie",
                "avi": "movie",
                "divx": "movie",
+               "m4v": "movie",
                "mpg": "movie",
                "mpeg": "movie",
                "mkv": "movie",
index baa6c35..d15c232 100755 (executable)
@@ -1017,6 +1017,42 @@ class ConfigPassword(ConfigText):
                ConfigText.onDeselect(self, session)
                self.hidden = True
 
+# lets the user select between [min, min+stepwidth, min+(stepwidth*2)..., maxval] with maxval <= max depending
+# on the stepwidth
+# min, max, stepwidth, default are int values
+# wraparound: pressing RIGHT key at max value brings you to min value and vice versa if set to True
+class ConfigSelectionNumber(ConfigSelection):
+       def __init__(self, min, max, stepwidth, default = None, wraparound = False):
+               self.wraparound = wraparound
+               if default is None:
+                       default = min
+               default = str(default)
+               choices = []
+               step = min
+               while step <= max:
+                       choices.append(str(step))
+                       step += stepwidth
+               
+               ConfigSelection.__init__(self, choices, default)
+               
+       def getValue(self):
+               return int(self.text)
+
+       def setValue(self, val):
+               self.text = str(val)
+               
+       def handleKey(self, key):
+               if not self.wraparound:
+                       if key == KEY_RIGHT:
+                               if len(self.choices) == (self.choices.index(self.value) + 1):
+                                       return
+                       if key == KEY_LEFT:
+                               if self.choices.index(self.value) == 0:
+                                       return
+               ConfigSelection.handleKey(self, key)
+                               
+                               
+
 class ConfigNumber(ConfigText):
        def __init__(self, default = 0):
                ConfigText.__init__(self, str(default), fixed_size = False)
index 0e3bdf0..98bc060 100644 (file)
@@ -110,7 +110,7 @@ class MediaPlayer(Screen, InfoBarBase, InfoBarSeek, InfoBarAudioSelection, InfoB
 
                # 'None' is magic to start at the list of mountpoints
                defaultDir = config.mediaplayer.defaultDir.getValue()
-               self.filelist = FileList(defaultDir, matchingPattern = "(?i)^.*\.(mp2|mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob|avi|divx|mkv|mp4|m4a|dat|flac|mov)", useServiceRef = True, additionalExtensions = "4098:m3u 4098:e2pls 4098:pls")
+               self.filelist = FileList(defaultDir, matchingPattern = "(?i)^.*\.(mp2|mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob|avi|divx|m4v|mkv|mp4|m4a|dat|flac|mov)", useServiceRef = True, additionalExtensions = "4098:m3u 4098:e2pls 4098:pls")
                self["filelist"] = self.filelist
 
                self.playlist = MyPlayList()
index db71c31..a8b187d 100755 (executable)
@@ -3,7 +3,7 @@ installdir = $(pkglibdir)/python/Plugins/SystemPlugins
 SUBDIRS = SoftwareManager FrontprocessorUpgrade PositionerSetup Satfinder \
        SkinSelector SatelliteEquipmentControl Videomode VideoTune Hotplug \
        DefaultServicesScanner NFIFlash DiseqcTester CommonInterfaceAssignment \
-       CrashlogAutoSubmit CleanupWizard VideoEnhancement
+       CrashlogAutoSubmit CleanupWizard VideoEnhancement WirelessLan NetworkWizard
 
 install_PYTHON =       \
        __init__.py
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/LICENSE b/lib/python/Plugins/SystemPlugins/NetworkWizard/LICENSE
new file mode 100755 (executable)
index 0000000..9970059
--- /dev/null
@@ -0,0 +1,12 @@
+This plugin is licensed under the Creative Commons 
+Attribution-NonCommercial-ShareAlike 3.0 Unported 
+License. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative
+Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+Alternatively, this plugin may be distributed and executed on hardware which
+is licensed by Dream Multimedia GmbH.
+
+This plugin is NOT free software. It is open source, you are allowed to
+modify it (if you keep the license), but it may not be commercially 
+distributed other than under the conditions noted above.
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/Makefile.am b/lib/python/Plugins/SystemPlugins/NetworkWizard/Makefile.am
new file mode 100755 (executable)
index 0000000..2a71bb2
--- /dev/null
@@ -0,0 +1,12 @@
+installdir = $(pkglibdir)/python/Plugins/SystemPlugins/NetworkWizard\r
+\r
+SUBDIRS = meta\r
+\r
+install_PYTHON =       \\r
+       __init__.py \\r
+       NetworkWizard.py \\r
+       plugin.py\r
+\r
+dist_install_DATA = \\r
+       LICENSE \\r
+       networkwizard.xml
\ No newline at end of file
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py b/lib/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.py
new file mode 100755 (executable)
index 0000000..4d36115
--- /dev/null
@@ -0,0 +1,244 @@
+from Screens.Wizard import wizardManager, WizardSummary
+from Screens.WizardLanguage import WizardLanguage
+from Screens.Rc import Rc
+from Screens.MessageBox import MessageBox
+
+from Components.Pixmap import Pixmap, MovingPixmap, MultiPixmap
+from Components.config import config, ConfigBoolean, configfile, ConfigYesNo, NoSave, ConfigSubsection, ConfigText, getConfigListEntry, ConfigSelection, ConfigPassword
+from Components.Network import iNetwork
+
+#from Components.Label import Label
+#from Components.MenuList import MenuList
+#from Components.PluginComponent import plugins
+#from Plugins.Plugin import PluginDescriptor
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
+#import time, os, re
+
+
+config.misc.firstrun = ConfigBoolean(default = True)
+list = []
+list.append("WEP")
+list.append("WPA")
+list.append("WPA2")
+list.append("WPA/WPA2")
+
+weplist = []
+weplist.append("ASCII")
+weplist.append("HEX")
+
+config.plugins.wlan = ConfigSubsection()
+config.plugins.wlan.essid = NoSave(ConfigText(default = "home", fixed_size = False))
+config.plugins.wlan.hiddenessid = NoSave(ConfigText(default = "home", fixed_size = False))
+
+config.plugins.wlan.encryption = ConfigSubsection()
+config.plugins.wlan.encryption.enabled = NoSave(ConfigYesNo(default = False))
+config.plugins.wlan.encryption.type = NoSave(ConfigSelection(list, default = "WPA/WPA2" ))
+config.plugins.wlan.encryption.wepkeytype = NoSave(ConfigSelection(weplist, default = "ASCII"))
+config.plugins.wlan.encryption.psk = NoSave(ConfigPassword(default = "mysecurewlan", fixed_size = False))
+
+class NetworkWizard(WizardLanguage, Rc):
+       skin = """
+               <screen position="0,0" size="720,576" title="Welcome..." flags="wfNoBorder" >
+                       <widget name="text" position="153,40" size="340,330" font="Regular;22" />
+                       <widget source="list" render="Listbox" position="53,340" size="440,180" scrollbarMode="showOnDemand" >
+                               <convert type="StringList" />
+                       </widget>
+                       <widget name="config" position="53,340" zPosition="1" size="440,180" transparent="1" scrollbarMode="showOnDemand" />
+                       <ePixmap pixmap="skin_default/buttons/button_red.png" position="40,225" zPosition="0" size="15,16" transparent="1" alphatest="on" />
+                       <widget name="languagetext" position="55,225" size="95,30" font="Regular;18" />
+                       <widget name="wizard" pixmap="skin_default/wizard.png" position="40,50" zPosition="10" size="110,174" alphatest="on" />
+                       <widget name="rc" pixmaps="skin_default/rc.png,skin_default/rcold.png" position="500,50" zPosition="10" size="154,500" alphatest="on" />
+                       <widget name="arrowdown" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
+                       <widget name="arrowdown2" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
+                       <widget name="arrowup" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
+                       <widget name="arrowup2" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
+               </screen>"""
+       def __init__(self, session):
+               self.xmlfile = resolveFilename(SCOPE_PLUGINS, "SystemPlugins/NetworkWizard/networkwizard.xml")
+               WizardLanguage.__init__(self, session, showSteps = False, showStepSlider = False)
+               Rc.__init__(self)
+               self.session = session
+               self["wizard"] = Pixmap()
+               
+               self.InterfaceState = None
+               self.isInterfaceUp = None
+               self.WlanPluginInstalled = None
+               self.ap = None
+               self.selectedInterface = None
+               self.NextStep = None
+               self.myref = None
+               self.checkRef = None
+               self.AdapterRef = None
+               self.WlanList = None
+               self.isWlanPluginInstalled()
+
+       def listInterfaces(self):
+               list = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
+               list.append((_("Exit network wizard"), "end"))
+               return list
+
+       def InterfaceSelectionMade(self, index):
+               self.selectedInterface = index
+               self.InterfaceSelect(index)
+
+       def InterfaceSelect(self, index):
+               if index == 'end':
+                       self.NextStep = 'end'
+               elif index == 'eth0':
+                       self.NextStep = 'nwconfig'
+               else:
+                       self.NextStep = 'scanwlan'
+
+       def InterfaceSelectionMoved(self):
+               self.InterfaceSelect(self.selection)
+               
+       def checkInterface(self,iface):
+               self.Adapterlist = iNetwork.getAdapterList()
+               if self.NextStep is not 'end':
+                       if len(self.Adapterlist) == 0:
+                               #Reset Network to defaults if network broken
+                               iNetwork.resetNetworkConfig('lan', self.checkInterfaceCB)
+                               self.myref = self.session.openWithCallback(self.resetfinishedCB, MessageBox, _("Please wait while we prepare your network interfaces..."), type = MessageBox.TYPE_INFO, enable_input = False)
+                       if iface == 'eth0':
+                               if iface in iNetwork.configuredNetworkAdapters and len(iNetwork.configuredNetworkAdapters) == 1:
+                                       if iNetwork.getAdapterAttribute(iface, 'up') is True:
+                                               self.isInterfaceUp = True
+                                       else:
+                                               self.isInterfaceUp = False
+                                       self.resetfinishedCB(False)
+                               else:
+                                       iNetwork.resetNetworkConfig('lan',self.checkInterfaceCB)
+                                       self.myref = self.session.openWithCallback(self.resetfinishedCB, MessageBox, _("Please wait while we prepare your network interfaces..."), type = MessageBox.TYPE_INFO, enable_input = False)
+                       elif iface == 'wlan0':
+                               if iface in iNetwork.configuredNetworkAdapters and len(iNetwork.configuredNetworkAdapters) == 1:
+                                       if iNetwork.getAdapterAttribute(iface, 'up') is True:
+                                               self.isInterfaceUp = True
+                                       else:
+                                               self.isInterfaceUp = False
+                                       self.resetfinishedCB(False)
+                               else:
+                                       iNetwork.resetNetworkConfig('wlan',self.checkInterfaceCB)
+                                       self.myref = self.session.openWithCallback(self.resetfinishedCB, MessageBox, _("Please wait while we prepare your network interfaces..."), type = MessageBox.TYPE_INFO, enable_input = False)
+                       elif iface == 'ath0':
+                               if iface in iNetwork.configuredNetworkAdapters and len(iNetwork.configuredNetworkAdapters) == 1:
+                                       if iNetwork.getAdapterAttribute(iface, 'up') is True:
+                                               self.isInterfaceUp = True
+                                       else:
+                                               self.isInterfaceUp = False
+                                       self.resetfinishedCB(False)
+                               else:
+                                       iNetwork.resetNetworkConfig('wlan-mpci',self.checkInterfaceCB)
+                                       self.myref = self.session.openWithCallback(self.resetfinishedCB, MessageBox, _("Please wait while we prepare your network interfaces..."), type = MessageBox.TYPE_INFO, enable_input = False)
+               else:
+                       self.resetfinishedCB(False)
+                       
+       def resetfinishedCB(self,data):
+               if data is True:
+                       self.currStep = self.getStepWithID(self.NextStep)
+                       self.afterAsyncCode()
+               else:
+                       self.currStep = self.getStepWithID(self.NextStep)
+                       self.afterAsyncCode()
+
+       def checkInterfaceCB(self,callback,iface):
+               if callback is not None:
+                       if callback is True:
+                               iNetwork.getInterfaces(self.getInterfacesDataAvail)
+                               
+
+       def getInterfacesDataAvail(self, data):
+               if data is True:
+                       if iNetwork.getAdapterAttribute(self.selectedInterface, 'up') is True:
+                               self.isInterfaceUp = True
+                       else:
+                               self.isInterfaceUp = False
+                       self.myref.close(True)
+
+       def AdapterSetupEnd(self, iface):
+               if iNetwork.getAdapterAttribute(iface, "dhcp") is True:
+                       iNetwork.checkNetworkState(self.AdapterSetupEndFinished)
+                       self.AdapterRef = self.session.openWithCallback(self.AdapterSetupEndCB, MessageBox, _("Please wait while we test your network..."), type = MessageBox.TYPE_INFO, enable_input = False)
+
+               else:
+                       self.currStep = self.getStepWithID("confdns")
+                       self.afterAsyncCode()
+
+       def AdapterSetupEndCB(self,data):
+               if data is True:
+                       self.currStep = self.getStepWithID("checklanstatusend")
+                       self.afterAsyncCode()
+
+       def AdapterSetupEndFinished(self,data):
+               if data <= 2:
+                       self.InterfaceState = True
+               else:
+                       self.InterfaceState = False
+               self.AdapterRef.close(True)
+                       
+       def checkNetwork(self):
+               iNetwork.checkNetworkState(self.checkNetworkStateFinished)
+               self.checkRef = self.session.openWithCallback(self.checkNetworkCB, MessageBox, _("Please wait while we test your network..."), type = MessageBox.TYPE_INFO, enable_input = False)
+
+       def checkNetworkCB(self,data):
+               if data is True:
+                       self.currStep = self.getStepWithID("checklanstatusend")
+                       self.afterAsyncCode()
+
+       def checkNetworkStateFinished(self,data):
+               if data <= 2:
+                       self.InterfaceState = True
+               else:
+                       self.InterfaceState = False
+               self.checkRef.close(True)
+       
+       def markDone(self):
+               pass
+
+       def listModes(self):
+               list = []
+               self.WlanList = []
+               try:
+                       from Plugins.SystemPlugins.WirelessLan.Wlan import Wlan
+               except ImportError:
+                       list.append( ( _("No networks found"),_("unavailable") ) )
+                       self.WlanList.append(_("No networks found"))
+                       return list
+               else:   
+                       self.w = Wlan(self.selectedInterface)
+                       aps = self.w.getNetworkList()
+                       if aps is not None:
+                               print "[NetworkWizard.py] got Accespoints!"
+                               for ap in aps:
+                                       a = aps[ap]
+                                       if a['active']:
+                                               if a['essid'] != "":
+                                                       #a['essid'] = a['bssid']
+                                                       list.append( (a['essid'], a['essid']) )
+                                                       self.WlanList.append(a['essid'])        
+                       if "hidden..." not in list:
+                               list.append( ( _("enter hidden network SSID"),_("hidden...") ) )
+                               self.WlanList.append(_("hidden..."))    
+                       return list
+
+       def modeSelectionMade(self, index):
+               self.modeSelect(index)
+               
+       def modeSelectionMoved(self):
+               self.modeSelect(self.selection)
+               
+       def modeSelect(self, mode):
+               self.ap = mode
+               print "ModeSelected:", mode
+
+       def restartNetwork(self):
+               iNetwork.restartNetwork()
+               self.checkNetwork()
+       
+       def isWlanPluginInstalled(self):                
+               try:
+                       from Plugins.SystemPlugins.WirelessLan.Wlan import Wlan
+               except ImportError:
+                       self.WlanPluginInstalled = False
+               else:
+                       self.WlanPluginInstalled = True
+
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/__init__.py b/lib/python/Plugins/SystemPlugins/NetworkWizard/__init__.py
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/meta/Makefile.am b/lib/python/Plugins/SystemPlugins/NetworkWizard/meta/Makefile.am
new file mode 100755 (executable)
index 0000000..98dbe80
--- /dev/null
@@ -0,0 +1,3 @@
+installdir = $(datadir)/meta/
+
+dist_install_DATA = plugin_networkwizard.xml
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/meta/plugin_networkwizard.xml b/lib/python/Plugins/SystemPlugins/NetworkWizard/meta/plugin_networkwizard.xml
new file mode 100755 (executable)
index 0000000..660bbcd
--- /dev/null
@@ -0,0 +1,25 @@
+<default>
+         <prerequisites>
+                    <tag type="System" />
+         </prerequisites>
+          <info language="en">
+                    <author>Dream Multimedia</author>
+                    <name>NetworkWizard</name>
+                    <packagename>enigma2-plugin-systemplugins-networkwizard</packagename>
+                    <shortdescription>Step by step network configuration</shortdescription>
+                    <description>With the NetworkWizard you can easy configure your network step by step.
+                    </description>
+          </info>
+          <info language="de">
+                    <author>Dream Multimedia</author>
+                    <name>NetzwerkWizard</name>
+                    <packagename>enigma2-plugin-systemplugins-networkwizard</packagename>
+                    <shortdescription>Schritt für Schritt Netzwerk konfiguration</shortdescription>
+                    <description>Mit dem NetzwerkWizard können Sie Ihr Netzwerk konfigurieren. Sie werden Schritt
+                       für Schritt durch die Konfiguration geleitet.
+                    </description>
+          </info>
+         <files type="package"> <!-- without version, without .ipk -->
+               <file type="package" name="enigma2-plugin-systemplugins-networkwizard" />
+         </files>
+</default>
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/networkwizard.xml b/lib/python/Plugins/SystemPlugins/NetworkWizard/networkwizard.xml
new file mode 100755 (executable)
index 0000000..134797a
--- /dev/null
@@ -0,0 +1,172 @@
+<wizard>
+               <step id="welcome" nextstep="selectinterface">
+                       <text value="Welcome.\n\nIf you want to connect your Dreambox to the Internet, this wizard will guide you through the basic network setup of your Dreambox.\n\nPress OK to start configuring your network" />
+                       <displaytext value="Network Wizard" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+                       </code>
+               </step>
+
+               <step id="selectinterface">
+                       <text value="Please select the network interface that you want to use for your internet connection.\n\nPlease press OK to continue." />
+                       <displaytext value="Select interface" />
+                       <list type="dynamic" source="listInterfaces" evaluation="InterfaceSelectionMade" onselect="InterfaceSelectionMoved" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+                       </code>
+                       <code pos="after" async="yes">
+self.checkInterface(self.selectedInterface)
+                       </code> 
+               </step>
+
+               <step id="nwconfig">
+                       <text value="Please configure your internet connection by filling out the required values.\nWhen you are ready press OK to continue." />
+                       <displaytext value="Configure interface" />
+                       <config screen="AdapterSetup" module="NetworkSetup" args="self.selectedInterface" type="ConfigList" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+self.selectKey("LEFT")
+self.selectKey("RIGHT")
+                       </code>
+                       <code pos="after" async="yes">
+self.AdapterSetupEnd(self.selectedInterface)
+                       </code>                 
+               </step>
+
+               <step id="confdns" nextstep="checklanstatusend">
+                       <text value="Please configure or verify your Nameservers by filling out the required values.\nWhen you are ready press OK to continue." />
+                       <displaytext value="Configure nameservers" />
+                       <config screen="NameserverSetup" module="NetworkSetup" type="ConfigList" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+                       </code>
+                       <code pos="after" async="yes">
+self.checkNetwork()
+                       </code> 
+               </step>
+
+               <step id="checklanstatusend" nextstep="end">
+               <condition>
+self.condition = (self.InterfaceState == True )
+               </condition>
+                       <text value="Your Dreambox is now ready to use.\n\nYour internet connection is working now.\n\nPlease press OK to continue." />
+                       <displaytext value="Please follow the instructions on the TV" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+                       </code>
+                       <code pos="after">
+currStep = self.numSteps                               
+self.wizard[currStep]["nextstep"] = None
+self.markDone()
+self.close()
+                       </code> 
+               </step>
+
+               <step id="checklanstatusend">
+               <condition>
+self.condition = (self.InterfaceState == False )
+               </condition>
+                       <text value="Your internet connection is not working!\nPlease choose what you want to do next." />
+                       <displaytext value="Please follow the instructions on the TV" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+                       </code>
+                       <list>
+                               <listentry caption="Configure your network again" step="selectinterface" />
+                               <listentry caption="Exit network wizard" step="end" />
+                       </list>
+               </step>
+
+               <step id="scanwlan" nextstep="wlanconfig">
+               <condition>
+self.condition = (self.isInterfaceUp == True and self.WlanPluginInstalled == True)
+               </condition>
+                       <text value="Please select the wireless network that you want to connect to.\n\nPlease press OK to continue." />
+                       <displaytext value="Select wireless network" />
+                       <list type="dynamic" source="listModes" evaluation="modeSelectionMade" onselect="modeSelectionMoved" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+self.selectKey("LEFT")
+self.selectKey("RIGHT")
+                       </code>
+               </step>
+
+               <step id="scanwlan">
+               <condition>
+self.condition = (self.isInterfaceUp == False and self.WlanPluginInstalled == True)
+               </condition>
+                       <text value="Your wireless LAN internet connection could not be started!\nHave you attached your USB WLAN Stick?\n\nPlease choose what you want to do next." />
+                       <displaytext value="Please follow the instructions on the TV" />
+                       <list>
+                               <listentry caption="Configure your wireless LAN again" step="scanwlan" />
+                               <listentry caption="Configure your internal LAN" step="selectinterface" />
+                               <listentry caption="Exit network wizard" step="end" />
+                       </list>
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+                       </code>
+               </step>
+
+               <step id="scanwlan">
+               <condition>
+self.condition = (self.isInterfaceUp == True and self.WlanPluginInstalled == False)
+               </condition>
+                       <text value="The wireless LAN plugin is not installed!\nPlease install it and choose what you want to do next." />
+                       <displaytext value="Please follow the instructions on the TV" />
+                       <list>
+                               <listentry caption="Configure your internal LAN" step="selectinterface" />
+                               <listentry caption="Exit network wizard" step="end" />
+                       </list>
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+                       </code>
+               </step>
+
+               <step id="wlanconfig">
+                       <text value="Please configure your internet connection by filling out the required values.\nWhen you are ready press OK to continue." />
+                       <displaytext value="Configure interface" />
+                       <config screen="AdapterSetup" module="NetworkSetup" args="(self.selectedInterface,self.ap,self.WlanList)" type="ConfigList" />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+self.selectKey("LEFT")
+self.selectKey("RIGHT")
+                       </code>
+                       <code pos="after" async="yes">
+self.AdapterSetupEnd(self.selectedInterface)
+                       </code>                 
+               </step>
+
+               <step id="end">
+                       <text value="Thank you for using the wizard.\nPlease press OK to continue." />
+                       <code>
+self.clearSelectedKeys()
+self.selectKey("OK")
+                       </code>
+               </step>
+</wizard>
+
+
diff --git a/lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py b/lib/python/Plugins/SystemPlugins/NetworkWizard/plugin.py
new file mode 100755 (executable)
index 0000000..dc3beca
--- /dev/null
@@ -0,0 +1,22 @@
+from Screens.Screen import Screen
+from Plugins.Plugin import PluginDescriptor
+from Components.config import getConfigListEntry, config
+
+def NetworkWizardMain(session, **kwargs):
+       session.open(NetworkWizard)
+
+def startSetup(menuid):
+       if menuid != "system": 
+               return [ ]
+
+       return [(_("Network Wizard") + "...", NetworkWizardMain, "nw_wizard", 40)]
+
+def NetworkWizard(*args, **kwargs):
+       from NetworkWizard import NetworkWizard
+       return NetworkWizard(*args, **kwargs)
+
+def Plugins(**kwargs):
+       list = []
+       if config.misc.firstrun.value:
+               list.append(PluginDescriptor(name=_("Network Wizard"), where = PluginDescriptor.WHERE_WIZARD, fnc=(25, NetworkWizard)))
+       return list
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/LICENSE b/lib/python/Plugins/SystemPlugins/WirelessLan/LICENSE
new file mode 100755 (executable)
index 0000000..9970059
--- /dev/null
@@ -0,0 +1,12 @@
+This plugin is licensed under the Creative Commons 
+Attribution-NonCommercial-ShareAlike 3.0 Unported 
+License. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative
+Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
+
+Alternatively, this plugin may be distributed and executed on hardware which
+is licensed by Dream Multimedia GmbH.
+
+This plugin is NOT free software. It is open source, you are allowed to
+modify it (if you keep the license), but it may not be commercially 
+distributed other than under the conditions noted above.
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/Makefile.am b/lib/python/Plugins/SystemPlugins/WirelessLan/Makefile.am
new file mode 100755 (executable)
index 0000000..365372c
--- /dev/null
@@ -0,0 +1,13 @@
+installdir = $(pkglibdir)/python/Plugins/SystemPlugins/WirelessLan
+
+#SUBDIRS = meta
+
+install_PYTHON =       \
+       __init__.py \
+       flags.py \
+       iwlibs.py \
+       plugin.py \
+       Wlan.py
+
+dist_install_DATA = \
+       LICENSE
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py b/lib/python/Plugins/SystemPlugins/WirelessLan/Wlan.py
new file mode 100755 (executable)
index 0000000..ba1e13d
--- /dev/null
@@ -0,0 +1,612 @@
+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
+
+from os import system
+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
+
+list = []
+list.append("WEP")
+list.append("WPA")
+list.append("WPA2")
+list.append("WPA/WPA2")
+
+weplist = []
+weplist.append("ASCII")
+weplist.append("HEX")
+
+config.plugins.wlan = ConfigSubsection()
+config.plugins.wlan.essid = NoSave(ConfigText(default = "home", fixed_size = False))
+config.plugins.wlan.hiddenessid = NoSave(ConfigText(default = "home", fixed_size = False))
+
+config.plugins.wlan.encryption = ConfigSubsection()
+config.plugins.wlan.encryption.enabled = NoSave(ConfigYesNo(default = True))
+config.plugins.wlan.encryption.type = NoSave(ConfigSelection(list, default = "WPA/WPA2"))
+config.plugins.wlan.encryption.wepkeytype = NoSave(ConfigSelection(weplist, default = "ASCII"))
+config.plugins.wlan.encryption.psk = NoSave(ConfigPassword(default = "mysecurewlan", fixed_size = False))
+
+class Wlan:
+       def __init__(self, iface):
+               a = ''; b = ''
+               
+               for i in range(0, 255):
+                   a = a + chr(i)
+                   if i < 32 or i > 127:
+                       b = b + ' '
+                   else:
+                       b = b + chr(i)
+               
+               self.iface = iface
+               self.wlaniface = {}
+               self.WlanConsole = Console()
+               self.asciitrans = maketrans(a, b)
+
+       def stopWlanConsole(self):
+               if self.WlanConsole is not None:
+                       print "killing self.WlanConsole"
+                       self.WlanConsole = None
+                       del self.WlanConsole
+                       
+       def getDataForInterface(self, callback = None):
+               #get ip out of ip addr, as avahi sometimes overrides it in ifconfig.
+               print "self.iface im getDataForInterface",self.iface
+               if len(self.WlanConsole.appContainers) == 0:
+                       self.WlanConsole = Console()
+                       cmd = "iwconfig " + self.iface
+                       self.WlanConsole.ePopen(cmd, self.iwconfigFinished, callback)
+
+       def iwconfigFinished(self, result, retval, extra_args):
+               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")
+                                       else:
+                                           ssid = tmpssid
+                               #print "SSID->",ssid
+                               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:
+                               if ":off" in line:
+                                   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:
+                               if "/100" in line:
+                                       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            
+                               if signal is not None:
+                                       data['signal'] = signal
+
+               self.wlaniface[self.iface] = data
+               
+               if len(self.WlanConsole.appContainers) == 0:
+                       print "self.wlaniface after loading:", self.wlaniface
+                       self.WlanConsole = None
+                       if callback is not None:
+                               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):
+                               return self.wlaniface[self.iface][attribute]
+               return None
+               
+       def asciify(self, str):
+               return str.translate(self.asciitrans)
+
+       
+       def getWirelessInterfaces(self):
+               iwifaces = None
+               try:
+                       iwifaces = getNICnames()
+               except:
+                       print "[Wlan.py] No Wireless Networkcards could be found"
+               
+               return iwifaces
+
+       
+       def getNetworkList(self):
+               system("ifconfig "+self.iface+" up")
+               ifobj = Wireless(self.iface) # a Wireless NIC Object
+               
+               #Association mappings
+               stats, quality, discard, missed_beacon = ifobj.getStatistics()
+               snr = quality.signallevel - quality.noiselevel
+
+               try:
+                       scanresults = ifobj.scan()
+               except:
+                       scanresults = None
+                       print "[Wlan.py] No Wireless Networks could be found"
+               
+               if scanresults is not None:
+                       aps = {}
+                       for result in scanresults:
+                       
+                               bssid = result.bssid
+               
+                               encryption = map(lambda x: hex(ord(x)), result.encode)
+               
+                               if encryption[-1] == "0x8":
+                                       encryption = True
+                               else:
+                                       encryption = False
+               
+                               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)
+
+                               else:
+                                       signal = str(result.quality.sl)
+                               
+                               aps[bssid] = {
+                                       'active' : True,
+                                       'bssid': result.bssid,
+                                       'channel': result.frequency.getChannel(result.frequency.getFrequency()),
+                                       '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,
+                                       'custom' : extra,
+                               }
+                               print aps[bssid]
+                       return aps
+
+               
+       def getStatus(self):
+               ifobj = Wireless(self.iface)
+               fq = Iwfreq()
+               try:
+                       self.channel = str(fq.getChannel(str(ifobj.getFrequency()[0:-3])))
+               except:
+                       self.channel = 0
+               #print ifobj.getStatistics()
+               status = {
+                                 'BSSID': str(ifobj.getAPaddr()),
+                                 'ESSID': str(ifobj.getEssid()),
+                                 'quality': str(ifobj.getStatistics()[1].quality),
+                                 'signal': str(ifobj.getStatistics()[1].sl),
+                                 'bitrate': str(ifobj.getBitrate()),
+                                 'channel': str(self.channel),
+                                 #'channel': str(fq.getChannel(str(ifobj.getFrequency()[0:-3]))),
+               }
+               
+               for (key, item) in status.items():
+                       if item is "None" or item is "":
+                                       status[key] = _("N/A")
+                               
+               return status
+
+
+
+class WlanList(HTMLComponent, GUIComponent):
+       def __init__(self, session, iface):
+               
+               GUIComponent.__init__(self)
+               self.w = Wlan(iface)
+               self.iface = iface
+               
+               self.length = 0
+               self.aplist = None
+               self.list = None
+               self.oldlist = None
+               self.l = None
+               self.l = eListboxPythonMultiContent()
+               
+               self.l.setFont(0, gFont("Regular", 32))
+               self.l.setFont(1, gFont("Regular", 18))
+               self.l.setFont(2, gFont("Regular", 16))
+               self.l.setBuildFunc(self.buildWlanListEntry)            
+                               
+               self.reload()
+       
+       def buildWlanListEntry(self, essid, bssid, encrypted, iface, maxrate, signal):                                                                                                 
+               
+               res = [ (essid, encrypted, iface) ]
+               
+               if essid == "":
+                       essid = bssid
+               
+               e = encrypted and _("Yes") or _("No")
+               res.append( MultiContentEntryText(pos=(0, 0), size=(470, 35), font=0, flags=RT_HALIGN_LEFT, text=essid) )
+               res.append( MultiContentEntryText(pos=(425, 0), size=(60, 20), font=1, flags=RT_HALIGN_LEFT, text=_("Signal: ")))
+               res.append( MultiContentEntryText(pos=(480, 0), size=(70, 35), font=0, flags=RT_HALIGN_RIGHT, text="%s" %signal))
+               res.append( MultiContentEntryText(pos=(0, 40), size=(180, 20), font=1, flags=RT_HALIGN_LEFT, text=_("Max. Bitrate: %s") %maxrate ))
+               res.append( MultiContentEntryText(pos=(190, 40), size=(180, 20), font=1, flags=RT_HALIGN_CENTER, text=_("Encrypted: %s") %e ))
+               res.append( MultiContentEntryText(pos=(345, 40), size=(190, 20), font=1, flags=RT_HALIGN_RIGHT, text=_("Interface: %s") %iface ))
+               return res
+               
+                       
+       def reload(self):
+               aps = self.w.getNetworkList()
+
+               self.list = []
+               self.aplist = []
+               if aps is not None:
+                       print "[Wlan.py] got Accespoints!"
+                       for ap in aps:
+                               a = aps[ap]
+                               if a['active']:
+                                       if a['essid'] != '':
+                                       #       a['essid'] = a['bssid']
+                                               self.list.append( (a['essid'], a['bssid'], a['encrypted'], a['iface'], a['maxrate'], a['signal']) )
+                                       #self.aplist.append( a['essid'])
+               if self.oldlist is not None:
+                       for entry in self.oldlist:
+                               if entry not in self.list:
+                                       self.list.append(entry)
+               
+               if len(self.list):
+                       for entry in self.list:
+                               self.aplist.append( entry[0])
+               self.length = len(self.list)
+               self.oldlist = self.list
+               self.l.setList([])
+               self.l.setList(self.list)
+                       
+       GUI_WIDGET = eListbox
+
+
+       def getCurrent(self):
+               return self.l.getCurrentSelection()
+       
+       
+       def postWidgetCreate(self, instance):
+               instance.setContent(self.l)
+               instance.setItemHeight(60)
+       
+       
+       def getLength(self):
+               return self.length
+       
+       def getList(self):
+               return self.aplist
+
+
+class wpaSupplicant:
+       def __init__(self):
+               pass
+       
+               
+       def writeConfig(self):  
+                       
+                       essid = config.plugins.wlan.essid.value
+                       hiddenessid = config.plugins.wlan.hiddenessid.value
+                       encrypted = config.plugins.wlan.encryption.enabled.value
+                       encryption = config.plugins.wlan.encryption.type.value
+                       wepkeytype = config.plugins.wlan.encryption.wepkeytype.value
+                       psk = config.plugins.wlan.encryption.psk.value
+                       fp = file('/etc/wpa_supplicant.conf', 'w')
+                       fp.write('#WPA Supplicant Configuration by enigma2\n')
+                       fp.write('ctrl_interface=/var/run/wpa_supplicant\n')
+                       fp.write('eapol_version=1\n')
+                       fp.write('fast_reauth=1\n')     
+                       if essid == 'hidden...':
+                               fp.write('ap_scan=2\n')
+                       else:
+                               fp.write('ap_scan=1\n')
+                       fp.write('network={\n')
+                       if essid == 'hidden...':
+                               fp.write('\tssid="'+hiddenessid+'"\n')
+                       else:
+                               fp.write('\tssid="'+essid+'"\n')
+                       fp.write('\tscan_ssid=0\n')                     
+                       if encrypted:
+                               if encryption == 'WPA' or encryption == 'WPA2' or encryption == 'WPA/WPA2' :
+                                       fp.write('\tkey_mgmt=WPA-PSK\n')
+                                       
+                                       if encryption == 'WPA':
+                                               fp.write('\tproto=WPA\n')
+                                               fp.write('\tpairwise=TKIP\n')
+                                               fp.write('\tgroup=TKIP\n')
+                                       elif encryption == 'WPA2':
+                                               fp.write('\tproto=WPA RSN\n')
+                                               fp.write('\tpairwise=CCMP TKIP\n')
+                                               fp.write('\tgroup=CCMP TKIP\n')                                         
+                                       else:
+                                               fp.write('\tproto=WPA WPA2\n')
+                                               fp.write('\tpairwise=CCMP\n')
+                                               fp.write('\tgroup=TKIP\n')                                      
+                                       fp.write('\tpsk="'+psk+'"\n')
+                                               
+                               elif encryption == 'WEP':
+                                       fp.write('\tkey_mgmt=NONE\n')
+                                       if wepkeytype == 'ASCII':
+                                               fp.write('\twep_key0="'+psk+'"\n')
+                                       else:
+                                               fp.write('\twep_key0='+psk+'\n')
+                       else:
+                               fp.write('\tkey_mgmt=NONE\n')                   
+                       fp.write('}')
+                       fp.write('\n')
+                       fp.close()
+                       system("cat /etc/wpa_supplicant.conf")
+               
+       def loadConfig(self):
+               try:
+                       #parse the wpasupplicant configfile
+                       fp = file('/etc/wpa_supplicant.conf', 'r')
+                       supplicant = fp.readlines()
+                       fp.close()
+                       ap_scan = False
+                       essid = None
+
+                       for s in supplicant:
+                               split = s.strip().split('=',1)
+                               if split[0] == 'ap_scan':
+                                       print "[Wlan.py] Got Hidden SSID Scan  Value "+split[1]
+                                       if split[1] == '2':
+                                               ap_scan = True
+                                       else:
+                                               ap_scan = False
+                                               
+                               elif split[0] == 'ssid':
+                                       print "[Wlan.py] Got SSID "+split[1][1:-1]
+                                       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'
+                                       if split[1] == "WPA WPA2" :
+                                               mode = 'WPA/WPA2'
+                                       if split[1] == "WPA RSN" :
+                                               mode = 'WPA2'
+                                       config.plugins.wlan.encryption.type.value = mode
+                                       print "[Wlan.py] Got Encryption: "+mode
+                                       
+                               #currently unused !
+                               #elif split[0] == 'key_mgmt':
+                               #       print "split[1]",split[1]
+                               #       if split[1] == "WPA-PSK" :
+                               #               config.plugins.wlan.encryption.enabled.value = True
+                               #               config.plugins.wlan.encryption.type.value = "WPA/WPA2"
+                               #       print "[Wlan.py] Got Encryption: "+ config.plugins.wlan.encryption.type.value
+                                       
+                               elif split[0] == 'wep_key0':
+                                       config.plugins.wlan.encryption.enabled.value = True
+                                       config.plugins.wlan.encryption.type.value = 'WEP'
+                                       if split[1].startswith('"') and split[1].endswith('"'):
+                                               config.plugins.wlan.encryption.wepkeytype.value = 'ASCII'
+                                               config.plugins.wlan.encryption.psk.value = split[1][1:-1]
+                                       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
+                               
+                       if ap_scan is True:
+                               config.plugins.wlan.hiddenessid.value = essid
+                               config.plugins.wlan.essid.value = 'hidden...'
+                       else:
+                               config.plugins.wlan.hiddenessid.value = essid
+                               config.plugins.wlan.essid.value = essid
+                       wsconfig = {
+                                       'hiddenessid': config.plugins.wlan.hiddenessid.value,
+                                       'ssid': config.plugins.wlan.essid.value,
+                                       'encryption': config.plugins.wlan.encryption.enabled.value,
+                                       'encryption_type': config.plugins.wlan.encryption.type.value,
+                                       'encryption_wepkeytype': config.plugins.wlan.encryption.wepkeytype.value,
+                                       'key': config.plugins.wlan.encryption.psk.value,
+                               }
+               
+                       for (key, item) in wsconfig.items():
+                               if item is "None" or item is "":
+                                       if key == 'hiddenessid':
+                                               wsconfig['hiddenessid'] = "home"
+                                       if key == 'ssid':
+                                               wsconfig['ssid'] = "home"
+                                       if key == 'encryption':
+                                               wsconfig['encryption'] = True                           
+                                       if key == 'encryption':
+                                               wsconfig['encryption_type'] = "WPA/WPA2"
+                                       if key == 'encryption':
+                                               wsconfig['encryption_wepkeytype'] = "ASCII"
+                                       if key == 'encryption':
+                                               wsconfig['key'] = "mysecurewlan"
+
+               except:
+                       print "[Wlan.py] Error parsing /etc/wpa_supplicant.conf"
+                       wsconfig = {
+                                       'hiddenessid': "home",
+                                       'ssid': "home",
+                                       'encryption': True,
+                                       'encryption_type': "WPA/WPA2",
+                                       'encryption_wepkeytype': "ASCII",
+                                       'key': "mysecurewlan",
+                               }
+               print "[Wlan.py] WS-CONFIG-->",wsconfig
+               return wsconfig
+
+       
+       def restart(self, iface):
+               system("start-stop-daemon -K -x /usr/sbin/wpa_supplicant")
+               system("start-stop-daemon -S -x /usr/sbin/wpa_supplicant -- -B -i"+iface+" -c/etc/wpa_supplicant.conf")
+
+class Status:
+       def __init__(self):
+               self.wlaniface = {}
+               self.backupwlaniface = {}
+               self.WlanConsole = Console()
+
+       def stopWlanConsole(self):
+               if self.WlanConsole is not None:
+                       print "killing self.WlanConsole"
+                       self.WlanConsole = None
+                       
+       def getDataForInterface(self, iface, callback = None):
+               self.WlanConsole = Console()
+               cmd = "iwconfig " + iface
+               self.WlanConsole.ePopen(cmd, self.iwconfigFinished, [iface, callback])
+
+       def iwconfigFinished(self, result, retval, extra_args):
+               (iface, callback) = extra_args
+               data = { 'essid': False, 'frequency': False, 'acesspoint': False, 'bitrate': False, 'encryption': False, 'quality': False, 'signal': False }
+               for line in result.splitlines():
+                       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")
+                                       else:
+                                           ssid = tmpssid
+                               #print "SSID->",ssid
+                               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":
+                                               data['essid'] = _("No Connection")
+                       if "Bit Rate" in line:
+                               if "kb" in line:
+                                       br = line[line.index('Bit Rate')+9 :line.index(' kb/s')]
+                                       if br == '0':
+                                               br = _("Unsupported")
+                                       else:
+                                               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:
+                               if ":off" in line:
+                                       if data['acesspoint'] is not "Not-Associated":
+                                               enc = _("Unsupported")
+                                       else:
+                                               enc = _("Disabled")
+                               else:
+                                       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')]
+                               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 += " dBm"
+                               elif "/100" in line:
+                                       signal = line[line.index('Signal level')+13:line.index('/100  Noise')]
+                                       signal += "%"
+                               else:
+                                       signal = line[line.index('Signal level')+13:line.index('  Noise')]
+                                       signal += "%"
+                               #print "Signal level",signal            
+                               if signal is not None:
+                                       data['signal'] = signal
+
+               self.wlaniface[iface] = data
+               self.backupwlaniface = self.wlaniface
+               
+               if self.WlanConsole is not None:
+                       if len(self.WlanConsole.appContainers) == 0:
+                               print "self.wlaniface after loading:", self.wlaniface
+                               if callback is not None:
+                                       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
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/__init__.py b/lib/python/Plugins/SystemPlugins/WirelessLan/__init__.py
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/flags.py b/lib/python/Plugins/SystemPlugins/WirelessLan/flags.py
new file mode 100755 (executable)
index 0000000..4435f84
--- /dev/null
@@ -0,0 +1,104 @@
+# -*- 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
new file mode 100755 (executable)
index 0000000..c5f9c6d
--- /dev/null
@@ -0,0 +1,1114 @@
+# -*- 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
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py b/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py
new file mode 100755 (executable)
index 0000000..74520dc
--- /dev/null
@@ -0,0 +1,286 @@
+from enigma import eTimer
+from Screens.Screen import Screen
+from Components.ActionMap import ActionMap, NumberActionMap
+from Components.Pixmap import Pixmap,MultiPixmap
+from Components.Label import Label
+from Components.Sources.StaticText import StaticText
+from Components.MenuList import MenuList
+from Components.config import config, getConfigListEntry, ConfigYesNo, NoSave, ConfigSubsection, ConfigText, ConfigSelection, ConfigPassword
+from Components.ConfigList import ConfigListScreen
+from Components.Network import Network, iNetwork
+from Components.Console import Console
+from Plugins.Plugin import PluginDescriptor
+from os import system, path as os_path, listdir
+from Wlan import Wlan, WlanList, wpaSupplicant
+from Wlan import Status, iStatus
+
+plugin_path = "/usr/lib/enigma2/python/Plugins/SystemPlugins/WirelessLan"
+
+list = []
+list.append("WEP")
+list.append("WPA")
+list.append("WPA2")
+list.append("WPA/WPA2")
+
+weplist = []
+weplist.append("ASCII")
+weplist.append("HEX")
+
+config.plugins.wlan = ConfigSubsection()
+config.plugins.wlan.essid = NoSave(ConfigText(default = "home", fixed_size = False))
+config.plugins.wlan.hiddenessid = NoSave(ConfigText(default = "home", fixed_size = False))
+
+config.plugins.wlan.encryption = ConfigSubsection()
+config.plugins.wlan.encryption.enabled = NoSave(ConfigYesNo(default = False))
+config.plugins.wlan.encryption.type = NoSave(ConfigSelection(list, default = "WPA/WPA2" ))
+config.plugins.wlan.encryption.wepkeytype = NoSave(ConfigSelection(weplist, default = "ASCII"))
+config.plugins.wlan.encryption.psk = NoSave(ConfigPassword(default = "mysecurewlan", fixed_size = False))
+
+
+class WlanStatus(Screen):
+       skin = """
+       <screen position="center,center" size="560,400" title="Wireless Network State" >
+               <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+               <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+
+               <widget source="LabelBSSID" render="Label" position="10,60" size="250,25" valign="left" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="LabelESSID" render="Label" position="10,100" size="250,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="LabelQuality" render="Label" position="10,140" size="250,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="LabelSignal" render="Label" position="10,180" size="250,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="LabelBitrate" render="Label" position="10,220" size="250,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="LabelEnc" render="Label" position="10,260" size="250,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               
+               <widget source="BSSID" render="Label" position="320,60" size="180,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="ESSID" render="Label" position="320,100" size="180,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="quality" render="Label" position="320,140" size="180,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="signal" render="Label" position="320,180" size="180,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="bitrate" render="Label" position="320,220" size="180,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+               <widget source="enc" render="Label" position="320,260" size="180,25" valign="center" font="Regular;20" transparent="1" foregroundColor="#FFFFFF" />
+
+               <ePixmap pixmap="skin_default/div-h.png" position="0,350" zPosition="1" size="560,2" />         
+               <widget source="IFtext" render="Label" position="10,355" size="120,21" zPosition="10" font="Regular;20" halign="left" backgroundColor="#25062748" transparent="1" />
+               <widget source="IF" render="Label" position="120,355" size="400,21" zPosition="10" font="Regular;20" halign="left" backgroundColor="#25062748" transparent="1" />
+               <widget source="Statustext" render="Label" position="10,375" size="115,21" zPosition="10" font="Regular;20" halign="left" backgroundColor="#25062748" transparent="1"/>
+               <widget name="statuspic" pixmaps="skin_default/buttons/button_green.png,skin_default/buttons/button_green_off.png" position="130,380" zPosition="10" size="15,16" transparent="1" alphatest="on"/>
+       </screen>
+       """
+       
+       def __init__(self, session, iface):
+               Screen.__init__(self, session)
+               self.session = session
+               self.iface = iface
+               self.skin = WlanStatus.skin
+                                   
+               self["LabelBSSID"] = StaticText(_('Accesspoint:'))
+               self["LabelESSID"] = StaticText(_('SSID:'))
+               self["LabelQuality"] = StaticText(_('Link Quality:'))
+               self["LabelSignal"] = StaticText(_('Signal Strength:'))
+               self["LabelBitrate"] = StaticText(_('Bitrate:'))
+               self["LabelEnc"] = StaticText(_('Encryption:'))
+                       
+               self["BSSID"] = StaticText()
+               self["ESSID"] = StaticText()
+               self["quality"] = StaticText()
+               self["signal"] = StaticText()
+               self["bitrate"] = StaticText()
+               self["enc"] = StaticText()
+
+               self["IFtext"] = StaticText()
+               self["IF"] = StaticText()
+               self["Statustext"] = StaticText()
+               self["statuspic"] = MultiPixmap()
+               self["statuspic"].hide()
+               self["key_red"] = StaticText(_("Close"))
+
+               self.resetList()
+               self.updateStatusbar()
+               
+               self["actions"] = NumberActionMap(["WizardActions", "InputActions", "EPGSelectActions", "ShortcutActions"],
+               {
+                       "ok": self.exit,
+                       "back": self.exit,
+                       "red": self.exit,
+               }, -1)
+               self.timer = eTimer()
+               self.timer.timeout.get().append(self.resetList) 
+               self.onShown.append(lambda: self.timer.start(5000))
+               self.onLayoutFinish.append(self.layoutFinished)
+               self.onClose.append(self.cleanup)
+
+       def cleanup(self):
+               iStatus.stopWlanConsole()
+               
+       def layoutFinished(self):
+               self.setTitle(_("Wireless Network State"))
+               
+       def resetList(self):
+               print "self.iface im resetlist",self.iface
+               iStatus.getDataForInterface(self.iface,self.getInfoCB)
+               
+       def getInfoCB(self,data,status):
+               if data is not None:
+                       if data is True:
+                               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["signal"].setText(status[self.iface]["signal"])
+                                       self["bitrate"].setText(status[self.iface]["bitrate"])
+                                       self["enc"].setText(status[self.iface]["encryption"])
+                                       self.updateStatusLink(status)
+
+       def exit(self):
+               self.timer.stop()
+               self.close()    
+
+       def updateStatusbar(self):
+               print "self.iface im updateStatusbar",self.iface
+               self["BSSID"].setText(_("Please wait..."))
+               self["ESSID"].setText(_("Please wait..."))
+               self["quality"].setText(_("Please wait..."))
+               self["signal"].setText(_("Please wait..."))
+               self["bitrate"].setText(_("Please wait..."))
+               self["enc"].setText(_("Please wait..."))
+               self["IFtext"].setText(_("Network:"))
+               self["IF"].setText(iNetwork.getFriendlyAdapterName(self.iface))
+               self["Statustext"].setText(_("Link:"))
+
+       def updateStatusLink(self,status):
+               if status is not None:
+                       if status[self.iface]["acesspoint"] == "No Connection" or status[self.iface]["acesspoint"] == "Not-Associated" or status[self.iface]["acesspoint"] == False:
+                               self["statuspic"].setPixmapNum(1)
+                       else:
+                               self["statuspic"].setPixmapNum(0)
+                       self["statuspic"].show()                
+
+class WlanScan(Screen):
+       skin = """
+       <screen position="center,center" size="560,400" title="Choose a Wireless Network" >
+               <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+               <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+               <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" alphatest="on" />
+               <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+               <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+               <widget source="key_yellow" render="Label" position="280,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />
+               <widget name="list" position="5,50" size="550,280" scrollbarMode="showOnDemand" />
+               <ePixmap pixmap="skin_default/div-h.png" position="0,340" zPosition="1" size="560,2" />         
+               <widget source="info" render="Label" position="0,350" size="560,50" font="Regular;24" halign="center" valign="center" backgroundColor="#25062748" transparent="1" />
+       </screen>
+       """
+
+       def __init__(self, session, iface):
+               Screen.__init__(self, session)
+               self.session = session
+               self.iface = iface
+               self.skin = WlanScan.skin
+               self.skin_path = plugin_path
+               self.oldInterfaceState = iNetwork.getAdapterAttribute(self.iface, "up")
+               
+               self["info"] = StaticText()
+               
+               self.list = []  
+               self["list"] = WlanList(self.session, self.iface)
+               
+               self.setInfo()
+
+               self["key_red"] = StaticText(_("Close"))
+               self["key_green"] = StaticText(_("Connect"))
+               self["key_yellow"] = StaticText(_("Refresh"))
+                       
+               self["actions"] = NumberActionMap(["WizardActions", "InputActions", "EPGSelectActions"],
+               {
+                       "ok": self.select,
+                       "back": self.cancel,
+               }, -1)
+               
+               self["shortcuts"] = ActionMap(["ShortcutActions"],
+               {
+                       "red": self.cancel,
+                       "green": self.select,
+                       "yellow": self.rescan,
+               })
+               self.onLayoutFinish.append(self.layoutFinished)
+               
+       def layoutFinished(self):
+               self.setTitle(_("Choose a wireless network"))
+       
+       def select(self):
+               cur = self["list"].getCurrent()
+               #print "CURRENT",cur
+               if cur is not None:
+                       if cur[1] is not None:
+                               essid = cur[0]
+                               if essid == '':
+                                       essid = cur[1]
+                               encrypted = cur[2]
+                               self.close(essid,self["list"].getList())
+                       else:
+                               self.close(None,None)
+               else:
+                       self.close(None,None)
+       
+       def WlanSetupClosed(self, *ret):
+               if ret[0] == 2:
+                       self.close(None)
+       
+       def rescan(self):
+               self["list"].reload()
+               self.setInfo()
+       
+       def cancel(self):
+               if self.oldInterfaceState is False:
+                       iNetwork.deactivateInterface(self.iface,self.deactivateInterfaceCB)
+               else:
+                       self.close(None)
+
+       def deactivateInterfaceCB(self,data):
+               if data is not None:
+                       if data is True:
+                               iNetwork.getInterfaces(self.cancelCB)
+       
+       def cancelCB(self,data):                        
+               if data is not None:
+                       if data is True:
+                               self.close(None)
+
+       def setInfo(self):
+               length = self["list"].getLength()
+               
+               if length == 0:
+                       self["info"].setText(_("No wireless networks found! Please refresh."))
+               elif length == 1:
+                       self["info"].setText(_("1 wireless network found!"))
+               else:
+                       self["info"].setText(str(length)+_(" wireless networks found!"))        
+
+
+def WlanStatusScreenMain(session, iface):
+       session.open(WlanStatus, iface)
+
+
+def callFunction(iface):
+       
+       w = Wlan(iface)
+       i = w.getWirelessInterfaces()
+       if i:
+               if iface in i:
+                       return WlanStatusScreenMain
+       
+       return None
+
+
+def configStrings(iface):
+       driver = iNetwork.detectWlanModule()
+       print "WLAN-MODULE",driver
+       if driver == 'ralink':
+               return "        pre-up /usr/sbin/wpa_supplicant -i"+iface+" -c/etc/wpa_supplicant.conf -B -Dralink\n    post-down wpa_cli terminate"
+       if driver == 'madwifi':
+               if config.plugins.wlan.essid.value == "hidden...":
+                       return "        pre-up iwconfig "+iface+" essid "+config.plugins.wlan.hiddenessid.value+"\n     pre-up /usr/sbin/wpa_supplicant -i"+iface+" -c/etc/wpa_supplicant.conf -B -dd -Dmadwifi\n       post-down wpa_cli terminate"
+               return "        pre-up iwconfig "+iface+" essid "+config.plugins.wlan.essid.value+"\n   pre-up /usr/sbin/wpa_supplicant -i"+iface+" -c/etc/wpa_supplicant.conf -B -dd -Dmadwifi\n       post-down wpa_cli terminate"
+       if driver == 'zydas':
+               return "        pre-up /usr/sbin/wpa_supplicant -i"+iface+" -c/etc/wpa_supplicant.conf -B -dd -Dzydas\n post-down wpa_cli terminate"
+
+def Plugins(**kwargs):
+       return PluginDescriptor(name=_("Wireless LAN"), description=_("Connect to a Wireless Network"), where = PluginDescriptor.WHERE_NETWORKSETUP, fnc={"ifaceSupported": callFunction, "configStrings": configStrings, "WlanPluginEntry": lambda x: "Wireless Network Configuartion..."})
+       
\ No newline at end of file
index e1bf23d..34d0936 100644 (file)
@@ -34,6 +34,7 @@ eServiceFactoryMP3::eServiceFactoryMP3()
                extensions.push_back("vob");
                extensions.push_back("wav");
                extensions.push_back("wave");
+               extensions.push_back("m4v");
                extensions.push_back("mkv");
                extensions.push_back("avi");
                extensions.push_back("divx");
@@ -235,7 +236,7 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
                sourceinfo.containertype = ctAVI;
                sourceinfo.is_video = TRUE;
        }
-       else if ( strcasecmp(ext, ".mp4") == 0 || strcasecmp(ext, ".mov") == 0)
+       else if ( strcasecmp(ext, ".mp4") == 0 || strcasecmp(ext, ".mov") == 0 || strcasecmp(ext, ".m4v") == 0)
        {
                sourceinfo.containertype = ctMP4;
                sourceinfo.is_video = TRUE;
old mode 100644 (file)
new mode 100755 (executable)
index 133a4ab..077d4bf
--- a/po/ar.po
+++ b/po/ar.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\n"
 "PO-Revision-Date: 2006-01-10 01:17+0300\n"
 "Last-Translator: hazem <moustafagamal@hotmail.com>\n"
 "Language-Team: Arabic <moustafagamal@hotmail.com>\n"
@@ -77,6 +77,11 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 
@@ -92,6 +97,9 @@ msgstr ""
 msgid " updates available."
 msgstr ""
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr ""
 
@@ -184,6 +192,9 @@ msgstr ""
 msgid "1"
 msgstr ""
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr ""
 
@@ -362,6 +373,9 @@ msgstr "عن"
 msgid "About..."
 msgstr "عـن..."
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action on long powerbutton press"
 msgstr ""
 
@@ -623,6 +637,9 @@ msgstr ""
 msgid "Behavior when a movie reaches the end"
 msgstr ""
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -745,6 +762,9 @@ msgstr ""
 msgid "Choose Tuner"
 msgstr ""
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr ""
 
@@ -856,6 +876,21 @@ msgstr ""
 msgid "Configuration Mode"
 msgstr "وضع التهيئه"
 
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr ""
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr ""
+
 msgid "Configuring"
 msgstr ""
 
@@ -865,6 +900,9 @@ msgstr ""
 msgid "Connect"
 msgstr ""
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr ""
 
@@ -926,6 +964,11 @@ msgstr ""
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1083,6 +1126,9 @@ msgstr "وضعيـه الدايزك"
 msgid "DiSEqC repeats"
 msgstr ""
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr ""
 
@@ -1096,6 +1142,9 @@ msgstr ""
 msgid "Directory %s nonexistent."
 msgstr ""
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "إبطال"
 
@@ -1359,6 +1408,10 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr ""
 
@@ -1371,6 +1424,9 @@ msgstr ""
 msgid "Encryption Type"
 msgstr ""
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr ""
 
@@ -1398,12 +1454,6 @@ msgid ""
 "© 2006 - Stephan Reichholf"
 msgstr ""
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr ""
 
@@ -1461,6 +1511,9 @@ msgstr ""
 msgid "Exit editor"
 msgstr ""
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1648,6 +1701,9 @@ msgstr ""
 msgid "Hidden network SSID"
 msgstr ""
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr ""
 
@@ -1801,6 +1857,10 @@ msgstr ""
 msgid "Integrated Wireless"
 msgstr ""
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr ""
 
@@ -1906,6 +1966,9 @@ msgstr ""
 msgid "Limits on"
 msgstr ""
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr ""
 
@@ -1981,6 +2044,10 @@ msgstr ""
 msgid "Margin before record (minutes)"
 msgstr ""
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr ""
 
@@ -2108,6 +2175,9 @@ msgstr ""
 msgid "Network Setup"
 msgstr "ضبط الشبـكة"
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr ""
 
@@ -2150,6 +2220,9 @@ msgstr ""
 msgid "No 50 Hz, sorry. :("
 msgstr ""
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr ""
 "لا يوجد قرص صلب\n"
@@ -2181,6 +2254,9 @@ msgstr ""
 msgid "No free tuner!"
 msgstr ""
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
@@ -2220,6 +2296,9 @@ msgid ""
 "When you say 'No' here the setup protection stay disabled!"
 msgstr ""
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2439,6 +2518,18 @@ msgid "Please choose the default services lists you want to install."
 msgstr ""
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2520,6 +2611,19 @@ msgstr ""
 msgid "Please select the movie path..."
 msgstr ""
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Please set up tuner B"
 msgstr "من فضلك أضبط التيونر ب"
 
@@ -2555,6 +2659,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr ""
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr ""
 
@@ -2776,6 +2886,9 @@ msgstr ""
 msgid "Reenter new pin"
 msgstr ""
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr ""
 
@@ -2824,9 +2937,6 @@ msgstr ""
 msgid "Removed successfully."
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr ""
 
@@ -2954,6 +3064,9 @@ msgstr ""
 msgid "SNR:"
 msgstr ""
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr ""
 
@@ -3127,6 +3240,9 @@ msgstr ""
 msgid "Select image"
 msgstr ""
 
+msgid "Select interface"
+msgstr ""
+
 msgid "Select package"
 msgstr ""
 
@@ -3151,6 +3267,9 @@ msgstr ""
 msgid "Select video mode"
 msgstr ""
 
+msgid "Select wireless network"
+msgstr ""
+
 msgid "Selected source image"
 msgstr ""
 
@@ -3274,6 +3393,12 @@ msgstr ""
 msgid "Shutdown Dreambox after"
 msgstr ""
 
+msgid "Signal Strength:"
+msgstr ""
+
+msgid "Signal: "
+msgstr ""
+
 msgid "Similar"
 msgstr ""
 
@@ -3545,6 +3670,11 @@ msgid "Test-Messagebox?"
 msgstr ""
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3634,6 +3764,11 @@ msgstr ""
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 
@@ -3956,9 +4091,6 @@ msgid ""
 "Remove"
 msgstr ""
 
-msgid "Unicable"
-msgstr ""
-
 msgid "Unicable LNB"
 msgstr ""
 
@@ -3971,6 +4103,9 @@ msgstr ""
 msgid "Unmount failed"
 msgstr ""
 
+msgid "Unsupported"
+msgstr ""
+
 msgid "Update"
 msgstr ""
 
@@ -3989,9 +4124,6 @@ msgstr ""
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr ""
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr ""
 
@@ -4013,19 +4145,6 @@ msgstr ""
 msgid "Use a gateway"
 msgstr ""
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: The effect of "Non-smooth winding" is that rather
-#.       than using ordinary "continuous" or "smooth" winding, a fast
-#.       sequence of stills is shown when winding at high speeds. This
-#.       makes it much easier too follow when almost each frame comes from
-#.       a new scene. The effect is achieved by repeating each shown frame
-#.       a couple of times. The settings control both at which speed this
-#.       winding mode sets in, and how many times each frame should be
-#.       repeated. This was previously called "Discontinuous playback"
-#.       which was incomprehensible. "Non-smooth winding" may be a better
-#.       term, but note that there is nothing irregular about it. Synonyms
-#.       better suited for translation to other languages may be "stepwise
-#.       winding/playback", or "winding/playback using stills". 
 msgid "Use non-smooth winding at speeds above"
 msgstr ""
 
@@ -4052,6 +4171,9 @@ msgstr "اضغط المفتاح العلوى أو السفلى من الريمو
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr "USALS für diesen Sat benutzen"
 
@@ -4112,9 +4234,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr ""
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4256,6 +4375,15 @@ msgstr ""
 msgid ""
 "Welcome.\n"
 "\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
+
+msgid ""
+"Welcome.\n"
+"\n"
 "This start wizard will guide you through the basic setup of your Dreambox.\n"
 "Press the OK button on your remote control to move to the next step."
 msgstr ""
@@ -4294,9 +4422,15 @@ msgstr ""
 msgid "Wireless"
 msgstr ""
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr ""
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr ""
 
@@ -4435,6 +4569,14 @@ msgid ""
 "Do you want to set the pin now?"
 msgstr ""
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr ""
 
@@ -4467,6 +4609,11 @@ msgid ""
 "Press OK to start upgrade."
 msgstr ""
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Your name (optional):"
 msgstr ""
 
@@ -4480,6 +4627,13 @@ msgid ""
 "Do you want to disable the second network interface?"
 msgstr ""
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Zap back to service before positioner setup?"
 msgstr ""
 
@@ -4764,6 +4918,9 @@ msgstr "إنتهاء تحرير المفضله"
 msgid "enigma2 and network"
 msgstr ""
 
+msgid "enter hidden network SSID"
+msgstr ""
+
 msgid "equal to"
 msgstr ""
 
@@ -4836,6 +4993,9 @@ msgstr "مساعده"
 msgid "hidden network"
 msgstr ""
 
+msgid "hidden..."
+msgstr ""
+
 msgid "hide extended description"
 msgstr ""
 
@@ -5317,6 +5477,9 @@ msgstr ""
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr ""
 
+msgid "unavailable"
+msgstr ""
+
 msgid "unconfirmed"
 msgstr ""
 
old mode 100644 (file)
new mode 100755 (executable)
index 5b355a8..13b6031
--- 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: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\n"
 "PO-Revision-Date: 2007-08-14 10:23+0200\n"
 "Last-Translator: Oriol Pellicer <oriol@elsud.org>\n"
 "Language-Team: \n"
@@ -79,6 +79,11 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 
@@ -94,6 +99,9 @@ msgstr ""
 msgid " updates available."
 msgstr ""
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr "#000000"
 
@@ -188,6 +196,9 @@ msgstr "0"
 msgid "1"
 msgstr "1"
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr "1.0"
 
@@ -387,6 +398,9 @@ msgstr "Quant a"
 msgid "About..."
 msgstr "Quant a..."
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action on long powerbutton press"
 msgstr ""
 
@@ -650,6 +664,9 @@ msgstr ""
 msgid "Behavior when a movie reaches the end"
 msgstr ""
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -773,6 +790,9 @@ msgstr ""
 msgid "Choose Tuner"
 msgstr "Escull sintonitzador"
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr ""
 
@@ -884,6 +904,21 @@ msgstr ""
 msgid "Configuration Mode"
 msgstr "Mode configuració"
 
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr ""
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr ""
+
 msgid "Configuring"
 msgstr "Configurant"
 
@@ -893,6 +928,9 @@ msgstr "Gravació en conflicte"
 msgid "Connect"
 msgstr ""
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr ""
 
@@ -957,6 +995,11 @@ msgstr ""
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1114,6 +1157,9 @@ msgstr "mode DiSEqC"
 msgid "DiSEqC repeats"
 msgstr "Repetir DiSEqC"
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr ""
 
@@ -1127,6 +1173,9 @@ msgstr ""
 msgid "Directory %s nonexistent."
 msgstr ""
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "Deshabilitar"
 
@@ -1397,6 +1446,10 @@ msgstr ""
 msgid "Enabled"
 msgstr "Activat"
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr ""
 
@@ -1409,6 +1462,9 @@ msgstr ""
 msgid "Encryption Type"
 msgstr ""
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr "Hora final"
 
@@ -1442,12 +1498,6 @@ msgstr ""
 "\n"
 "© 2006 - Stephan Reichholf"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr ""
 
@@ -1505,6 +1555,9 @@ msgstr ""
 msgid "Exit editor"
 msgstr "Sortir de l'editor"
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1696,6 +1749,9 @@ msgstr "Posar el disc dur en repòs després de"
 msgid "Hidden network SSID"
 msgstr ""
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr "Informació jeràrquica"
 
@@ -1852,6 +1908,10 @@ msgstr ""
 msgid "Integrated Wireless"
 msgstr ""
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr ""
 
@@ -1957,6 +2017,9 @@ msgstr "Treure límits"
 msgid "Limits on"
 msgstr "Posar límits"
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr ""
 
@@ -2033,6 +2096,10 @@ msgstr "Marge després de gravar"
 msgid "Margin before record (minutes)"
 msgstr "Marge abans de gravar (minuts)"
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr "Reproductor"
 
@@ -2160,6 +2227,9 @@ msgstr ""
 msgid "Network Setup"
 msgstr "Config xarxa"
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr "Escanejar xarxa"
 
@@ -2202,6 +2272,9 @@ msgstr ""
 msgid "No 50 Hz, sorry. :("
 msgstr ""
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr "No hi ha disc dur o no està inicialitzat!"
 
@@ -2234,6 +2307,9 @@ msgstr "No hi ha info del programa, gravant indefinidament."
 msgid "No free tuner!"
 msgstr "No hi ha cap sintonitzador lliure!"
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr "No s'ha actualitzat cap paquet. Comprova la xarxa i torna-ho a provar."
@@ -2282,6 +2358,9 @@ msgstr ""
 "Vols canviar-lo ara?\n"
 "Si contestes 'No' es deshabilitarà la protecció de la configuració!"
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2504,6 +2583,18 @@ msgid "Please choose the default services lists you want to install."
 msgstr ""
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2585,6 +2676,19 @@ msgstr ""
 msgid "Please select the movie path..."
 msgstr ""
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Please set up tuner B"
 msgstr "Configura el sintonitzador B"
 
@@ -2623,6 +2727,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr ""
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr ""
 
@@ -2844,6 +2954,9 @@ msgstr "Les gravacions tenen prioritat"
 msgid "Reenter new pin"
 msgstr "Torna a entrar el nou pin"
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr ""
 
@@ -2892,9 +3005,6 @@ msgstr "Esborra títol"
 msgid "Removed successfully."
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr ""
 
@@ -3023,6 +3133,9 @@ msgstr ""
 msgid "SNR:"
 msgstr ""
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr "Dis"
 
@@ -3196,6 +3309,9 @@ msgstr ""
 msgid "Select image"
 msgstr ""
 
+msgid "Select interface"
+msgstr ""
+
 msgid "Select package"
 msgstr ""
 
@@ -3220,6 +3336,9 @@ msgstr ""
 msgid "Select video mode"
 msgstr ""
 
+msgid "Select wireless network"
+msgstr ""
+
 msgid "Selected source image"
 msgstr ""
 
@@ -3349,6 +3468,12 @@ msgstr ""
 msgid "Shutdown Dreambox after"
 msgstr "Apagar la Dreambox després de"
 
+msgid "Signal Strength:"
+msgstr ""
+
+msgid "Signal: "
+msgstr ""
+
 msgid "Similar"
 msgstr "Similar"
 
@@ -3624,6 +3749,11 @@ msgid "Test-Messagebox?"
 msgstr ""
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3716,6 +3846,11 @@ msgstr ""
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 
@@ -4045,9 +4180,6 @@ msgid ""
 "Remove"
 msgstr ""
 
-msgid "Unicable"
-msgstr ""
-
 msgid "Unicable LNB"
 msgstr ""
 
@@ -4060,6 +4192,9 @@ msgstr "LNB universal"
 msgid "Unmount failed"
 msgstr "Ha fallat la comanda unmount"
 
+msgid "Unsupported"
+msgstr ""
+
 msgid "Update"
 msgstr ""
 
@@ -4078,9 +4213,6 @@ msgstr ""
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr "S'ha acabat l'actualització. Vols tornar a arrancar la Dreambox?"
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr "Actualitzant"
 
@@ -4102,19 +4234,6 @@ msgstr "Utilitzar mesura de corrent"
 msgid "Use a gateway"
 msgstr "Utilitzar una porta d'enllaç"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: The effect of "Non-smooth winding" is that rather
-#.       than using ordinary "continuous" or "smooth" winding, a fast
-#.       sequence of stills is shown when winding at high speeds. This
-#.       makes it much easier too follow when almost each frame comes from
-#.       a new scene. The effect is achieved by repeating each shown frame
-#.       a couple of times. The settings control both at which speed this
-#.       winding mode sets in, and how many times each frame should be
-#.       repeated. This was previously called "Discontinuous playback"
-#.       which was incomprehensible. "Non-smooth winding" may be a better
-#.       term, but note that there is nothing irregular about it. Synonyms
-#.       better suited for translation to other languages may be "stepwise
-#.       winding/playback", or "winding/playback using stills". 
 msgid "Use non-smooth winding at speeds above"
 msgstr ""
 
@@ -4143,6 +4262,9 @@ msgstr ""
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr "Utilitzar usals per a aquest sat"
 
@@ -4203,9 +4325,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr ""
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4352,6 +4471,15 @@ msgstr ""
 msgid ""
 "Welcome.\n"
 "\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
+
+msgid ""
+"Welcome.\n"
+"\n"
 "This start wizard will guide you through the basic setup of your Dreambox.\n"
 "Press the OK button on your remote control to move to the next step."
 msgstr ""
@@ -4391,9 +4519,15 @@ msgstr ""
 msgid "Wireless"
 msgstr ""
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr ""
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr "Error d'escriptura durant la gravació. Disc ple?\n"
 
@@ -4550,6 +4684,14 @@ msgstr ""
 "\n"
 "Vols entrar-lo ara?"
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr ""
 
@@ -4587,6 +4729,11 @@ msgstr ""
 "El firmware del frontprocessor ha de ser actualitzat.\n"
 "Prem OK per a començar l'actualizació."
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Your name (optional):"
 msgstr ""
 
@@ -4600,6 +4747,13 @@ msgid ""
 "Do you want to disable the second network interface?"
 msgstr ""
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Zap back to service before positioner setup?"
 msgstr "Tornar al canal abans de configurar el motor?"
 
@@ -4886,6 +5040,9 @@ msgstr "fi de l'edició de preferits"
 msgid "enigma2 and network"
 msgstr ""
 
+msgid "enter hidden network SSID"
+msgstr ""
+
 msgid "equal to"
 msgstr ""
 
@@ -4958,6 +5115,9 @@ msgstr "ajuda..."
 msgid "hidden network"
 msgstr ""
 
+msgid "hidden..."
+msgstr ""
+
 msgid "hide extended description"
 msgstr ""
 
@@ -5444,6 +5604,9 @@ msgstr "posar una marca de tall en l'actual posició"
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr ""
 
+msgid "unavailable"
+msgstr ""
+
 msgid "unconfirmed"
 msgstr ""
 
old mode 100644 (file)
new mode 100755 (executable)
index ffd69a6..a7bbd8d
--- 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: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\n"
 "PO-Revision-Date: 2008-09-28 18:09+0100\n"
 "Last-Translator: ws79 <ws79@centrum.cz>\n"
 "Language-Team: \n"
@@ -73,6 +73,11 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 
@@ -88,6 +93,9 @@ msgstr ""
 msgid " updates available."
 msgstr ""
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr "#000000"
 
@@ -182,6 +190,9 @@ msgstr "0"
 msgid "1"
 msgstr "1"
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr "1.0"
 
@@ -369,6 +380,9 @@ msgstr "O Dreamboxu"
 msgid "About..."
 msgstr "O ..."
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action on long powerbutton press"
 msgstr "Akce při delším podržení zapínacího tlačítka"
 
@@ -638,6 +652,9 @@ msgstr "Chování když je film zastaven"
 msgid "Behavior when a movie reaches the end"
 msgstr "Režim když film dosáhne konce"
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -760,6 +777,9 @@ msgstr "Ověřuji souborový systém..."
 msgid "Choose Tuner"
 msgstr "Vyber tuner"
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr ""
 
@@ -871,6 +891,21 @@ msgstr ""
 msgid "Configuration Mode"
 msgstr "Konfigurační mód"
 
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr "Konfigurovat vaši LAN"
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr "Znova konfigurovat vaši WLAN"
+
 msgid "Configuring"
 msgstr "Konfiguruji"
 
@@ -880,6 +915,9 @@ msgstr "Konfliktní časování"
 msgid "Connect"
 msgstr ""
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr ""
 
@@ -944,6 +982,11 @@ msgstr ""
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1103,6 +1146,9 @@ msgstr "DiSEqC Mód"
 msgid "DiSEqC repeats"
 msgstr "DiSEqC opakování"
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr ""
 
@@ -1116,6 +1162,9 @@ msgstr ""
 msgid "Directory %s nonexistent."
 msgstr ""
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "Zakázat"
 
@@ -1388,6 +1437,10 @@ msgstr ""
 msgid "Enabled"
 msgstr "Povoleno"
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr "Šifrování"
 
@@ -1400,6 +1453,9 @@ msgstr ""
 msgid "Encryption Type"
 msgstr "Typ šifrování"
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr "Konečný čas"
 
@@ -1433,12 +1489,6 @@ msgstr ""
 "\n"
 "© 2006 - Stephan Reichholf"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr "Začít přetáčení vpřed na rychlosti"
 
@@ -1496,6 +1546,9 @@ msgstr "Ukončit"
 msgid "Exit editor"
 msgstr "Ukončit editor"
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1685,6 +1738,9 @@ msgstr "Uspat disk po"
 msgid "Hidden network SSID"
 msgstr ""
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr "Hierarchické informace"
 
@@ -1849,6 +1905,10 @@ msgstr "Integrovaný ethernet"
 msgid "Integrated Wireless"
 msgstr ""
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr "Střední"
 
@@ -1954,6 +2014,9 @@ msgstr "Vypnout limit"
 msgid "Limits on"
 msgstr "Zapnout limit"
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr "Odkaz:"
 
@@ -2029,6 +2092,10 @@ msgstr "Rezerva po skončení pořadu"
 msgid "Margin before record (minutes)"
 msgstr "Rezerva před nahráváním (minuty)"
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr "Přehrávač médií"
 
@@ -2156,6 +2223,9 @@ msgstr "Síťový SSID"
 msgid "Network Setup"
 msgstr "Nastavení sítě"
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr "Prohledávání sítě"
 
@@ -2198,6 +2268,9 @@ msgstr ""
 msgid "No 50 Hz, sorry. :("
 msgstr "Nelze nastavit 50 Hz"
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr "HDD nebyl nalezen nebo HDD není inicializován!"
 
@@ -2229,6 +2302,9 @@ msgstr "Žádná informace o programu. Nahrávání do nekonečna."
 msgid "No free tuner!"
 msgstr "Žádný volný tuner!"
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
@@ -2278,6 +2354,9 @@ msgstr ""
 "Chcete nyní změnit PIN?\n"
 "Pokud 'Ne' tak ochrana nastavení zůstane vypnuta!"
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2502,6 +2581,18 @@ msgid "Please choose the default services lists you want to install."
 msgstr "Vyberte prosím setting, který chcete nainstalovat."
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2583,6 +2674,19 @@ msgstr ""
 msgid "Please select the movie path..."
 msgstr "Vyberte cestu k filmům..."
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Please set up tuner B"
 msgstr "Prosím, nastav tuner B"
 
@@ -2621,6 +2725,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr ""
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr ""
 
@@ -2842,6 +2952,9 @@ msgstr "Nahrávání má vždy prioritu"
 msgid "Reenter new pin"
 msgstr "Zadejte znova PIN"
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr "Obnovovací frekvence"
 
@@ -2890,9 +3003,6 @@ msgstr "Odebrat titul"
 msgid "Removed successfully."
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr ""
 
@@ -3021,6 +3131,9 @@ msgstr "SNR"
 msgid "SNR:"
 msgstr "SNR:"
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr "So"
 
@@ -3197,6 +3310,9 @@ msgstr ""
 msgid "Select image"
 msgstr ""
 
+msgid "Select interface"
+msgstr ""
+
 msgid "Select package"
 msgstr ""
 
@@ -3221,6 +3337,9 @@ msgstr ""
 msgid "Select video mode"
 msgstr "Vyberte video mód"
 
+msgid "Select wireless network"
+msgstr ""
+
 msgid "Selected source image"
 msgstr ""
 
@@ -3350,6 +3469,12 @@ msgstr "Zobrazit stav vaší bezdrátové sítě.\n"
 msgid "Shutdown Dreambox after"
 msgstr "Vypnout Dreambox po"
 
+msgid "Signal Strength:"
+msgstr ""
+
+msgid "Signal: "
+msgstr ""
+
 msgid "Similar"
 msgstr "Podobné"
 
@@ -3630,6 +3755,11 @@ msgid "Test-Messagebox?"
 msgstr "Vzkaz"
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3727,6 +3857,11 @@ msgstr ""
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 
@@ -4077,9 +4212,6 @@ msgid ""
 "Remove"
 msgstr ""
 
-msgid "Unicable"
-msgstr ""
-
 msgid "Unicable LNB"
 msgstr ""
 
@@ -4092,6 +4224,9 @@ msgstr "Univerzální LNB"
 msgid "Unmount failed"
 msgstr "Unmount selhalo"
 
+msgid "Unsupported"
+msgstr ""
+
 msgid "Update"
 msgstr ""
 
@@ -4110,9 +4245,6 @@ msgstr ""
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr "Upgrade skončil. Chcete restartovat váš Dreambox?"
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr "Aktualizuji"
 
@@ -4134,19 +4266,6 @@ msgstr "Použít měření výkonu"
 msgid "Use a gateway"
 msgstr "Použít bránu (gateway)"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: The effect of "Non-smooth winding" is that rather
-#.       than using ordinary "continuous" or "smooth" winding, a fast
-#.       sequence of stills is shown when winding at high speeds. This
-#.       makes it much easier too follow when almost each frame comes from
-#.       a new scene. The effect is achieved by repeating each shown frame
-#.       a couple of times. The settings control both at which speed this
-#.       winding mode sets in, and how many times each frame should be
-#.       repeated. This was previously called "Discontinuous playback"
-#.       which was incomprehensible. "Non-smooth winding" may be a better
-#.       term, but note that there is nothing irregular about it. Synonyms
-#.       better suited for translation to other languages may be "stepwise
-#.       winding/playback", or "winding/playback using stills". 
 msgid "Use non-smooth winding at speeds above"
 msgstr "Použít skokové přetáčení s rychlostmi uvedenými výše"
 
@@ -4174,6 +4293,9 @@ msgstr ""
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr "Použít USUALS pro tento satelit"
 
@@ -4240,9 +4362,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr "Výběr video módu"
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4391,6 +4510,15 @@ msgstr ""
 msgid ""
 "Welcome.\n"
 "\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
+
+msgid ""
+"Welcome.\n"
+"\n"
 "This start wizard will guide you through the basic setup of your Dreambox.\n"
 "Press the OK button on your remote control to move to the next step."
 msgstr ""
@@ -4429,9 +4557,15 @@ msgstr ""
 msgid "Wireless"
 msgstr "Bezdrátové"
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr "Bezdrátová síť"
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr "Zapsat chybu při nahrávání. Disk plný?\n"
 
@@ -4592,6 +4726,14 @@ msgstr ""
 "\n"
 "Chcete nyní nastavit PIN?"
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr "Váš Dreambox se restartuje po stisknutí OK na vašem dálkovém ovladači."
 
@@ -4630,6 +4772,11 @@ msgstr ""
 "Firmware vašeho frontprocesoru musí být aktualizován.\n"
 "Stiskněte OK pro aktualizaci."
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Your name (optional):"
 msgstr ""
 
@@ -4643,6 +4790,13 @@ msgid ""
 "Do you want to disable the second network interface?"
 msgstr ""
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Zap back to service before positioner setup?"
 msgstr "Přepnout zpět na program před nastavováním positioneru?"
 
@@ -4929,6 +5083,9 @@ msgstr "Ukončit úpravu oblíbené"
 msgid "enigma2 and network"
 msgstr ""
 
+msgid "enter hidden network SSID"
+msgstr ""
+
 msgid "equal to"
 msgstr ""
 
@@ -5001,6 +5158,9 @@ msgstr "Pomoc..."
 msgid "hidden network"
 msgstr ""
 
+msgid "hidden..."
+msgstr ""
+
 msgid "hide extended description"
 msgstr "skrýt rozšířený popis"
 
@@ -5484,6 +5644,9 @@ msgstr "prohodit střihovou značku na této pozici"
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr "přepnout informace mezi časem, kapitolou, audiostopou, titulky"
 
+msgid "unavailable"
+msgstr ""
+
 msgid "unconfirmed"
 msgstr "nepotvrzeno"
 
@@ -5607,18 +5770,12 @@ msgstr "přepnutý"
 #~ msgid "Choose Location"
 #~ msgstr "Vyberte umístění"
 
-#~ msgid "Configure your internal LAN"
-#~ msgstr "Konfigurovat vaši LAN"
-
 #~ msgid "Configure your internal LAN again"
 #~ msgstr "Znova konfigurovat vaši LAN"
 
 #~ msgid "Configure your wireless LAN"
 #~ msgstr "Konfigurovat vaši WLAN"
 
-#~ msgid "Configure your wireless LAN again"
-#~ msgstr "Znova konfigurovat vaši WLAN"
-
 #~ msgid "Confirm"
 #~ msgstr "Potvrdit"
 
old mode 100644 (file)
new mode 100755 (executable)
index 38a102b..f3c1fa4
--- a/po/da.po
+++ b/po/da.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Enigma2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\n"
 "PO-Revision-Date: 2009-09-04 07:50+0100\n"
 "Last-Translator: Ingmar Jørgensen <dreambox@ingmar.dk>\n"
 "Language-Team: jazzydane <dreambox@ingmar.dk>\n"
@@ -95,6 +95,13 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+"\n"
+"Systemet vil genstarte efter gendannelsen!"
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 "\n"
@@ -112,6 +119,9 @@ msgstr "pakker valgt."
 msgid " updates available."
 msgstr "opdateringer tilgængelig."
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr "#000000"
 
@@ -208,6 +218,9 @@ msgstr "0"
 msgid "1"
 msgstr "1"
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr "1.0"
 
@@ -403,6 +416,9 @@ msgstr "Info"
 msgid "About..."
 msgstr "Dreambox info"
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action on long powerbutton press"
 msgstr "Aktion ved langt powerknap tryk"
 
@@ -682,6 +698,9 @@ msgstr "Opførsel når en film stoppes"
 msgid "Behavior when a movie reaches the end"
 msgstr "Opførsel når filmen er næsten slut"
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -804,6 +823,9 @@ msgstr "Undersøge Filsystem..."
 msgid "Choose Tuner"
 msgstr "Vælg Tuner"
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr "Vælg backup filer"
 
@@ -915,6 +937,21 @@ msgstr "Indtilling"
 msgid "Configuration Mode"
 msgstr "Konfigurations Type"
 
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr "Konfigurer dit interne LAN"
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr "Konfigurer dit trådløse LAN igen"
+
 msgid "Configuring"
 msgstr "Konfigurerer"
 
@@ -924,6 +961,9 @@ msgstr "Timer konflikt"
 msgid "Connect"
 msgstr "Forbind"
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr "Forbundet til"
 
@@ -988,6 +1028,13 @@ msgstr "Opsætning for automatisk nedbrudslog..."
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+"Der er fundet nedbrudslog!\n"
+"Vil du sende dem til Dream Multimedia ?"
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1147,6 +1194,9 @@ msgstr "DiSEqC type"
 msgid "DiSEqC repeats"
 msgstr "DiSEqC gentagelser"
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr "Ringer op:"
 
@@ -1160,6 +1210,9 @@ msgstr "Direkte afspilning af lænkede titler uden menu"
 msgid "Directory %s nonexistent."
 msgstr "Mappen %s findes ikke."
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "Afbryd"
 
@@ -1438,6 +1491,10 @@ msgstr "Aktiver timer"
 msgid "Enabled"
 msgstr "Aktiveret"
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr "Kodning"
 
@@ -1450,6 +1507,9 @@ msgstr "Kodnings nøgletype"
 msgid "Encryption Type"
 msgstr "Kodnings Type"
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr "Stop tid"
 
@@ -1483,12 +1543,6 @@ msgstr ""
 "\n"
 "© 2006 - Stephan Reichholf"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr "Nuværende hastighed ved spoling"
 
@@ -1548,6 +1602,9 @@ msgstr "Afslut"
 msgid "Exit editor"
 msgstr "Afslut editor"
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr "Afslut oprydningsassistenten"
 
@@ -1737,6 +1794,9 @@ msgstr "Harddisk slumre efter:"
 msgid "Hidden network SSID"
 msgstr "Skjult netværks SSID"
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr "Hieraki information"
 
@@ -1900,6 +1960,10 @@ msgstr "Internt ethernet"
 msgid "Integrated Wireless"
 msgstr "Integreret trådløs"
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr "Normal"
 
@@ -2005,6 +2069,9 @@ msgstr "Begrænsning fra"
 msgid "Limits on"
 msgstr "Begrænsning til"
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr "Link:"
 
@@ -2080,6 +2147,10 @@ msgstr "Margin efter optagelse"
 msgid "Margin before record (minutes)"
 msgstr "Margin før optagelse (minutter)"
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr "Medie afspiller"
 
@@ -2207,6 +2278,9 @@ msgstr "Netværks SSID"
 msgid "Network Setup"
 msgstr "Netværks opsætning"
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr "Netværks søgning"
 
@@ -2249,6 +2323,9 @@ msgstr "Ingen (understøttet) DVDROM fundet!"
 msgid "No 50 Hz, sorry. :("
 msgstr "Ingen 50 Hz, desværre. :("
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr ""
 "Ingen HDD fundet eller\n"
@@ -2282,6 +2359,9 @@ msgstr "Ingen program-data fundet, optagelse startet."
 msgid "No free tuner!"
 msgstr "Ingen fri tuner!"
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
@@ -2330,6 +2410,9 @@ msgstr ""
 "Vil du gerne ændre PIN kode opsætning nu?\n"
 "Siger du 'Nej' her vil opsætnings beskyttelsen ikke være tilsluttet!"
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2565,6 +2648,18 @@ msgid "Please choose the default services lists you want to install."
 msgstr "Vælg venligst standard kanal lister som du ønsker at installere."
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2650,6 +2745,19 @@ msgstr "Vælg venligst destinations mappe eller media"
 msgid "Please select the movie path..."
 msgstr "Venligst vælg en film sti..."
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Please set up tuner B"
 msgstr "Venligst indstil tuner B"
 
@@ -2690,6 +2798,12 @@ msgstr "Vent venligst mens der søges efter pakker, der kan fjernes..."
 msgid "Please wait while we configure your network..."
 msgstr "Vent venligst, mens vi opsætter dit netværk..."
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr "Vent venligst, mens dit netværk genstartes..."
 
@@ -2911,6 +3025,9 @@ msgstr "Optagelser har altid prioritet"
 msgid "Reenter new pin"
 msgstr "Gentag ny kode"
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr "Opdateringsrate"
 
@@ -2959,9 +3076,6 @@ msgstr "Fjerne titel"
 msgid "Removed successfully."
 msgstr "Fjernelse gennemført."
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr "Sletter"
 
@@ -3089,6 +3203,9 @@ msgstr "SNR"
 msgid "SNR:"
 msgstr "SNR:"
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr "Lør"
 
@@ -3265,6 +3382,9 @@ msgstr ""
 msgid "Select image"
 msgstr "Vælg image"
 
+msgid "Select interface"
+msgstr ""
+
 msgid "Select package"
 msgstr "Vælg pakke"
 
@@ -3289,6 +3409,9 @@ msgstr "Vælg video input med op/ned knapperne"
 msgid "Select video mode"
 msgstr "Vælg video type"
 
+msgid "Select wireless network"
+msgstr ""
+
 msgid "Selected source image"
 msgstr "Vælg kilde image"
 
@@ -3418,6 +3541,12 @@ msgstr "Vis tilstanden af din trådløse LAN opkobling.\n"
 msgid "Shutdown Dreambox after"
 msgstr "Slukke Dreambox efter"
 
+msgid "Signal Strength:"
+msgstr ""
+
+msgid "Signal: "
+msgstr ""
+
 msgid "Similar"
 msgstr "Samme"
 
@@ -3704,6 +3833,11 @@ msgid "Test-Messagebox?"
 msgstr "Test-Beskedbox?"
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3815,6 +3949,11 @@ msgstr "Timer filen (timers.xml) er korrupt og kan ikke bruges."
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 "Trådløs LAN plugin er ikke installeret!\n"
@@ -4186,9 +4325,6 @@ msgstr ""
 "Fortryd\n"
 "Fjern"
 
-msgid "Unicable"
-msgstr "Unikabel"
-
 msgid "Unicable LNB"
 msgstr "Unikabel LNB"
 
@@ -4201,6 +4337,9 @@ msgstr "Universal LNB"
 msgid "Unmount failed"
 msgstr "Unmount fejlede"
 
+msgid "Unsupported"
+msgstr ""
+
 msgid "Update"
 msgstr "Opdater"
 
@@ -4219,9 +4358,6 @@ msgstr "Opgradering afsluttet"
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr "Opgradering færdig. Vil du genstarte din DreamBox?"
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr "Opdaterer"
 
@@ -4243,19 +4379,6 @@ msgstr "Brug strømmåling"
 msgid "Use a gateway"
 msgstr "Brug af Router"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: The effect of "Non-smooth winding" is that rather
-#.       than using ordinary "continuous" or "smooth" winding, a fast
-#.       sequence of stills is shown when winding at high speeds. This
-#.       makes it much easier too follow when almost each frame comes from
-#.       a new scene. The effect is achieved by repeating each shown frame
-#.       a couple of times. The settings control both at which speed this
-#.       winding mode sets in, and how many times each frame should be
-#.       repeated. This was previously called "Discontinuous playback"
-#.       which was incomprehensible. "Non-smooth winding" may be a better
-#.       term, but note that there is nothing irregular about it. Synonyms
-#.       better suited for translation to other languages may be "stepwise
-#.       winding/playback", or "winding/playback using stills". 
 msgid "Use non-smooth winding at speeds above"
 msgstr "Spoling/afspilning ved brug af stillbilleder"
 
@@ -4283,6 +4406,9 @@ msgstr ""
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr "Brug USALS til denne position"
 
@@ -4349,9 +4475,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr "Video type vælger."
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4496,12 +4619,15 @@ msgid ""
 "cleaned up.\n"
 "You can use this wizard to remove some extensions.\n"
 msgstr ""
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Welcome.\n"
+"\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
 
 msgid ""
 "Welcome.\n"
@@ -4550,9 +4676,15 @@ msgstr "Hvor skal midleridige timeshift optagelser gemmes?"
 msgid "Wireless"
 msgstr "Trådløst"
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr "Trådløst netværk"
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr "Skrive fejl under optagelse. Disken fuld?\n"
 
@@ -4720,6 +4852,14 @@ msgstr ""
 "\n"
 "Vil du opsætte pin kode nu?"
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr "Din Dreambox vil genstarte efter OK tryk på din fjernbetjening."
 
@@ -4760,6 +4900,11 @@ msgstr ""
 "Din frontprocessor skal opdateres.\n"
 "Tryk OK for at starte opdateringen."
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Your name (optional):"
 msgstr "Dit navn (valgfrit):"
 
@@ -4777,6 +4922,13 @@ msgstr ""
 "\n"
 "Vil du deaktivere det andet netværks interface?"
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Zap back to service before positioner setup?"
 msgstr "Skift tilbage til kanal før motoropsætning?"
 
@@ -5064,6 +5216,9 @@ msgstr "Afslut favorit redigering"
 msgid "enigma2 and network"
 msgstr "enigma2 og netværk"
 
+msgid "enter hidden network SSID"
+msgstr ""
+
 msgid "equal to"
 msgstr "svarende til"
 
@@ -5136,6 +5291,9 @@ msgstr "Hjælp..."
 msgid "hidden network"
 msgstr "skjult netværk"
 
+msgid "hidden..."
+msgstr ""
+
 msgid "hide extended description"
 msgstr "Skjule udvidet beskrivelse"
 
@@ -5619,6 +5777,9 @@ msgstr "flytte en klippe markør til nuværende position"
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr "skift mellem tid, kapitel, lyd, undertekst info"
 
+msgid "unavailable"
+msgstr ""
+
 msgid "unconfirmed"
 msgstr "ubekræftet"
 
@@ -5693,13 +5854,6 @@ msgstr "zappet"
 #~ "\n"
 #~ "Enigma2 vil genstarte efter gendannelse"
 
-#~ msgid ""
-#~ "\n"
-#~ "System will restart after the restore!"
-#~ msgstr ""
-#~ "\n"
-#~ "Systemet vil genstarte efter gendannelsen!"
-
 #~ msgid "\"?"
 #~ msgstr "\"?"
 
@@ -5776,18 +5930,12 @@ msgstr "zappet"
 #~ msgid "Configuration for the CrashlogAutoSubmitter"
 #~ msgstr "Opsætning for NedbrudsAutoUnderretning"
 
-#~ msgid "Configure your internal LAN"
-#~ msgstr "Konfigurer dit interne LAN"
-
 #~ msgid "Configure your internal LAN again"
 #~ msgstr "Konfigurer dit interne LAN igen"
 
 #~ msgid "Configure your wireless LAN"
 #~ msgstr "Konfigurer dit trådløse LAN"
 
-#~ msgid "Configure your wireless LAN again"
-#~ msgstr "Konfigurer dit trådløse LAN igen"
-
 #~ msgid "Confirm"
 #~ msgstr "Bekræft"
 
@@ -5803,13 +5951,6 @@ msgstr "zappet"
 #~ msgid "CrashlogAutoSubmitConfiguration"
 #~ msgstr "Opsætning af NedbrudslogAutoUnderretning"
 
-#~ msgid ""
-#~ "Crashlogs found!\n"
-#~ "Send them to Dream Multimedia ?"
-#~ msgstr ""
-#~ "Der er fundet nedbrudslog!\n"
-#~ "Vil du sende dem til Dream Multimedia ?"
-
 #~ msgid "DVD ENTER key"
 #~ msgstr "DVD ENTER tast"
 
@@ -6251,6 +6392,9 @@ msgstr "zappet"
 #~ "Se venligst i manual.\n"
 #~ "FEJL: "
 
+#~ msgid "Unicable"
+#~ msgstr "Unikabel"
+
 #~ msgid "Upgrade"
 #~ msgstr "Opgrader"
 
index ba83daa..3f22e6e 100755 (executable)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-12 12:40+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\n"
 "PO-Revision-Date: 2009-10-12 12:38+0100\n"
 "Last-Translator: Stefan Pluecken <stefan.pluecken@multimedia-labs.de>\n"
 "Language-Team: none\n"
@@ -124,6 +124,9 @@ msgstr ""
 msgid " updates available."
 msgstr ""
 
+msgid " wireless networks found!"
+msgstr " Funk Netzwerke gefunden!"
+
 msgid "#000000"
 msgstr ""
 
@@ -220,6 +223,9 @@ msgstr ""
 msgid "1"
 msgstr ""
 
+msgid "1 wireless network found!"
+msgstr "1 Funk Netzwerk gefunden!"
+
 msgid "1.0"
 msgstr "1.0"
 
@@ -416,6 +422,9 @@ msgstr "Über"
 msgid "About..."
 msgstr "Über..."
 
+msgid "Accesspoint:"
+msgstr "Zugangspunkt:"
+
 msgid "Action on long powerbutton press"
 msgstr "Aktion beim langen Druck auf Power"
 
@@ -690,6 +699,9 @@ msgstr "Verhalten beim Stoppen eines Films"
 msgid "Behavior when a movie reaches the end"
 msgstr "Verhalten beim Filmende"
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -812,6 +824,9 @@ msgstr "Überprüfe Dateisystem..."
 msgid "Choose Tuner"
 msgstr "Tuner wählen"
 
+msgid "Choose a wireless network"
+msgstr "Wählen Sie ein Funk Netzwerk"
+
 msgid "Choose backup files"
 msgstr "Wählen Sie die zu sichernden Dateien"
 
@@ -843,13 +858,13 @@ msgid "Cleanup"
 msgstr "Aufräumen"
 
 msgid "Cleanup Wizard"
-msgstr ""
+msgstr "Aufräumassistent"
 
 msgid "Cleanup Wizard settings"
-msgstr ""
+msgstr "Aufräumassistent Einstellunge"
 
 msgid "CleanupWizard"
-msgstr ""
+msgstr "Aufräumassistent"
 
 msgid "Clear before scan"
 msgstr "Vor der Suche löschen"
@@ -923,6 +938,21 @@ msgstr ""
 msgid "Configuration Mode"
 msgstr "Konfiguration"
 
+msgid "Configure interface"
+msgstr "Netzwerkkarte konfigurieren"
+
+msgid "Configure nameservers"
+msgstr "DNS-Server konfigurieren"
+
+msgid "Configure your internal LAN"
+msgstr "Internes Netzwerk konfigurieren"
+
+msgid "Configure your network again"
+msgstr "Netzwerk erneut konfigurieren"
+
+msgid "Configure your wireless LAN again"
+msgstr "Funknetzwerk erneut konfigurieren"
+
 msgid "Configuring"
 msgstr "Konfiguriere"
 
@@ -930,7 +960,10 @@ msgid "Conflicting timer"
 msgstr "In Konflikt stehender Timer"
 
 msgid "Connect"
-msgstr ""
+msgstr "Verbinden"
+
+msgid "Connect to a Wireless Network"
+msgstr "Mit Funknetzwerk verbinden"
 
 msgid "Connected to"
 msgstr "Verbunden mit"
@@ -939,7 +972,7 @@ msgid "Connected to Fritz!Box!"
 msgstr "Mit Fritz!Box verbunden!"
 
 msgid "Connected!"
-msgstr ""
+msgstr "Verbunden!"
 
 msgid "Connecting to Fritz!Box..."
 msgstr "Verbinde zur Fritz!Box..."
@@ -1162,6 +1195,9 @@ msgstr "DiSEqC-Modus"
 msgid "DiSEqC repeats"
 msgstr "DiSEqC-Wiederholungen"
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr ""
 
@@ -1175,6 +1211,9 @@ msgstr "Direkte Wiedergabe verknüpfter Titel ohne Menü"
 msgid "Directory %s nonexistent."
 msgstr "Verzeichnis %s existiert nicht."
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "Aus"
 
@@ -1434,7 +1473,7 @@ msgid "Enable 5V for active antenna"
 msgstr "5V für aktive Antenne"
 
 msgid "Enable Cleanup Wizard?"
-msgstr ""
+msgstr "Aufräumassisten aktivieren?"
 
 msgid "Enable multiple bouquets"
 msgstr "Mehrere Bouquets erlauben"
@@ -1448,6 +1487,10 @@ msgstr "Timer aktivieren"
 msgid "Enabled"
 msgstr "Eingeschaltet"
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr "verschlüsselt: %s"
+
 msgid "Encryption"
 msgstr "Verschlüsselung"
 
@@ -1460,6 +1503,9 @@ msgstr "Passwortverschlüsselungstyp"
 msgid "Encryption Type"
 msgstr "Verschlüssellungsart"
 
+msgid "Encryption:"
+msgstr "Verschlüsselung:"
+
 msgid "End time"
 msgstr "Endzeit"
 
@@ -1552,6 +1598,9 @@ msgstr "Beenden"
 msgid "Exit editor"
 msgstr "Editor beenden"
 
+msgid "Exit network wizard"
+msgstr "Netzwerkassistent verlassen"
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1744,6 +1793,9 @@ msgstr "Festplatten-Standby nach"
 msgid "Hidden network SSID"
 msgstr "Verstecke Netzwerk SSID"
 
+msgid "Hidden networkname"
+msgstr "versteckte SSID"
+
 msgid "Hierarchy Information"
 msgstr "Hierarchieinformationen"
 
@@ -1911,6 +1963,10 @@ msgstr "Eingebaute Netzwerkschnittstelle"
 msgid "Integrated Wireless"
 msgstr "Integriertes WLAN"
 
+#, python-format
+msgid "Interface: %s"
+msgstr "Adapter: %s"
+
 msgid "Intermediate"
 msgstr "Fortgeschritten"
 
@@ -2016,6 +2072,9 @@ msgstr "Limits ausschalten"
 msgid "Limits on"
 msgstr "Limits aktiviert"
 
+msgid "Link Quality:"
+msgstr "Qualität:"
+
 msgid "Link:"
 msgstr "Verbindung:"
 
@@ -2091,6 +2150,10 @@ msgstr "Nachlauf hinter Aufnahme"
 msgid "Margin before record (minutes)"
 msgstr "Vorlauf bei Aufnahme (in Minuten)"
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr "Media Player"
 
@@ -2220,6 +2283,9 @@ msgstr "Netzwerk SSID"
 msgid "Network Setup"
 msgstr "Netzwerkeinstellungen"
 
+msgid "Network Wizard"
+msgstr "Netzwerkassistent"
+
 msgid "Network scan"
 msgstr "Netzwerksuche"
 
@@ -2262,6 +2328,9 @@ msgstr "Kein (unterstütztes) DVD-Laufwerk gefunden!"
 msgid "No 50 Hz, sorry. :("
 msgstr "50 Hz nicht möglich. :("
 
+msgid "No Connection"
+msgstr "Keine Verbindung"
+
 msgid "No HDD found or HDD not initialized!"
 msgstr ""
 "Keine Festplatte gefunden oder\n"
@@ -2295,6 +2364,9 @@ msgstr "Keine EPG-Daten gefunden. Starte unbegrenzte Aufnahme."
 msgid "No free tuner!"
 msgstr "Kein freier Tuner"
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
@@ -2347,6 +2419,9 @@ msgstr ""
 "Wollen Sie den Service-PIN jetzt ändern?\n"
 "Wenn Sie 'NEIN' wählen, bleibt der Einstellungen-Schutz deaktiviert!"
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2582,6 +2657,22 @@ msgstr ""
 "Bitte wählen Sie die Standard-Kanallisten, die Sie installieren wollen."
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+"Konfigurieren Sie Ihre DNS-Server durch Ausfüllen der entsprechenden Werte.\n"
+"Drücken Sie OK zum Fortfahren"
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+"Konfigurieren Sie Ihr Netzwerk durch Ausfüllen der entsprechenden Werte.\n"
+"Drücken Sie OK zum Fortfahren"
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2665,6 +2756,26 @@ msgstr "Bitte wählen Sie ein Ziel-Verzeichnis bzw. Datenträger"
 msgid "Please select the movie path..."
 msgstr "Bitte den Filmpfad angeben..."
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+"Bitte wählen Sie die Netzwerkschnittstelle welche Sie für Ihren "
+"Internetzugang nutzen möchten.\n"
+"\n"
+"Drücken Sie OK zum Fortfahren"
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+"Bitte wählen Sie das Funknetzwerk zu welchem Sie sich verbinden möchten.\n"
+"\n"
+"Drücken Sie OK zum Fortfahren."
+
 msgid "Please set up tuner B"
 msgstr "Einstellungen für Tuner B."
 
@@ -2705,6 +2816,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr "Bitte warten während das Netzwerk konfiguriert wird..."
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr "Bitte warten während das Netzwerk konfiguriert wird..."
+
+msgid "Please wait while we test your network..."
+msgstr "Bitte warten während das Netzwerk überprüft wird..."
+
 msgid "Please wait while your network is restarting..."
 msgstr "Bitte warten während das Netzwerk neu startet..."
 
@@ -2926,6 +3043,9 @@ msgstr "Aufnahmen haben immer Vorrang"
 msgid "Reenter new pin"
 msgstr "Nochmals den Pincode eingeben"
 
+msgid "Refresh"
+msgstr "Aktualisieren"
+
 msgid "Refresh Rate"
 msgstr "Bildwiederholrate"
 
@@ -2936,7 +3056,7 @@ msgid "Reload"
 msgstr "aktualisieren"
 
 msgid "Remove"
-msgstr ""
+msgstr "Entfernen"
 
 msgid "Remove Bookmark"
 msgstr "Bookmark entfernen"
@@ -2974,9 +3094,6 @@ msgstr "Titel entfernen"
 msgid "Removed successfully."
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr "Entfernen"
 
@@ -3108,6 +3225,9 @@ msgstr ""
 msgid "SNR:"
 msgstr ""
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr "Sa"
 
@@ -3283,6 +3403,9 @@ msgstr ""
 msgid "Select image"
 msgstr "Wählen Sie ein Image"
 
+msgid "Select interface"
+msgstr "Netzwerkkarte auswählen"
+
 msgid "Select package"
 msgstr ""
 
@@ -3307,6 +3430,9 @@ msgstr ""
 msgid "Select video mode"
 msgstr "Wählen Sie den Video-Modus"
 
+msgid "Select wireless network"
+msgstr "Funknetzwerk auswählen"
+
 msgid "Selected source image"
 msgstr "Wählen Sie ein Quell-Image"
 
@@ -3436,6 +3562,12 @@ msgstr "Zeigt den Status der WLAN Verbinung an.\n"
 msgid "Shutdown Dreambox after"
 msgstr "Dreambox ausschalten nach"
 
+msgid "Signal Strength:"
+msgstr "Signal Stärke:"
+
+msgid "Signal: "
+msgstr "Signal: "
+
 msgid "Similar"
 msgstr "Ähnlich"
 
@@ -3715,6 +3847,13 @@ msgid "Test-Messagebox?"
 msgstr ""
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+"Vielen Dank, dass Sie den Assisten benutzt haben.\n"
+"Drücken Sie OK zum Fortfahren."
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3825,6 +3964,13 @@ msgstr ""
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+"Das WirelessLan Plugin ist nicht instaliert!\n"
+"Bitte installieren Sie es und wählen Sie dann eine Option zum Fortfahren."
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 "das Wireless LAN plugin ist nicht installiert!\n"
@@ -4197,9 +4343,6 @@ msgid ""
 "Remove"
 msgstr ""
 
-msgid "Unicable"
-msgstr ""
-
 msgid "Unicable LNB"
 msgstr ""
 
@@ -4212,8 +4355,11 @@ msgstr "Universal-LNB"
 msgid "Unmount failed"
 msgstr "Unmounten fehlgeschlagen"
 
+msgid "Unsupported"
+msgstr "Nicht unterstützt"
+
 msgid "Update"
-msgstr ""
+msgstr "Aktualisieren"
 
 msgid "Updates your receiver's software"
 msgstr "Aktualisiert die Software Ihres Receivers"
@@ -4232,9 +4378,6 @@ msgstr "Upgrade beendet."
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr "Aktualisierung beendet. Möchten Sie Ihre Dreambox nun neu starten?"
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr "Upgrade"
 
@@ -4353,9 +4496,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr "Auswahl des Videomodus."
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4495,12 +4635,21 @@ msgid ""
 "cleaned up.\n"
 "You can use this wizard to remove some extensions.\n"
 msgstr ""
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Welcome.\n"
+"\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
+"Willkommen.\n"
+"\n"
+"Wenn Sie Ihre Dreambox mit dem Internet verbinden möchten, wird Sie dieser "
+"Assistent durch die grundlegenden Netzwerkeinstellungen führen.\n"
+"\n"
+"Drücken Sie OK um Ihr Netzwerk zu konfigurieren"
 
 msgid ""
 "Welcome.\n"
@@ -4550,9 +4699,15 @@ msgstr "Wo wollen Sie temporäre Timeshift Aufnahmen speichern?"
 msgid "Wireless"
 msgstr "Funk"
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr "Funk Netzwerk"
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr "Schreibfehler bei der Aufnahme. Festplatte voll?\n"
 
@@ -4720,6 +4875,19 @@ msgstr ""
 "\n"
 "Möchten Sie den Pincode nun setzen?"
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+"Ihre Dreambox ist nun konfiguriert.\n"
+"\n"
+"Ihre Internetverbindung funktioniert nun.\n"
+"\n"
+"Drücken Sie OK zum Fortfahren."
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr ""
 "Ihre Dreambox wird neu starten nachdem Sie OK auf Ihrer Fernbedienung "
@@ -4760,6 +4928,13 @@ msgstr ""
 "Ihre Frontprozessor-Firmware muss aktualisiert werden.\n"
 "Drücken Sie OK, um das Upgrade zu starten."
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+"Ihre Internetverbindung funktioniert nicht!\n"
+"Bitte wählen Sie eine Option zum Fortfahren."
+
 msgid "Your name (optional):"
 msgstr ""
 
@@ -4777,6 +4952,17 @@ msgstr ""
 "\n"
 "Wollen Sie den zweiten Netzwerkadapter deaktivieren?"
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+"Ihre Funk-Internetverbindung konnte nicht gestartet werden!\n"
+"Ist Ihr USB WLAN Stick korrekt angeschlossen?\n"
+"\n"
+"Bitte wählen Sie eine Option zum Fortfahren."
+
 msgid "Zap back to service before positioner setup?"
 msgstr ""
 "Zurückschalten zum Sender der vor dem\n"
@@ -5067,6 +5253,9 @@ msgstr "Favoriteneditor beenden"
 msgid "enigma2 and network"
 msgstr "Enigma2 und Netzwerk"
 
+msgid "enter hidden network SSID"
+msgstr "Verstecke Netzwerk SSID eingeben"
+
 msgid "equal to"
 msgstr "Gleich wie"
 
@@ -5139,6 +5328,9 @@ msgstr "Hilfe..."
 msgid "hidden network"
 msgstr "verstecktes Netzwerk"
 
+msgid "hidden..."
+msgstr "hidden..."
+
 msgid "hide extended description"
 msgstr "erweiterte Beschreibung ausblenden"
 
@@ -5622,11 +5814,14 @@ msgstr "Toggle Marker an der aktuellen Position"
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr "Schalte zwischen Zeit-, Kapitel-, Audio- und Untertitel-Info um"
 
+msgid "unavailable"
+msgstr "nicht verfügbar"
+
 msgid "unconfirmed"
 msgstr "Nicht bestätigt"
 
 msgid "unknown"
-msgstr ""
+msgstr "unbekannt"
 
 msgid "unknown service"
 msgstr "unbekannter Kanal"
@@ -5656,7 +5851,7 @@ msgid "waiting"
 msgstr "wartend"
 
 msgid "was removed successfully"
-msgstr ""
+msgstr "wurde erfolgreich entfernt"
 
 msgid "weekly"
 msgstr "wöchentlich"
old mode 100644 (file)
new mode 100755 (executable)
index 1ce4811..0a9546e
--- 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: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\n"
 "PO-Revision-Date: 2008-07-17 12:13+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
@@ -69,6 +69,11 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 
@@ -84,6 +89,9 @@ msgstr ""
 msgid " updates available."
 msgstr ""
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr "#000000"
 
@@ -178,6 +186,9 @@ msgstr "0"
 msgid "1"
 msgstr "1"
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr "1.0"
 
@@ -374,6 +385,9 @@ msgstr "Περί"
 msgid "About..."
 msgstr "Περί..."
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action on long powerbutton press"
 msgstr "Ενέργεια σε κρατημένο powerbutton"
 
@@ -642,6 +656,9 @@ msgstr "Συμπεριφορά οταν μια ταινία τελείωσε"
 msgid "Behavior when a movie reaches the end"
 msgstr "Συμπεριφορά οταν μια ταινία εχει φτάσει στο τέλος"
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -764,6 +781,9 @@ msgstr "Έλεγχος του Filesystem..."
 msgid "Choose Tuner"
 msgstr "Επέλεξτε Tuner"
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr ""
 
@@ -875,6 +895,21 @@ msgstr ""
 msgid "Configuration Mode"
 msgstr "Mode παραμετροποίησης"
 
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr "Παραμετροποιήστε το LAN"
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr "Παραμετροποιήστε ξανα το wireless  LAN"
+
 msgid "Configuring"
 msgstr "Παραμετροποίηση"
 
@@ -884,6 +919,9 @@ msgstr "Διασταυρωμένα timer"
 msgid "Connect"
 msgstr ""
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr ""
 
@@ -947,6 +985,11 @@ msgstr ""
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1104,6 +1147,9 @@ msgstr "DiSEqC mode"
 msgid "DiSEqC repeats"
 msgstr "DiSEqC repeats"
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr ""
 
@@ -1117,6 +1163,9 @@ msgstr ""
 msgid "Directory %s nonexistent."
 msgstr ""
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "Απενεργοποίηση"
 
@@ -1393,6 +1442,10 @@ msgstr ""
 msgid "Enabled"
 msgstr "Ενεργοποιήθηκε"
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr "Κωδικοποίηση"
 
@@ -1405,6 +1458,9 @@ msgstr ""
 msgid "Encryption Type"
 msgstr "Τυπος κωδικοποίησης"
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr "Ώρα τερματισμού"
 
@@ -1438,12 +1494,6 @@ msgstr ""
 "\n"
 "© 2006 - Stephan Reichholf"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr "Παραμετροποιήσετε την ταχύτητα Fast Forward"
 
@@ -1501,6 +1551,9 @@ msgstr "Έξοδος"
 msgid "Exit editor"
 msgstr "Έξοδος απο τον editor"
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1692,6 +1745,9 @@ msgstr "Ο σκληρός δίσκος θα τεθεί σε αναμονή σε"
 msgid "Hidden network SSID"
 msgstr ""
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr "Πληροφωρίες ιεραρχίας"
 
@@ -1855,6 +1911,10 @@ msgstr "Ενσωματωμένο Ethernet"
 msgid "Integrated Wireless"
 msgstr ""
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr "Προχωρημένος"
 
@@ -1960,6 +2020,9 @@ msgstr "Όριο απενεργοποιήμενα"
 msgid "Limits on"
 msgstr "Όριο ενεργοποιήμενα"
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr "Link:"
 
@@ -2035,6 +2098,10 @@ msgstr "Περιθώριο μετά την εγράφη (λεπτά)"
 msgid "Margin before record (minutes)"
 msgstr "Περιθώριο πριν την εγράφη (λεπτά)"
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr "Media player"
 
@@ -2162,6 +2229,9 @@ msgstr "SSID δικτύου"
 msgid "Network Setup"
 msgstr "Παραμετροποιήσης δικτύου"
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr "Ανεύρεση Δικτύου"
 
@@ -2204,6 +2274,9 @@ msgstr ""
 msgid "No 50 Hz, sorry. :("
 msgstr "Δεν ύπαρχει 50 Hz, sorry. :("
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr ""
 "Δεν βρέθηκε σκληρός δίσκος \n"
@@ -2239,6 +2312,9 @@ msgstr ""
 msgid "No free tuner!"
 msgstr "Δεν υπάρχει ελεύθερο tuner!"
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr "Κανένα πακέτο δεν έχει αναβαθμιστεί ακόμα. Δοκίμαστε αργότερα."
@@ -2287,6 +2363,9 @@ msgstr ""
 "Σε περίπτωση που πειτε \"Οχ\"' η προστασία του setup θα μείνει "
 "απεργοποιήμενη!"
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2512,6 +2591,18 @@ msgstr ""
 "εγκατασταθεί."
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2593,6 +2684,19 @@ msgstr ""
 msgid "Please select the movie path..."
 msgstr "Παρακαλώ επιλέξτε path για το movie..."
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Please set up tuner B"
 msgstr "Παρακαλώ παραμετροποιήσετε το tuner B"
 
@@ -2631,6 +2735,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr ""
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr ""
 
@@ -2852,6 +2962,9 @@ msgstr "Οι εγγραφές έχουν πάντα προτεραιότητα"
 msgid "Reenter new pin"
 msgstr "Ξαναβάλε το νέο PIN"
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr "Refresh Rate"
 
@@ -2900,9 +3013,6 @@ msgstr ""
 msgid "Removed successfully."
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr ""
 
@@ -3030,6 +3140,9 @@ msgstr "SNR"
 msgid "SNR:"
 msgstr "SNR:"
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr "Δορθφόρος"
 
@@ -3207,6 +3320,9 @@ msgstr ""
 msgid "Select image"
 msgstr ""
 
+msgid "Select interface"
+msgstr ""
+
 msgid "Select package"
 msgstr ""
 
@@ -3231,6 +3347,9 @@ msgstr ""
 msgid "Select video mode"
 msgstr "Επιλέξτε video mode"
 
+msgid "Select wireless network"
+msgstr ""
+
 msgid "Selected source image"
 msgstr ""
 
@@ -3360,6 +3479,12 @@ msgstr "Εμφάνηζει την κατάσταση του  wireless LAN.\n"
 msgid "Shutdown Dreambox after"
 msgstr "Κλείσε το dream μετά από"
 
+msgid "Signal Strength:"
+msgstr ""
+
+msgid "Signal: "
+msgstr ""
+
 msgid "Similar"
 msgstr "Παρόμοιο"
 
@@ -3634,6 +3759,11 @@ msgid "Test-Messagebox?"
 msgstr "Test-Messagebox;"
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3730,6 +3860,11 @@ msgstr "Το timer file (timers.xml) ειναι άκυρο και δεν φωρ
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 
@@ -4083,9 +4218,6 @@ msgid ""
 "Remove"
 msgstr ""
 
-msgid "Unicable"
-msgstr ""
-
 msgid "Unicable LNB"
 msgstr ""
 
@@ -4098,6 +4230,9 @@ msgstr "Universal LNB"
 msgid "Unmount failed"
 msgstr "Unmount failed"
 
+msgid "Unsupported"
+msgstr ""
+
 msgid "Update"
 msgstr ""
 
@@ -4116,9 +4251,6 @@ msgstr ""
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr "Η αναβάθμιση τελείωσε . Να γίνει επανεκκίνηση του dream;"
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr "Η αναβάθμιση γίνεται…"
 
@@ -4140,19 +4272,6 @@ msgstr ""
 msgid "Use a gateway"
 msgstr "Χρεισημοποιήστε gateway"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: The effect of "Non-smooth winding" is that rather
-#.       than using ordinary "continuous" or "smooth" winding, a fast
-#.       sequence of stills is shown when winding at high speeds. This
-#.       makes it much easier too follow when almost each frame comes from
-#.       a new scene. The effect is achieved by repeating each shown frame
-#.       a couple of times. The settings control both at which speed this
-#.       winding mode sets in, and how many times each frame should be
-#.       repeated. This was previously called "Discontinuous playback"
-#.       which was incomprehensible. "Non-smooth winding" may be a better
-#.       term, but note that there is nothing irregular about it. Synonyms
-#.       better suited for translation to other languages may be "stepwise
-#.       winding/playback", or "winding/playback using stills". 
 msgid "Use non-smooth winding at speeds above"
 msgstr ""
 
@@ -4180,6 +4299,9 @@ msgstr ""
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr "Χρησιμοποίηστε usals για αυτόν τον δορυφόρο"
 
@@ -4246,9 +4368,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr "Επιλογή Video mode"
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4387,12 +4506,15 @@ msgid ""
 "cleaned up.\n"
 "You can use this wizard to remove some extensions.\n"
 msgstr ""
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Welcome.\n"
+"\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
 
 msgid ""
 "Welcome.\n"
@@ -4435,9 +4557,15 @@ msgstr ""
 msgid "Wireless"
 msgstr "Wireless"
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr "Δίκτυο Wireless"
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr "Εμφανήστηκε error κατά την εγγραφη. Disk γεμάτο;\n"
 
@@ -4599,6 +4727,14 @@ msgstr ""
 "\n"
 "θέλετε να βάλετε το pin τώρα;"
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr "Η Dreambox 8α επανςκκινήσει πιέζοντας ΟΚ."
 
@@ -4635,6 +4771,11 @@ msgstr ""
 "Το “frontprocessor firmware” πρέπει να αναβαθμιστεί\n"
 "Πιέστε ΟΚ για την αναβάθμιση."
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Your name (optional):"
 msgstr ""
 
@@ -4648,6 +4789,13 @@ msgid ""
 "Do you want to disable the second network interface?"
 msgstr ""
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Zap back to service before positioner setup?"
 msgstr "Πίσω στην υπηρεσία πρώτου την παραμετροποιήση του positioner;"
 
@@ -4934,6 +5082,9 @@ msgstr "Έξοδος από την επεξεργασία favourites "
 msgid "enigma2 and network"
 msgstr ""
 
+msgid "enter hidden network SSID"
+msgstr ""
+
 msgid "equal to"
 msgstr ""
 
@@ -5006,6 +5157,9 @@ msgstr "βοήθεια..."
 msgid "hidden network"
 msgstr ""
 
+msgid "hidden..."
+msgstr ""
+
 msgid "hide extended description"
 msgstr "κρυψιμο εκτεινόμενη περιγραφή"
 
@@ -5489,6 +5643,9 @@ msgstr ""
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr ""
 
+msgid "unavailable"
+msgstr ""
+
 msgid "unconfirmed"
 msgstr "ανεπιβεβαιωμένο"
 
@@ -5597,18 +5754,12 @@ msgstr "zapped"
 #~ "Είστε σίγουρος οτι θέλετε να ενεργοποιήσετε το local network;\n"
 #~ "\n"
 
-#~ msgid "Configure your internal LAN"
-#~ msgstr "Παραμετροποιήστε το LAN"
-
 #~ msgid "Configure your internal LAN again"
 #~ msgstr "Παραμετροποιήστε ξανα το LAN"
 
 #~ msgid "Configure your wireless LAN"
 #~ msgstr "Παραμετροποιήστε το wireless  LAN"
 
-#~ msgid "Configure your wireless LAN again"
-#~ msgstr "Παραμετροποιήστε ξανα το wireless  LAN"
-
 #~ msgid "Confirm"
 #~ msgstr "Επιβεβαίωση"
 
index 9f78ede..57fe7d5 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: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-04 15:25+0100\n"
 "PO-Revision-Date: 2005-11-17 20:53+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -74,6 +74,11 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 
@@ -89,6 +94,9 @@ msgstr ""
 msgid " updates available."
 msgstr ""
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr ""
 
@@ -181,6 +189,9 @@ msgstr ""
 msgid "1"
 msgstr ""
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr ""
 
@@ -357,6 +368,9 @@ msgstr ""
 msgid "About..."
 msgstr ""
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action on long powerbutton press"
 msgstr ""
 
@@ -618,6 +632,9 @@ msgstr ""
 msgid "Behavior when a movie reaches the end"
 msgstr ""
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -740,6 +757,9 @@ msgstr ""
 msgid "Choose Tuner"
 msgstr ""
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr ""
 
@@ -851,6 +871,21 @@ msgstr ""
 msgid "Configuration Mode"
 msgstr ""
 
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr ""
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr ""
+
 msgid "Configuring"
 msgstr ""
 
@@ -860,6 +895,9 @@ msgstr ""
 msgid "Connect"
 msgstr ""
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr ""
 
@@ -921,6 +959,11 @@ msgstr ""
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1078,6 +1121,9 @@ msgstr ""
 msgid "DiSEqC repeats"
 msgstr ""
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr ""
 
@@ -1091,6 +1137,9 @@ msgstr ""
 msgid "Directory %s nonexistent."
 msgstr ""
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr ""
 
@@ -1352,6 +1401,10 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr ""
 
@@ -1364,6 +1417,9 @@ msgstr ""
 msgid "Encryption Type"
 msgstr ""
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr ""
 
@@ -1391,12 +1447,6 @@ msgid ""
 "© 2006 - Stephan Reichholf"
 msgstr ""
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr ""
 
@@ -1454,6 +1504,9 @@ msgstr ""
 msgid "Exit editor"
 msgstr ""
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1641,6 +1694,9 @@ msgstr ""
 msgid "Hidden network SSID"
 msgstr ""
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr ""
 
@@ -1794,6 +1850,10 @@ msgstr ""
 msgid "Integrated Wireless"
 msgstr ""
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr ""
 
@@ -1899,6 +1959,9 @@ msgstr ""
 msgid "Limits on"
 msgstr ""
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr ""
 
@@ -1974,6 +2037,10 @@ msgstr ""
 msgid "Margin before record (minutes)"
 msgstr ""
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr ""
 
@@ -2101,6 +2168,9 @@ msgstr ""
 msgid "Network Setup"
 msgstr ""
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr ""
 
@@ -2143,6 +2213,9 @@ msgstr ""
 msgid "No 50 Hz, sorry. :("
 msgstr ""
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr ""
 
@@ -2172,6 +2245,9 @@ msgstr ""
 msgid "No free tuner!"
 msgstr ""
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
@@ -2211,6 +2287,9 @@ msgid ""
 "When you say 'No' here the setup protection stay disabled!"
 msgstr ""
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2430,6 +2509,18 @@ msgid "Please choose the default services lists you want to install."
 msgstr ""
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2511,6 +2602,19 @@ msgstr ""
 msgid "Please select the movie path..."
 msgstr ""
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Please set up tuner B"
 msgstr ""
 
@@ -2546,6 +2650,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr ""
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr ""
 
@@ -2767,6 +2877,9 @@ msgstr ""
 msgid "Reenter new pin"
 msgstr ""
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr ""
 
@@ -2815,9 +2928,6 @@ msgstr ""
 msgid "Removed successfully."
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr ""
 
@@ -2945,6 +3055,9 @@ msgstr ""
 msgid "SNR:"
 msgstr ""
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr ""
 
@@ -3118,6 +3231,9 @@ msgstr ""
 msgid "Select image"
 msgstr ""
 
+msgid "Select interface"
+msgstr ""
+
 msgid "Select package"
 msgstr ""
 
@@ -3142,6 +3258,9 @@ msgstr ""
 msgid "Select video mode"
 msgstr ""
 
+msgid "Select wireless network"
+msgstr ""
+
 msgid "Selected source image"
 msgstr ""
 
@@ -3265,6 +3384,12 @@ msgstr ""
 msgid "Shutdown Dreambox after"
 msgstr ""
 
+msgid "Signal Strength:"
+msgstr ""
+
+msgid "Signal: "
+msgstr ""
+
 msgid "Similar"
 msgstr ""
 
@@ -3536,6 +3661,11 @@ msgid "Test-Messagebox?"
 msgstr ""
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3625,6 +3755,11 @@ msgstr ""
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 
@@ -3947,9 +4082,6 @@ msgid ""
 "Remove"
 msgstr ""
 
-msgid "Unicable"
-msgstr ""
-
 msgid "Unicable LNB"
 msgstr ""
 
@@ -3962,6 +4094,9 @@ msgstr ""
 msgid "Unmount failed"
 msgstr ""
 
+msgid "Unsupported"
+msgstr ""
+
 msgid "Update"
 msgstr ""
 
@@ -3980,9 +4115,6 @@ msgstr ""
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr ""
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr ""
 
@@ -4004,19 +4136,6 @@ msgstr ""
 msgid "Use a gateway"
 msgstr ""
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: The effect of "Non-smooth winding" is that rather
-#.       than using ordinary "continuous" or "smooth" winding, a fast
-#.       sequence of stills is shown when winding at high speeds. This
-#.       makes it much easier too follow when almost each frame comes from
-#.       a new scene. The effect is achieved by repeating each shown frame
-#.       a couple of times. The settings control both at which speed this
-#.       winding mode sets in, and how many times each frame should be
-#.       repeated. This was previously called "Discontinuous playback"
-#.       which was incomprehensible. "Non-smooth winding" may be a better
-#.       term, but note that there is nothing irregular about it. Synonyms
-#.       better suited for translation to other languages may be "stepwise
-#.       winding/playback", or "winding/playback using stills". 
 msgid "Use non-smooth winding at speeds above"
 msgstr ""
 
@@ -4040,6 +4159,9 @@ msgstr ""
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr ""
 
@@ -4100,9 +4222,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr ""
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4234,12 +4353,15 @@ msgid ""
 "cleaned up.\n"
 "You can use this wizard to remove some extensions.\n"
 msgstr ""
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Welcome.\n"
+"\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
 
 msgid ""
 "Welcome.\n"
@@ -4278,9 +4400,15 @@ msgstr ""
 msgid "Wireless"
 msgstr ""
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr ""
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr ""
 
@@ -4419,6 +4547,14 @@ msgid ""
 "Do you want to set the pin now?"
 msgstr ""
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr ""
 
@@ -4451,6 +4587,11 @@ msgid ""
 "Press OK to start upgrade."
 msgstr ""
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Your name (optional):"
 msgstr ""
 
@@ -4464,6 +4605,13 @@ msgid ""
 "Do you want to disable the second network interface?"
 msgstr ""
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+
 msgid "Zap back to service before positioner setup?"
 msgstr ""
 
@@ -4748,6 +4896,9 @@ msgstr ""
 msgid "enigma2 and network"
 msgstr ""
 
+msgid "enter hidden network SSID"
+msgstr ""
+
 msgid "equal to"
 msgstr ""
 
@@ -4820,6 +4971,9 @@ msgstr ""
 msgid "hidden network"
 msgstr ""
 
+msgid "hidden..."
+msgstr ""
+
 msgid "hide extended description"
 msgstr ""
 
@@ -5301,6 +5455,9 @@ msgstr ""
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr ""
 
+msgid "unavailable"
+msgstr ""
+
 msgid "unconfirmed"
 msgstr ""
 
index 409193c..1f79e4e 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-09 15:31+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\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"
@@ -74,6 +74,11 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 
@@ -86,6 +91,9 @@ msgstr ""
 msgid " updates available."
 msgstr ""
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "%H:%M"
 msgstr ""
 
@@ -136,6 +144,9 @@ msgid ""
 ".NFI file passed md5sum signature check. You can safely flash this image!"
 msgstr ""
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr ""
 
@@ -279,6 +290,9 @@ msgstr ""
 msgid "About..."
 msgstr ""
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action:"
 msgstr ""
 
@@ -481,6 +495,9 @@ msgstr ""
 msgid "Begin time"
 msgstr ""
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -577,6 +594,9 @@ msgstr ""
 msgid "Checking Filesystem..."
 msgstr ""
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr ""
 
@@ -676,6 +696,9 @@ msgstr ""
 msgid "Connect"
 msgstr ""
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr ""
 
@@ -851,6 +874,9 @@ msgstr ""
 msgid "DiSEqC repeats"
 msgstr ""
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr ""
 
@@ -864,6 +890,9 @@ msgstr ""
 msgid "Directory %s nonexistent."
 msgstr ""
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr ""
 
@@ -1076,6 +1105,10 @@ msgstr ""
 msgid "Enabled"
 msgstr ""
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr ""
 
@@ -1088,6 +1121,9 @@ msgstr ""
 msgid "Encryption Type"
 msgstr ""
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr ""
 
@@ -1154,6 +1190,9 @@ msgstr ""
 msgid "Exit editor"
 msgstr ""
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1299,6 +1338,9 @@ msgstr ""
 msgid "Hidden network SSID"
 msgstr ""
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr ""
 
@@ -1413,6 +1455,10 @@ msgstr ""
 msgid "Integrated Wireless"
 msgstr ""
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr ""
 
@@ -1494,6 +1540,9 @@ msgstr ""
 msgid "Limits on"
 msgstr ""
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr ""
 
@@ -1545,6 +1594,10 @@ msgstr ""
 msgid "Manufacturer"
 msgstr ""
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr ""
 
@@ -1639,6 +1692,9 @@ msgstr ""
 msgid "Network SSID"
 msgstr ""
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr ""
 
@@ -1669,6 +1725,9 @@ msgstr ""
 msgid "No (supported) DVDROM found!"
 msgstr ""
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr ""
 
@@ -1695,6 +1754,9 @@ msgstr ""
 msgid "No free tuner!"
 msgstr ""
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
@@ -1731,6 +1793,9 @@ msgid ""
 "When you say 'No' here the setup protection stay disabled!"
 msgstr ""
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -1849,6 +1914,9 @@ msgstr ""
 msgid "Parental control"
 msgstr ""
 
+msgid "Parental control setup"
+msgstr ""
+
 msgid "Parental control type"
 msgstr ""
 
@@ -2009,6 +2077,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr ""
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr ""
 
@@ -2206,6 +2280,9 @@ msgstr ""
 msgid "Reenter new pin"
 msgstr ""
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr ""
 
@@ -2245,9 +2322,6 @@ msgstr ""
 msgid "Remove title"
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr ""
 
@@ -2352,6 +2426,9 @@ msgstr ""
 msgid "S-Video"
 msgstr ""
 
+msgid "SSID:"
+msgstr ""
+
 msgid "Sat"
 msgstr ""
 
@@ -2601,6 +2678,12 @@ msgstr ""
 msgid "Shutdown Dreambox after"
 msgstr ""
 
+msgid "Signal Strength:"
+msgstr ""
+
+msgid "Signal: "
+msgstr ""
+
 msgid "Similar"
 msgstr ""
 
@@ -2634,9 +2717,6 @@ msgstr ""
 msgid "Skins"
 msgstr ""
 
-msgid "Sleep Timer"
-msgstr ""
-
 msgid "Sleep timer action:"
 msgstr ""
 
@@ -3169,9 +3249,6 @@ msgid ""
 "Remove"
 msgstr ""
 
-msgid "Unicable"
-msgstr ""
-
 msgid "Unicable LNB"
 msgstr ""
 
@@ -3184,6 +3261,9 @@ msgstr ""
 msgid "Unmount failed"
 msgstr ""
 
+msgid "Unsupported"
+msgstr ""
+
 msgid "Update"
 msgstr ""
 
@@ -3196,9 +3276,6 @@ msgstr ""
 msgid "Upgrade finished."
 msgstr ""
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr ""
 
@@ -3226,6 +3303,9 @@ msgstr ""
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr ""
 
@@ -3394,9 +3474,15 @@ msgstr ""
 msgid "Wireless"
 msgstr ""
 
+msgid "Wireless LAN"
+msgstr ""
+
 msgid "Wireless Network"
 msgstr ""
 
+msgid "Wireless Network State"
+msgstr ""
+
 msgid "Write error while recording. Disk full?\n"
 msgstr ""
 
@@ -3746,6 +3832,9 @@ msgstr ""
 msgid "end favourites edit"
 msgstr ""
 
+msgid "enter hidden network SSID"
+msgstr ""
+
 msgid "equal to"
 msgstr ""
 
@@ -3815,6 +3904,9 @@ msgstr ""
 msgid "hidden network"
 msgstr ""
 
+msgid "hidden..."
+msgstr ""
+
 msgid "hide extended description"
 msgstr ""
 
@@ -4290,6 +4382,9 @@ msgstr ""
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr ""
 
+msgid "unavailable"
+msgstr ""
+
 msgid "unconfirmed"
 msgstr ""
 
@@ -4629,9 +4724,6 @@ msgstr ""
 msgid "Installing package content... Please wait..."
 msgstr ""
 
-msgid "Invert display"
-msgstr ""
-
 msgid "Job View"
 msgstr ""
 
@@ -4734,9 +4826,6 @@ msgstr ""
 msgid "Parental control services Editor"
 msgstr ""
 
-msgid "Parental control setup"
-msgstr ""
-
 msgid "PiPSetup"
 msgstr ""
 
@@ -4842,6 +4931,9 @@ msgstr ""
 msgid "Show positioner movement"
 msgstr ""
 
+msgid "Sleep Timer"
+msgstr ""
+
 msgid "Slow Motion speeds"
 msgstr ""
 
@@ -4945,9 +5037,6 @@ msgstr ""
 msgid "VCR scart"
 msgstr ""
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Virtual KeyBoard"
 msgstr ""
 
@@ -5162,6 +5251,91 @@ msgid ""
 "cleaned up.\n"
 "You can use this wizard to remove some extensions.\n"
 msgstr ""
+
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr ""
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr ""
+
+msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid "Select interface"
+msgstr ""
+
+msgid "Select wireless network"
+msgstr ""
+
+msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+
+msgid ""
+"Welcome.\n"
+"\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
+
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -5313,6 +5487,9 @@ msgstr ""
 msgid "Compact flash card"
 msgstr ""
 
+msgid "Invert display"
+msgstr ""
+
 msgid ""
 "Restoring the settings is done. Please press OK to activate the restored "
 "settings now."
index da83a60..b32653d 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2006 THE tuxbox-enigma'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the tuxbox-enigma package.
 # Automatically generated, 2006.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\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"
@@ -16,8 +16,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Poedit-Language: Spanish\n"
-"X-Poedit-Country: SPAIN\n"
 "X-Poedit-SourceCharset: iso-8859-1\n"
+"X-Poedit-Country: SPAIN\n"
 
 msgid ""
 "\n"
@@ -100,6 +100,13 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+"\n"
+"El sistema reiniciará después de restaurar!"
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 "\n"
@@ -117,6 +124,9 @@ msgstr "paquetes seleccionados."
 msgid " updates available."
 msgstr "actualizaciones disponibles."
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr "#000000"
 
@@ -213,6 +223,9 @@ msgstr "0"
 msgid "1"
 msgstr "1"
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr "1.0"
 
@@ -409,6 +422,9 @@ msgstr "Acerca de"
 msgid "About..."
 msgstr "Acerca de..."
 
+msgid "Accesspoint:"
+msgstr "Punto de Acceso:"
+
 msgid "Action on long powerbutton press"
 msgstr "Acción dejando pulsado el encendido"
 
@@ -688,6 +704,9 @@ msgstr "Cuando una película ha parado"
 msgid "Behavior when a movie reaches the end"
 msgstr "Cuando una película ha terminado"
 
+msgid "Bitrate:"
+msgstr "Velocidad:"
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -811,6 +830,9 @@ msgstr "Chequear sistema de archivos..."
 msgid "Choose Tuner"
 msgstr "Elije Sintonizador"
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr "Elije ficheros de backup"
 
@@ -922,6 +944,21 @@ msgstr "Config"
 msgid "Configuration Mode"
 msgstr "Modo Configuración"
 
+msgid "Configure interface"
+msgstr "Configurar interfaz"
+
+msgid "Configure nameservers"
+msgstr "Configurar DNSs"
+
+msgid "Configure your internal LAN"
+msgstr "Configurar su RED interna"
+
+msgid "Configure your network again"
+msgstr "Configurar su red de nuevo"
+
+msgid "Configure your wireless LAN again"
+msgstr "Configurar su RED inalámbrica otra vez"
+
 msgid "Configuring"
 msgstr "Configurando"
 
@@ -931,6 +968,9 @@ msgstr "Grabación en conflicto"
 msgid "Connect"
 msgstr "Conectar"
 
+msgid "Connect to a Wireless Network"
+msgstr "Conectar a una Red Inalámbrica"
+
 msgid "Connected to"
 msgstr "Conectado a"
 
@@ -995,6 +1035,13 @@ msgstr "Configuración AutoEnviarCrashlog..."
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+"¡Crashlogs encontrado!\n"
+"¿Enviarlo a Dream Multimedia?"
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1154,6 +1201,9 @@ msgstr "Modo DiSEqC"
 msgid "DiSEqC repeats"
 msgstr "Repetir DiSEqC"
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr "Marcando:"
 
@@ -1167,6 +1217,9 @@ msgstr "Reproduce los títulos enlazados sin menú"
 msgid "Directory %s nonexistent."
 msgstr "No existe el directorio %s."
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "Desabilitar"
 
@@ -1445,6 +1498,10 @@ msgstr "Activar programación"
 msgid "Enabled"
 msgstr "Activado"
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr "Encriptada: %s"
+
 msgid "Encryption"
 msgstr "Encriptación"
 
@@ -1457,6 +1514,9 @@ msgstr "Tipo de clave de Encriptación"
 msgid "Encryption Type"
 msgstr "Tipo de Encriptación"
 
+msgid "Encryption:"
+msgstr "Encriptación:"
+
 msgid "End time"
 msgstr "Hora fin"
 
@@ -1490,12 +1550,6 @@ msgstr ""
 "\n"
 "© 2006 - Stephan Reichholf"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr "Introduzca velocidad de avance hacia delante"
 
@@ -1555,6 +1609,9 @@ msgstr "Salir"
 msgid "Exit editor"
 msgstr "Salir del editor"
 
+msgid "Exit network wizard"
+msgstr "Salir del asistente de red"
+
 msgid "Exit the cleanup wizard"
 msgstr ""
 
@@ -1746,6 +1803,9 @@ msgstr "Disco duro en reposo después"
 msgid "Hidden network SSID"
 msgstr "SSID de red oculta"
 
+msgid "Hidden networkname"
+msgstr "Nombre de la red oculta"
+
 msgid "Hierarchy Information"
 msgstr "Información jerárquica"
 
@@ -1909,6 +1969,10 @@ msgstr "Ethernet integrado"
 msgid "Integrated Wireless"
 msgstr "Wireless integrado"
 
+#, python-format
+msgid "Interface: %s"
+msgstr "Dispositivo: %s"
+
 msgid "Intermediate"
 msgstr "Intermedio"
 
@@ -2014,6 +2078,9 @@ msgstr "Quitar límites"
 msgid "Limits on"
 msgstr "Límites activos"
 
+msgid "Link Quality:"
+msgstr "Calidad Enlace:"
+
 msgid "Link:"
 msgstr "Enlace:"
 
@@ -2089,6 +2156,10 @@ msgstr "Margen después de grabar"
 msgid "Margin before record (minutes)"
 msgstr "Margen antes de grabar (minutos)"
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr "Velocidad Max.: %s"
+
 msgid "Media player"
 msgstr "Reproductor"
 
@@ -2217,6 +2288,9 @@ msgstr "SSID de Red"
 msgid "Network Setup"
 msgstr "Configuración de la red"
 
+msgid "Network Wizard"
+msgstr "Asistente de Red"
+
 msgid "Network scan"
 msgstr "Escanear red"
 
@@ -2259,6 +2333,9 @@ msgstr "¡DVDROM no soportado!"
 msgid "No 50 Hz, sorry. :("
 msgstr "Lo siento pero no hay 50 Hz. :("
 
+msgid "No Connection"
+msgstr "Sin conexión"
+
 msgid "No HDD found or HDD not initialized!"
 msgstr "¡HDD no encontrado o no inicializado!"
 
@@ -2290,6 +2367,9 @@ msgstr "No hay info del evento, grabando indefinidamente."
 msgid "No free tuner!"
 msgstr "¡No hay sintonizador libre!"
 
+msgid "No networks found"
+msgstr "No he encontrado redes"
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr ""
@@ -2340,6 +2420,9 @@ msgstr ""
 "¿Le gustaría cambiar el PIN de configuración ahora?\n"
 "¡Si dice 'No' aquí, la protección de configuración seguirá desabilitada!"
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2575,6 +2658,23 @@ msgid "Please choose the default services lists you want to install."
 msgstr "Por favor, elija la lista de canales por defecto que quiere instalar."
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+"Configure o verifique su DNS rellenando los valores requeridos.\n"
+"Cuanto esté preparado pulse OK para continuar."
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+"Por favor configure su conexión a internet rellenando los valores "
+"requeridos.\n"
+"Cuando esté preparado pulse OK para continuar."
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2660,6 +2760,25 @@ msgstr "Seleccione el directorio destino o el medio"
 msgid "Please select the movie path..."
 msgstr "Por favor, seleccione un directorio de películas..."
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+"Seleccione el interfaz de red que quiere usar para su conexión a internet.\n"
+"\n"
+"Pulse OK para continuar."
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+"Seleccione la red inalámbrica a la que quiere conectar.\n"
+"\n"
+"Pulse OK para continuar."
+
 msgid "Please set up tuner B"
 msgstr "Por favor, configure sintonizador B"
 
@@ -2700,6 +2819,12 @@ msgstr ""
 msgid "Please wait while we configure your network..."
 msgstr "Espere mientras configuramos su red..."
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr "Espere mientras preparamos sus interfaces de red..."
+
+msgid "Please wait while we test your network..."
+msgstr "Espere mientras testeamos su red..."
+
 msgid "Please wait while your network is restarting..."
 msgstr "Espere mientras su red está reiniciando..."
 
@@ -2922,6 +3047,9 @@ msgstr "Las grabaciones siempre tienen prioridad"
 msgid "Reenter new pin"
 msgstr "Reintroduzca el nuevo pin"
 
+msgid "Refresh"
+msgstr "Refrescar"
+
 msgid "Refresh Rate"
 msgstr "Velocidad de refresco"
 
@@ -2970,9 +3098,6 @@ msgstr "Borrar el título"
 msgid "Removed successfully."
 msgstr ""
 
-msgid "Removeing"
-msgstr ""
-
 msgid "Removing"
 msgstr "Borrando"
 
@@ -3102,6 +3227,9 @@ msgstr "SNR"
 msgid "SNR:"
 msgstr "SNR:"
 
+msgid "SSID:"
+msgstr "SSID:"
+
 msgid "Sat"
 msgstr "Sáb"
 
@@ -3277,6 +3405,9 @@ msgstr ""
 msgid "Select image"
 msgstr "Seleccionar imagen"
 
+msgid "Select interface"
+msgstr "Seleccione interfaz"
+
 msgid "Select package"
 msgstr ""
 
@@ -3301,6 +3432,9 @@ msgstr "Seleccione entrada de vídeo con los botones arriba/abajo"
 msgid "Select video mode"
 msgstr "Seleccionar el modo de video"
 
+msgid "Select wireless network"
+msgstr "Seleccione red inalámbrica"
+
 msgid "Selected source image"
 msgstr "Imagen origen seleccionada"
 
@@ -3430,6 +3564,12 @@ msgstr "Mostrar el estado de su conexión inalámbrica.\n"
 msgid "Shutdown Dreambox after"
 msgstr "Apagar Dreambox después"
 
+msgid "Signal Strength:"
+msgstr "Potencia Señal:"
+
+msgid "Signal: "
+msgstr "Señal:"
+
 msgid "Similar"
 msgstr "Parecido"
 
@@ -3715,6 +3855,13 @@ msgid "Test-Messagebox?"
 msgstr "¿Testear-Mensaje?"
 
 msgid ""
+"Thank you for using the wizard.\n"
+"Please press OK to continue."
+msgstr ""
+"Gracias por usar el asistente.\n"
+"Pulse OK para continuar."
+
+msgid ""
 "Thank you for using the wizard. Your box is now ready to use.\n"
 "Please press OK to start using your Dreambox."
 msgstr ""
@@ -3827,6 +3974,13 @@ msgstr ""
 
 msgid ""
 "The wireless LAN plugin is not installed!\n"
+"Please install it and choose what you want to do next."
+msgstr ""
+"El plugin de RED inalámbrica no está instalado!\n"
+"Por favor, instálelo y elija que quiere hacer lo siguiente."
+
+msgid ""
+"The wireless LAN plugin is not installed!\n"
 "Please install it."
 msgstr ""
 "El plugin de la red inalámbrica no ha sido instalado!\n"
@@ -4199,9 +4353,6 @@ msgstr ""
 "Deshacer\n"
 "Desinstalar"
 
-msgid "Unicable"
-msgstr "Unicable"
-
 msgid "Unicable LNB"
 msgstr "LNB Unicable"
 
@@ -4214,6 +4365,9 @@ msgstr "LNB Universal"
 msgid "Unmount failed"
 msgstr "Falló el desmonte"
 
+msgid "Unsupported"
+msgstr "No soportado"
+
 msgid "Update"
 msgstr "Actualizar"
 
@@ -4232,9 +4386,6 @@ msgstr "Actualización finalizada."
 msgid "Upgrade finished. Do you want to reboot your Dreambox?"
 msgstr "Actualización finalizada. ¿Quiere reiniciar su Dreambox?"
 
-msgid "Upgradeing"
-msgstr ""
-
 msgid "Upgrading"
 msgstr "Actualizando"
 
@@ -4256,19 +4407,6 @@ msgstr "Medida de Potencia Usada"
 msgid "Use a gateway"
 msgstr "Usar puerta de enlace"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: The effect of "Non-smooth winding" is that rather
-#.       than using ordinary "continuous" or "smooth" winding, a fast
-#.       sequence of stills is shown when winding at high speeds. This
-#.       makes it much easier too follow when almost each frame comes from
-#.       a new scene. The effect is achieved by repeating each shown frame
-#.       a couple of times. The settings control both at which speed this
-#.       winding mode sets in, and how many times each frame should be
-#.       repeated. This was previously called "Discontinuous playback"
-#.       which was incomprehensible. "Non-smooth winding" may be a better
-#.       term, but note that there is nothing irregular about it. Synonyms
-#.       better suited for translation to other languages may be "stepwise
-#.       winding/playback", or "winding/playback using stills". 
 msgid "Use non-smooth winding at speeds above"
 msgstr "Usar el el efecto de sombras a veloc. ^"
 
@@ -4297,6 +4435,9 @@ msgstr ""
 msgid "Use this video enhancement settings?"
 msgstr ""
 
+msgid "Use time of currently running service"
+msgstr ""
+
 msgid "Use usals for this sat"
 msgstr "Usar usals para este sat"
 
@@ -4364,9 +4505,6 @@ msgstr ""
 msgid "Video mode selection."
 msgstr "Selección de modo de vídeo."
 
-msgid "VideoSetup"
-msgstr ""
-
 msgid "Videoenhancement Setup"
 msgstr ""
 
@@ -4510,12 +4648,21 @@ msgid ""
 "cleaned up.\n"
 "You can use this wizard to remove some extensions.\n"
 msgstr ""
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+
+msgid ""
+"Welcome.\n"
+"\n"
+"If you want to connect your Dreambox to the Internet, this wizard will guide "
+"you through the basic network setup of your Dreambox.\n"
+"\n"
+"Press OK to start configuring your network"
+msgstr ""
+"Bienvenido.\n"
+"\n"
+"Si quiere conectar su Dreambox a Internet, este asistente le guiará en la "
+"configuración básica de red de su Dreambox.\n"
+"\n"
+"Pulse OK para comenzar a configurar su red"
 
 msgid ""
 "Welcome.\n"
@@ -4564,9 +4711,15 @@ msgstr "¿Dónde guardar las grabaciones temporales de pausa?"
 msgid "Wireless"
 msgstr "Inalámbrico"
 
+msgid "Wireless LAN"
+msgstr "RED Inalámbrica"
+
 msgid "Wireless Network"
 msgstr "Red Inalámbrica"
 
+msgid "Wireless Network State"
+msgstr "Estado Red Inalámbrica"
+
 msgid "Write error while recording. Disk full?\n"
 msgstr "Error mientras grababa. ¿Disco lleno?\n"
 
@@ -4734,6 +4887,19 @@ msgstr ""
 "\n"
 "¿Quiere poner el pin ahora?"
 
+msgid ""
+"Your Dreambox is now ready to use.\n"
+"\n"
+"Your internet connection is working now.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+"Su Dreambox está ahora preparado para su uso.\n"
+"\n"
+"Su conexión a internet está funcionando ok.\n"
+"\n"
+"Pulse OK para continuar."
+
 msgid "Your Dreambox will restart after pressing OK on your remote control."
 msgstr "Su Dreambox reiniciará después de pulsar OK en su mando a distancia."
 
@@ -4774,6 +4940,13 @@ msgstr ""
 "El firmware del frontprocessor debe ser actualizado.\n"
 "Pulse OK para comenzar la actualización."
 
+msgid ""
+"Your internet connection is not working!\n"
+"Please choose what you want to do next."
+msgstr ""
+"¡Su conexión a internet está funcionando!\n"
+"Elija que quiere hacer lo siguiente."
+
 msgid "Your name (optional):"
 msgstr "Su nombre (opcional):"
 
@@ -4791,6 +4964,17 @@ msgstr ""
 "\n"
 "¿Quiere desactivar el segundo interface?"
 
+msgid ""
+"Your wireless LAN internet connection could not be started!\n"
+"Have you attached your USB WLAN Stick?\n"
+"\n"
+"Please choose what you want to do next."
+msgstr ""
+"Su conexión a internet inalámbrica no puede iniciarse!\n"
+"Ha conectado un dispositivo WLAN USB?\n"
+"\n"
+"Pulse que quiere hacer lo siguiente."
+
 msgid "Zap back to service before positioner setup?"
 msgstr "¿Volver al canal antes de configurar el motor?"
 
@@ -5079,6 +5263,9 @@ msgstr "fin edición de favoritos"
 msgid "enigma2 and network"
 msgstr "enigma2 y red"
 
+msgid "enter hidden network SSID"
+msgstr "introdudzca su SSID de la red oculta"
+
 msgid "equal to"
 msgstr "igual a"
 
@@ -5151,6 +5338,9 @@ msgstr "ayuda..."
 msgid "hidden network"
 msgstr "red oculta"
 
+msgid "hidden..."
+msgstr "oculta..."
+
 msgid "hide extended description"
 msgstr "ocultar descripción extendida"
 
@@ -5634,6 +5824,9 @@ msgstr "poner una marca de corte en la posición actual"
 msgid "toggle time, chapter, audio, subtitle info"
 msgstr "poner hora, capítulo, audio, info subtítulos"
 
+msgid "unavailable"
+msgstr "no disponible"
+
 msgid "unconfirmed"
 msgstr "no confirmado"
 
@@ -5711,13 +5904,6 @@ msgstr "zapeado"
 #~ "\n"
 #~ "Enigma2 reiniciará después de la restauración"
 
-#~ msgid ""
-#~ "\n"
-#~ "System will restart after the restore!"
-#~ msgstr ""
-#~ "\n"
-#~ "El sistema reiniciará después de restaurar!"
-
 #~ msgid "\"?"
 #~ msgstr "\"?"
 
@@ -5794,13 +5980,6 @@ msgstr "zapeado"
 #~ msgid "Copying USB flasher boot image to stick..."
 #~ msgstr "Copiando el flasher de arranque a la memoria USB..."
 
-#~ msgid ""
-#~ "Crashlogs found!\n"
-#~ "Send them to Dream Multimedia ?"
-#~ msgstr ""
-#~ "¡Crashlogs encontrado!\n"
-#~ "¿Enviarlo a Dream Multimedia?"
-
 #~ msgid "Custom skip time for 1/3 keys"
 #~ msgstr "Configura el tiempo a avanzar para las teclas 1/3"
 
@@ -6162,6 +6341,9 @@ msgstr "zapeado"
 #~ "Por favor mire el manual de usuario.\n"
 #~ "Error: "
 
+#~ msgid "Unicable"
+#~ msgstr "Unicable"
+
 #~ msgid "Upgrade"
 #~ msgstr "Actualizar"
 
old mode 100644 (file)
new mode 100755 (executable)
index 679c1fd..28be364
--- 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: 2009-10-09 13:06+0200\n"
+"POT-Creation-Date: 2009-11-05 18:09+0100\n"
 "PO-Revision-Date: 2009-09-11 18:28+0200\n"
 "Last-Translator: Hendrik Gross <h_gross@neti.ee> ja Arvo Järve "
 "<arvo@softshark.ee>. Tõlkel abiks oli Raivo\n"
@@ -97,6 +97,13 @@ msgstr ""
 
 msgid ""
 "\n"
+"System will restart after the restore!"
+msgstr ""
+"\n"
+"Pärast süsteemitaastet toimub taaskäivitus!"
+
+msgid ""
+"\n"
 "View, install and remove available or installed packages."
 msgstr ""
 "\n"
@@ -114,6 +121,9 @@ msgstr " paketti valitud"
 msgid " updates available."
 msgstr " uuendust saadaval."
 
+msgid " wireless networks found!"
+msgstr ""
+
 msgid "#000000"
 msgstr ""
 
@@ -210,6 +220,9 @@ msgstr "0"
 msgid "1"
 msgstr "1"
 
+msgid "1 wireless network found!"
+msgstr ""
+
 msgid "1.0"
 msgstr "1.0"
 
@@ -406,6 +419,9 @@ msgstr "Süstemiinfo"
 msgid "About..."
 msgstr "Süsteemiinfo"
 
+msgid "Accesspoint:"
+msgstr ""
+
 msgid "Action on long powerbutton press"
 msgstr "Toitenupu pikal vajutusel tee"
 
@@ -685,6 +701,9 @@ msgstr "Tegevus kui taasesitus on peatatud"
 msgid "Behavior when a movie reaches the end"
 msgstr "Tegevus kui salvestus jõuab lõpule"
 
+msgid "Bitrate:"
+msgstr ""
+
 msgid "Block noise reduction"
 msgstr ""
 
@@ -807,6 +826,9 @@ msgstr "Kontrollin failisüsteemi"
 msgid "Choose Tuner"
 msgstr "Vali tüüner"
 
+msgid "Choose a wireless network"
+msgstr ""
+
 msgid "Choose backup files"
 msgstr "Vali failid"
 
@@ -918,6 +940,21 @@ msgstr "Seadistan"
 msgid "Configuration Mode"
 msgstr "Häälestamine"
 
+msgid "Configure interface"
+msgstr ""
+
+msgid "Configure nameservers"
+msgstr ""
+
+msgid "Configure your internal LAN"
+msgstr ""
+
+msgid "Configure your network again"
+msgstr ""
+
+msgid "Configure your wireless LAN again"
+msgstr ""
+
 msgid "Configuring"
 msgstr "Seadistan"
 
@@ -927,6 +964,9 @@ msgstr "Vastuolud taimeris"
 msgid "Connect"
 msgstr "Ühenda"
 
+msgid "Connect to a Wireless Network"
+msgstr ""
+
 msgid "Connected to"
 msgstr "Ühendatud"
 
@@ -991,6 +1031,13 @@ msgstr "Vealogi iselähetuse seaded..."
 
 msgid ""
 "Crashlogs found!\n"
+"Send them to Dream Multimedia ?"
+msgstr ""
+"Vealogid leitud!\n"
+"Kas saadan ära"
+
+msgid ""
+"Crashlogs found!\n"
 "Send them to Dream Multimedia?"
 msgstr ""
 
@@ -1150,6 +1197,9 @@ msgstr "DiSEqC-olek"
 msgid "DiSEqC repeats"
 msgstr "DiSEqC-kordused"
 
+msgid "DiSEqC-Tester settings"
+msgstr ""
+
 msgid "Dialing:"
 msgstr "Valin numbrit:"
 
@@ -1163,6 +1213,9 @@ msgstr "Direct playback of linked titles without menu"
 msgid "Directory %s nonexistent."
 msgstr "Kataloogi %s ei eksisteeri."
 
+msgid "Directory browser"
+msgstr ""
+
 msgid "Disable"
 msgstr "Keela"
 
@@ -1443,6 +1496,10 @@ msgstr "Luba taimer"
 msgid "Enabled"
 msgstr "Kasutusel"
 
+#, python-format
+msgid "Encrypted: %s"
+msgstr ""
+
 msgid "Encryption"
 msgstr "Kodeering"
 
@@ -1455,6 +1512,9 @@ msgstr "Kodeeringu võti"
 msgid "Encryption Type"
 msgstr "Kodeeringu tüüp"
 
+msgid "Encryption:"
+msgstr ""
+
 msgid "End time"
 msgstr "Lõpetamise aeg"
 
@@ -1488,12 +1548,6 @@ msgstr ""
 "\n"
 "© 2006 - Stephan Reichholf"
 
-#. #-#-#-#-#  enigma2.pot (PACKAGE VERSION)  #-#-#-#-#
-#.   TRANSLATORS: Note that "Enter" in the two strings below should *not*
-#.       be interpreted as "Give speed as input". The intended meaning is
-#.       instead "Initial speed when starting winding", i.e. the speed at
-#.       which "winding mode" is entered when first pressing "rewind" or
-#.       "fast forward". 
 msgid "Enter Fast Forward at speed"
 msgstr "Alusta edasikerimist kiirusega"
 
@@ -1553,6 +1607,9 @@ msgstr "Välju"
 msgid "Exit editor"
 msgstr "Välju redaktorist"
 
+msgid "Exit network wizard"
+msgstr ""
+
 msgid "Exit the cleanup wizard"
 msgstr "Välju kustutusabilisest"
 
@@ -1743,6 +1800,9 @@ msgstr "Kõvaketta väljalülitamine peale"
 msgid "Hidden network SSID"
 msgstr "Võrgu SSID"
 
+msgid "Hidden networkname"
+msgstr ""
+
 msgid "Hierarchy Information"
 msgstr "Hierarhia teave"
 
@@ -1907,6 +1967,10 @@ msgstr "Sisemine võrgukaart"
 msgid "Integrated Wireless"
 msgstr "Sisemine WiFi"
 
+#, python-format
+msgid "Interface: %s"
+msgstr ""
+
 msgid "Intermediate"
 msgstr "Keskmine"
 
@@ -2012,6 +2076,9 @@ msgstr "Piirid pole kasutusel"
 msgid "Limits on"
 msgstr "Piirid kasutusel"
 
+msgid "Link Quality:"
+msgstr ""
+
 msgid "Link:"
 msgstr "Link:"
 
@@ -2087,6 +2154,10 @@ msgstr "Salvestise lõppu lisatakse (minutit)"
 msgid "Margin before record (minutes)"
 msgstr "Salvestise algusesse lisatakse (minutit)"
 
+#, python-format
+msgid "Max. Bitrate: %s"
+msgstr ""
+
 msgid "Media player"
 msgstr "Meediamängija"
 
@@ -2214,6 +2285,9 @@ msgstr "Võrgu SSID"
 msgid "Network Setup"
 msgstr "Võrgu häälestamine"
 
+msgid "Network Wizard"
+msgstr ""
+
 msgid "Network scan"
 msgstr "Võrguotsing"
 
@@ -2256,6 +2330,9 @@ msgstr "Leitud mitte toetatud DVDROM!"
 msgid "No 50 Hz, sorry. :("
 msgstr "Mitte 50 Hz, kahjuks. :("
 
+msgid "No Connection"
+msgstr ""
+
 msgid "No HDD found or HDD not initialized!"
 msgstr ""
 "Kõvaketast ei leitud või seda pole\n"
@@ -2289,6 +2366,9 @@ msgstr "Saatel pole teada lõppaeg. Salvestatakse pidevalt."
 msgid "No free tuner!"
 msgstr "Pole vaba tüünerit!"
 
+msgid "No networks found"
+msgstr ""
+
 msgid ""
 "No packages were upgraded yet. So you can check your network and try again."
 msgstr "Programme pole uuendatud. Kontrolli võrgu seadeid ja proovi uuesti."
@@ -2336,6 +2416,9 @@ msgstr ""
 "Kas soovid määrata koodi?\n"
 "Kui vastad 'Ei', kanalit ei kaitsta koodiga."
 
+msgid "No wireless networks found! Please refresh."
+msgstr ""
+
 msgid ""
 "No working local network adapter found.\n"
 "Please verify that you have attached a network cable and your network is "
@@ -2571,6 +2654,18 @@ msgid "Please choose the default services lists you want to install."
 msgstr "Palun vali installimiseks vaikimisi kanalite nimekiri"
 
 msgid ""
+"Please configure or verify your Nameservers by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
+msgstr ""
+
+msgid ""
 "Please disconnect all USB devices from your Dreambox and (re-)attach the "
 "target USB stick (minimum size is 64 MB) now!"
 msgstr ""
@@ -2656,6 +2751,19 @@ msgstr "Palun vali sihtkaust või meedia"
 msgid "Please select the movie path..."
 msgstr "Vali salvestise kataloog"
 
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
+msgid ""
+"Please select the wireless network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+
 msgid "Please set up tuner B"
 msgstr "Määra tüüneri B seaded:"
 
@@ -2696,6 +2804,12 @@ msgstr "Palun oota, kuni otsin eemaldatavaid laiendusi"
 msgid "Please wait while we configure your network..."
 msgstr "Palun oota kuni seadistan võrgu..."
 
+msgid "Please wait while we prepare your network interfaces..."
+msgstr ""
+
+msgid "Please wait while we test your network..."
+msgstr ""
+
 msgid "Please wait while your network is restarting..."
 msgstr "Palun oota kuni võrk taaskäivitub..."
 
@@ -2917,6 +3031,9 @@ msgstr "Salvestused omavad alati eelist"
 msgid "Reenter new pin"
 msgstr "Korda koodi"
 
+msgid "Refresh"
+msgstr ""
+
 msgid "Refresh Rate"
 msgstr "Värskendussagedus"
 
@@ -2965,9 +3082,6 @@ msgstr "Eemalda pealkiri"