diff options
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | extensions/deviceicon/network.py | 118 | ||||
-rw-r--r-- | po/fr.po | 467 | ||||
-rw-r--r-- | po/nl.po | 684 | ||||
-rw-r--r-- | src/jarabe/desktop/activitieslist.py | 9 | ||||
-rw-r--r-- | src/jarabe/desktop/favoritesview.py | 11 | ||||
-rw-r--r-- | src/jarabe/desktop/meshbox.py | 16 | ||||
-rw-r--r-- | src/jarabe/desktop/schoolserver.py | 2 | ||||
-rw-r--r-- | src/jarabe/frame/activitiestray.py | 33 | ||||
-rw-r--r-- | src/jarabe/journal/journalactivity.py | 12 | ||||
-rw-r--r-- | src/jarabe/journal/misc.py | 44 | ||||
-rw-r--r-- | src/jarabe/journal/palettes.py | 5 | ||||
-rw-r--r-- | src/jarabe/journal/volumestoolbar.py | 30 | ||||
-rw-r--r-- | src/jarabe/model/bundleregistry.py | 16 | ||||
-rw-r--r-- | src/jarabe/model/network.py | 1 | ||||
-rw-r--r-- | src/jarabe/view/keyhandler.py | 2 | ||||
-rw-r--r-- | src/jarabe/view/palettes.py | 14 |
17 files changed, 874 insertions, 594 deletions
diff --git a/configure.ac b/configure.ac index 13a2f09..15c8745 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,11 @@ -AC_INIT([Sugar],[0.88.1],[],[sugar]) +AC_INIT([Sugar],[0.89.2],[],[sugar]) AC_PREREQ([2.59]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([configure.ac]) -SUCROSE_VERSION="0.88.1" +SUCROSE_VERSION="0.89.2" AC_SUBST(SUCROSE_VERSION) AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip]) diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py index 611ef7d..b61de22 100644 --- a/extensions/deviceicon/network.py +++ b/extensions/deviceicon/network.py @@ -588,7 +588,7 @@ class OlpcMeshDeviceView(ToolButton): _ICON_NAME = 'network-mesh' FRAME_POSITION_RELATIVE = 302 - def __init__(self, device): + def __init__(self, device, state): ToolButton.__init__(self) self._bus = dbus.SystemBus() @@ -614,42 +614,25 @@ class OlpcMeshDeviceView(ToolButton): self.set_palette(self._palette) self._palette.set_group_id('frame') + self.update_state(state) + self._device_props = dbus.Interface(self._device, 'org.freedesktop.DBus.Properties') - self._device_props.GetAll(_NM_DEVICE_IFACE, byte_arrays=True, - reply_handler=self.__get_device_props_reply_cb, - error_handler=self.__get_device_props_error_cb) self._device_props.Get(_NM_OLPC_MESH_IFACE, 'ActiveChannel', reply_handler=self.__get_active_channel_reply_cb, error_handler=self.__get_active_channel_error_cb) - self._bus.add_signal_receiver(self.__state_changed_cb, - signal_name='StateChanged', - path=self._device.object_path, - dbus_interface=_NM_DEVICE_IFACE) self._bus.add_signal_receiver(self.__wireless_properties_changed_cb, signal_name='PropertiesChanged', path=device.object_path, dbus_interface=_NM_OLPC_MESH_IFACE) def disconnect(self): - self._bus.remove_signal_receiver(self.__state_changed_cb, - signal_name='StateChanged', - path=self._device.object_path, - dbus_interface=_NM_DEVICE_IFACE) self._bus.remove_signal_receiver(self.__wireless_properties_changed_cb, signal_name='PropertiesChanged', path=self._device.object_path, dbus_interface=_NM_OLPC_MESH_IFACE) - def __get_device_props_reply_cb(self, properties): - if 'State' in properties: - self._device_state = properties['State'] - self._update() - - def __get_device_props_error_cb(self, err): - logging.error('Error getting the device properties: %s', err) - def __get_active_channel_reply_cb(self, channel): self._channel = channel self._update_text() @@ -667,15 +650,8 @@ class OlpcMeshDeviceView(ToolButton): self._update_text() def _update_text(self): - state = self._device_state - if state in (network.DEVICE_STATE_PREPARE, network.DEVICE_STATE_CONFIG, - network.DEVICE_STATE_NEED_AUTH, - network.DEVICE_STATE_IP_CONFIG, - network.DEVICE_STATE_ACTIVATED): - text = (_("Mesh Network %s") % - (glib.markup_escape_text(str(self._channel)),)) - else: - text = _("Mesh Network") + channel = str(self._channel) + text = _("Mesh Network %s") % glib.markup_escape_text(channel) self._palette.props.primary_text = text def _update(self): @@ -694,12 +670,12 @@ class OlpcMeshDeviceView(ToolButton): self._palette.set_connected_with_channel(self._channel, address) self._icon.props.base_color = profile.get_color() self._icon.props.pulsing = False - else: - self._icon.props.base_color = self._inactive_color - self._icon.props.pulsing = False - self._palette.set_disconnected() self._update_text() + def update_state(self, state): + self._device_state = state + self._update() + def __deactivate_connection(self, palette, data=None): obj = self._bus.get_object(_NM_SERVICE, _NM_PATH) netmgr = dbus.Interface(obj, _NM_IFACE) @@ -903,18 +879,11 @@ class GsmDeviceView(TrayIcon): self._palette.connection_time_label.set_text(text) class WirelessDeviceObserver(object): - def __init__(self, device, tray, device_type): + def __init__(self, device, tray): self._device = device self._device_view = None self._tray = tray - - if device_type == network.DEVICE_TYPE_802_11_WIRELESS: - self._device_view = WirelessDeviceView(self._device) - elif device_type == network.DEVICE_TYPE_802_11_OLPC_MESH: - self._device_view = OlpcMeshDeviceView(self._device) - else: - raise ValueError('Unimplemented device type %d' % device_type) - + self._device_view = WirelessDeviceView(self._device) self._tray.add_device(self._device_view) def disconnect(self): @@ -924,6 +893,63 @@ class WirelessDeviceObserver(object): self._device_view = None +class MeshDeviceObserver(object): + def __init__(self, device, tray): + self._bus = dbus.SystemBus() + self._device = device + self._device_view = None + self._tray = tray + + props = dbus.Interface(self._device, dbus.PROPERTIES_IFACE) + props.GetAll(_NM_DEVICE_IFACE, byte_arrays=True, + reply_handler=self.__get_device_props_reply_cb, + error_handler=self.__get_device_props_error_cb) + + self._bus.add_signal_receiver(self.__state_changed_cb, + signal_name='StateChanged', + path=self._device.object_path, + dbus_interface=_NM_DEVICE_IFACE) + + def _remove_device_view(self): + self._device_view.disconnect() + self._tray.remove_device(self._device_view) + self._device_view = None + + def disconnect(self): + if self._device_view is not None: + self._remove_device_view() + + self._bus.remove_signal_receiver(self.__state_changed_cb, + signal_name='StateChanged', + path=self._device.object_path, + dbus_interface=_NM_DEVICE_IFACE) + + def __get_device_props_reply_cb(self, properties): + if 'State' in properties: + self._update_state(properties['State']) + + def __get_device_props_error_cb(self, err): + logging.error('Error getting the device properties: %s', err) + + def __state_changed_cb(self, new_state, old_state, reason): + self._update_state(new_state) + + def _update_state(self, state): + if state in (network.DEVICE_STATE_PREPARE, network.DEVICE_STATE_CONFIG, + network.DEVICE_STATE_NEED_AUTH, + network.DEVICE_STATE_IP_CONFIG, + network.DEVICE_STATE_ACTIVATED): + if self._device_view is not None: + self._device_view.update_state(state) + return + + self._device_view = OlpcMeshDeviceView(self._device, state) + self._tray.add_device(self._device_view) + else: + if self._device_view is not None: + self._remove_device_view() + + class WiredDeviceObserver(object): def __init__(self, device, tray): self._bus = dbus.SystemBus() @@ -1025,9 +1051,11 @@ class NetworkManagerObserver(object): if device_type == network.DEVICE_TYPE_802_3_ETHERNET: device = WiredDeviceObserver(nm_device, self._tray) self._devices[device_op] = device - elif device_type in [network.DEVICE_TYPE_802_11_WIRELESS, - network.DEVICE_TYPE_802_11_OLPC_MESH]: - device = WirelessDeviceObserver(nm_device, self._tray, device_type) + elif device_type == network.DEVICE_TYPE_802_11_WIRELESS: + device = WirelessDeviceObserver(nm_device, self._tray) + self._devices[device_op] = device + elif device_type == network.DEVICE_TYPE_802_11_OLPC_MESH: + device = MeshDeviceObserver(nm_device, self._tray) self._devices[device_op] = device elif device_type == network.DEVICE_TYPE_GSM_MODEM: device = GsmDeviceObserver(nm_device, self._tray) @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: sugar\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-09-05 00:31-0400\n" -"PO-Revision-Date: 2009-09-16 01:37-0400\n" +"POT-Creation-Date: 2010-02-11 00:32-0500\n" +"PO-Revision-Date: 2010-08-08 11:26+0200\n" "Last-Translator: samy boutayeb <s.boutayeb@free.fr>\n" "Language-Team: French <traduc@traduc.org>\n" "Language: fr\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Pootle 1.2.1\n" +"X-Generator: Pootle 2.0.3\n" #: ../extensions/cpsection/aboutme/__init__.py:24 msgid "About Me" @@ -53,7 +53,7 @@ msgstr "Erreur dans les modificateurs de couleur spécifiés." msgid "Error in specified colors." msgstr "Erreur dans les couleurs spécifiées." -#: ../extensions/cpsection/aboutme/view.py:94 ../src/jarabe/intro/window.py:92 +#: ../extensions/cpsection/aboutme/view.py:94 ../src/jarabe/intro/window.py:93 msgid "Name:" msgstr "Nom :" @@ -125,7 +125,7 @@ msgstr "Date & heure" msgid "Error timezone does not exist." msgstr "Erreur : le fuseau horaire n'existe pas." -#: ../extensions/cpsection/datetime/view.py:68 ../data/sugar.schemas.in.h:27 +#: ../extensions/cpsection/datetime/view.py:68 ../data/sugar.schemas.in.h:33 msgid "Timezone" msgstr "Fuseau horaire" @@ -168,15 +168,15 @@ msgstr "Bord" msgid "Keyboard" msgstr "Clavier" -#: ../extensions/cpsection/keyboard/view.py:187 +#: ../extensions/cpsection/keyboard/view.py:189 msgid "Keyboard Model" msgstr "Modèle de clavier" -#: ../extensions/cpsection/keyboard/view.py:243 +#: ../extensions/cpsection/keyboard/view.py:248 msgid "Key(s) to change layout" msgstr "Touche(s) de modification de la disposition" -#: ../extensions/cpsection/keyboard/view.py:311 +#: ../extensions/cpsection/keyboard/view.py:318 msgid "Keyboard Layout(s)" msgstr "Disposition(s) du clavier" @@ -207,6 +207,26 @@ msgstr "" "Ajoutez des langues dans l'ordre souhaité. Si la traduction n'est pas " "disponible, la suivante dans la liste sera utilisée." +#: ../extensions/cpsection/modemconfiguration/__init__.py:21 +msgid "Modem Configuration" +msgstr "Configuration du modem" + +#: ../extensions/cpsection/modemconfiguration/view.py:90 +msgid "Username:" +msgstr "Identifiant :" + +#: ../extensions/cpsection/modemconfiguration/view.py:101 +msgid "Password:" +msgstr "Mot de passe :" + +#: ../extensions/cpsection/modemconfiguration/view.py:112 +msgid "Number:" +msgstr "Numéro :" + +#: ../extensions/cpsection/modemconfiguration/view.py:123 +msgid "APN:" +msgstr "APN :" + #: ../extensions/cpsection/network/__init__.py:21 #: ../extensions/cpsection/network/view.py:28 msgid "Network" @@ -270,11 +290,11 @@ msgstr "Alimentation" #: ../extensions/cpsection/power/model.py:54 msgid "Error in automatic pm argument, use on/off." -msgstr "Erreur dans l'argument gestion de l'alimentation automatique" +msgstr "Erreur dans l'argument gestion de l'alimentation automatique." #: ../extensions/cpsection/power/model.py:81 msgid "Error in extreme pm argument, use on/off." -msgstr "Erreur dans l'argument gestion de l'alimentation extrême" +msgstr "Erreur dans l'argument gestion de l'alimentation extrême." #: ../extensions/cpsection/power/view.py:47 msgid "Power management" @@ -295,7 +315,7 @@ msgstr "" msgid "Software update" msgstr "Mise à jour logicielle" -#: ../extensions/cpsection/updater/view.py:62 +#: ../extensions/cpsection/updater/view.py:63 msgid "" "Software updates correct errors, eliminate security vulnerabilities, and " "provide new features." @@ -303,79 +323,79 @@ msgstr "" "Les mises à jour logicielles corrigent les erreurs, éliminent les failles de " "sécurité et apportent de nouvelles fonctionnalités." -#: ../extensions/cpsection/updater/view.py:122 +#: ../extensions/cpsection/updater/view.py:125 #, python-format msgid "Checking %s..." msgstr "Vérification de %s..." -#: ../extensions/cpsection/updater/view.py:124 +#: ../extensions/cpsection/updater/view.py:127 #, python-format msgid "Downloading %s..." msgstr "Téléchargement de %s..." -#: ../extensions/cpsection/updater/view.py:126 +#: ../extensions/cpsection/updater/view.py:129 #, python-format msgid "Updating %s..." msgstr "Mise à jour de %s..." -#: ../extensions/cpsection/updater/view.py:135 +#: ../extensions/cpsection/updater/view.py:139 msgid "Your software is up-to-date" msgstr "Vos logiciels sont à jour" -#: ../extensions/cpsection/updater/view.py:137 +#: ../extensions/cpsection/updater/view.py:141 #, python-format msgid "You can install %s update" msgid_plural "You can install %s updates" msgstr[0] "Vous pouvez installer %s mise à jour" msgstr[1] "Vous pouvez installer %s mises à jour" -#: ../extensions/cpsection/updater/view.py:155 +#: ../extensions/cpsection/updater/view.py:159 msgid "Checking for updates..." msgstr "Vérification des mises à jour..." -#: ../extensions/cpsection/updater/view.py:160 +#: ../extensions/cpsection/updater/view.py:164 msgid "Installing updates..." msgstr "Installation des mises à jour..." -#: ../extensions/cpsection/updater/view.py:165 +#: ../extensions/cpsection/updater/view.py:172 #, python-format msgid "%s update was installed" msgid_plural "%s updates were installed" msgstr[0] "%s mise à jour a été installée" msgstr[1] "%s mises à jour ont été installées" -#: ../extensions/cpsection/updater/view.py:244 +#: ../extensions/cpsection/updater/view.py:253 msgid "Install selected" msgstr "Installer les activités sélectionnées" -#: ../extensions/cpsection/updater/view.py:265 +#: ../extensions/cpsection/updater/view.py:274 #, python-format msgid "Download size: %s" msgstr "Taille du téléchargement : %s" -#: ../extensions/cpsection/updater/view.py:353 +#: ../extensions/cpsection/updater/view.py:362 #, python-format msgid "From version %(current)d to %(new)s (Size: %(size)s)" msgstr "De la version %(current)d à %(new)s (taille : %(size)s)" #. TRANS: download size is 0 -#: ../extensions/cpsection/updater/view.py:373 +#: ../extensions/cpsection/updater/view.py:382 msgid "None" msgstr "Zéro" #. TRANS: download size of very small updates -#: ../extensions/cpsection/updater/view.py:376 +#: ../extensions/cpsection/updater/view.py:385 msgid "1 KB" msgstr "1 Ko" #. TRANS: download size of small updates, e.g. '250 KB' -#: ../extensions/cpsection/updater/view.py:379 +#: ../extensions/cpsection/updater/view.py:388 #, python-format msgid "%.0f KB" msgstr "%.0f Ko" #. TRANS: download size of updates, e.g. '2.3 MB' -#: ../extensions/cpsection/updater/view.py:382 +#: ../extensions/cpsection/updater/view.py:391 #, python-format msgid "%.1f MB" msgstr "%.1f Mo" @@ -405,7 +425,7 @@ msgstr "%(hour)d:%(min).2d restantes" msgid "Charged" msgstr "Charge complète" -#: ../extensions/deviceicon/network.py:44 +#: ../extensions/deviceicon/network.py:49 #, python-format msgid "IP address: %s" msgstr "Adresse IP : %s" @@ -414,42 +434,89 @@ msgstr "Adresse IP : %s" # priority over the normal wireless device. NM doesn't have a "disconnect" # method for a device either (for various reasons) so this doesn't # have a good mapping -#: ../extensions/deviceicon/network.py:110 +#: ../extensions/deviceicon/network.py:111 msgid "Disconnect..." msgstr "Déconnexion..." -#: ../extensions/deviceicon/network.py:114 +#: ../extensions/deviceicon/network.py:116 msgid "Create new wireless network" msgstr "Créer un nouveau réseau sans fil" -#: ../extensions/deviceicon/network.py:120 -#: ../src/jarabe/desktop/meshbox.py:264 +#: ../extensions/deviceicon/network.py:122 +#: ../extensions/deviceicon/network.py:284 +#: ../src/jarabe/desktop/meshbox.py:248 ../src/jarabe/desktop/meshbox.py:537 msgid "Connecting..." msgstr "Connexion..." # TODO: show the channel number -#: ../extensions/deviceicon/network.py:124 -#: ../extensions/deviceicon/network.py:186 -#: ../src/jarabe/desktop/meshbox.py:270 +#: ../extensions/deviceicon/network.py:126 +#: ../extensions/deviceicon/network.py:198 +#: ../extensions/deviceicon/network.py:288 +#: ../src/jarabe/desktop/meshbox.py:254 ../src/jarabe/desktop/meshbox.py:543 msgid "Connected" msgstr "Connecté" -#: ../extensions/deviceicon/network.py:146 +#: ../extensions/deviceicon/network.py:158 msgid "Channel" msgstr "Canal" -#: ../extensions/deviceicon/network.py:161 +#: ../extensions/deviceicon/network.py:173 msgid "Wired Network" msgstr "Réseau filaire" -#: ../extensions/deviceicon/network.py:189 +#: ../extensions/deviceicon/network.py:201 msgid "Speed" msgstr "Vitesse" -#: ../extensions/deviceicon/network.py:415 +#: ../extensions/deviceicon/network.py:228 +msgid "Wireless modem" +msgstr "Modem sans fil" + +#: ../extensions/deviceicon/network.py:276 +msgid "Please wait..." +msgstr "Patienter..." + +#: ../extensions/deviceicon/network.py:279 +#: ../src/jarabe/desktop/meshbox.py:164 ../src/jarabe/desktop/meshbox.py:494 +msgid "Connect" +msgstr "Connecter" + +#: ../extensions/deviceicon/network.py:280 +msgid "Disconnected" +msgstr "Déconnecté" + +#: ../extensions/deviceicon/network.py:283 +#: ../src/jarabe/controlpanel/toolbar.py:115 +#: ../src/jarabe/desktop/homebox.py:68 +#: ../src/jarabe/frame/activitiestray.py:700 +#: ../src/jarabe/frame/activitiestray.py:799 +#: ../src/jarabe/frame/activitiestray.py:827 +msgid "Cancel" +msgstr "Annuler" + +#: ../extensions/deviceicon/network.py:287 +#: ../src/jarabe/desktop/meshbox.py:168 +msgid "Disconnect" +msgstr "Déconnecter" + +#: ../extensions/deviceicon/network.py:530 +#, python-format +msgid "%s's network" +msgstr "Réseau %s" + +#: ../extensions/deviceicon/network.py:597 +#: ../extensions/deviceicon/network.py:656 +msgid "Mesh Network" +msgstr "Réseau maillé" + +#: ../extensions/deviceicon/network.py:857 #, python-format -msgid "%s's network %s" -msgstr "Réseau %s %s" +msgid "Data sent %d kb / received %d kb" +msgstr "Données envoyées %d ko / reçues %d ko" + +#: ../extensions/deviceicon/network.py:868 +msgid "Connection time " +msgstr "Durée de connexion" #: ../extensions/deviceicon/speaker.py:59 msgid "My Speakers" @@ -463,39 +530,47 @@ msgstr "Activer le son" msgid "Mute" msgstr "Mettre en sourdine" -#: ../extensions/globalkey/screenshot.py:56 +#: ../extensions/globalkey/screenshot.py:59 msgid "Mesh" msgstr "Réseau maillé" -#: ../extensions/globalkey/screenshot.py:58 +#: ../extensions/globalkey/screenshot.py:61 #: ../src/jarabe/frame/zoomtoolbar.py:39 msgid "Group" msgstr "Groupe" -#: ../extensions/globalkey/screenshot.py:60 +#: ../extensions/globalkey/screenshot.py:63 #: ../src/jarabe/frame/zoomtoolbar.py:41 msgid "Home" msgstr "Accueil" -#: ../extensions/globalkey/screenshot.py:66 +#: ../extensions/globalkey/screenshot.py:69 #: ../src/jarabe/frame/zoomtoolbar.py:43 msgid "Activity" msgstr "Activité" -#: ../extensions/globalkey/screenshot.py:69 +#: ../extensions/globalkey/screenshot.py:72 msgid "Screenshot" msgstr "Capture d'écran" -#: ../extensions/globalkey/screenshot.py:71 +#: ../extensions/globalkey/screenshot.py:74 #, python-format msgid "Screenshot of \"%s\"" msgstr "Capture d'écran de \"%s\"" #: ../data/sugar.schemas.in.h:1 +msgid "" +"\"disabled\" to ask nick on initialization; \"system\" to reuse UNIX account " +"long name." +msgstr "" +"\"désactivé\" pour demander un pseudo lors de l'initialisation ; \"système\" " +"pour réutiliser l'identifiant long du compte UNIX." + +#: ../data/sugar.schemas.in.h:2 msgid "Backup URL" msgstr "Sauvegarde de l'URL" -#: ../data/sugar.schemas.in.h:2 +#: ../data/sugar.schemas.in.h:3 msgid "" "Color for the XO icon that is used throughout the desktop. The string is " "composed of the stroke color and fill color, format is that of rbg colors. " @@ -505,31 +580,51 @@ msgstr "" "et du remplissage. Le format correspond aux couleurs RVB. Exemple : " "#AC32FF,#9A5200" -#: ../data/sugar.schemas.in.h:3 +#: ../data/sugar.schemas.in.h:4 msgid "Corner Delay" msgstr "Délai des coins" -#: ../data/sugar.schemas.in.h:4 +#: ../data/sugar.schemas.in.h:5 +msgid "Default font face" +msgstr "Police par défaut" + +#: ../data/sugar.schemas.in.h:6 +msgid "Default font size" +msgstr "Corps de la police par défaut" + +#: ../data/sugar.schemas.in.h:7 +msgid "Default nick" +msgstr "Pseudo par défaut" + +#: ../data/sugar.schemas.in.h:8 msgid "Delay for the activation of the frame using the corners." msgstr "Délai d'activation du cadre à l'aide des coins." -#: ../data/sugar.schemas.in.h:5 +#: ../data/sugar.schemas.in.h:9 msgid "Delay for the activation of the frame using the edges." msgstr "Délai d'activation du cadre à l'aide des bords." -#: ../data/sugar.schemas.in.h:6 +#: ../data/sugar.schemas.in.h:10 msgid "Edge Delay" msgstr "Délai des bords" -#: ../data/sugar.schemas.in.h:7 +#: ../data/sugar.schemas.in.h:11 msgid "Favorites Layout" msgstr "Disposition favorite" -#: ../data/sugar.schemas.in.h:8 +#: ../data/sugar.schemas.in.h:12 msgid "Favorites resume mode" -msgstr "Mode de reprise favori " +msgstr "Mode de reprise favori" -#: ../data/sugar.schemas.in.h:9 +#: ../data/sugar.schemas.in.h:13 +msgid "Font face that is used throughout the desktop." +msgstr "Police utilisée sur le bureau." + +#: ../data/sugar.schemas.in.h:14 +msgid "Font size that is used throughout the desktop." +msgstr "Corps de la police utilisée sur le bureau." + +#: ../data/sugar.schemas.in.h:15 msgid "" "If TRUE, Sugar will make us searchable for the other users of the Jabber " "server." @@ -537,110 +632,110 @@ msgstr "" "Si VRAI, Sugar permettra aux autres utilisateurs du serveur Jabber de nous " "retrouver." -#: ../data/sugar.schemas.in.h:10 +#: ../data/sugar.schemas.in.h:16 msgid "If TRUE, Sugar will show a \"Log out\" option." msgstr "Si VRAI, Sugar affichera une option \"Déconnexion\"." -#: ../data/sugar.schemas.in.h:11 +#: ../data/sugar.schemas.in.h:17 msgid "Jabber Server" msgstr "Serveur Jabber" -#: ../data/sugar.schemas.in.h:12 +#: ../data/sugar.schemas.in.h:18 msgid "Keyboard layouts" msgstr "Dispositions du clavier" -#: ../data/sugar.schemas.in.h:13 +#: ../data/sugar.schemas.in.h:19 msgid "Keyboard model" msgstr "Modèle de clavier" -#: ../data/sugar.schemas.in.h:14 +#: ../data/sugar.schemas.in.h:20 msgid "Keyboard options" msgstr "Options du clavier" -#: ../data/sugar.schemas.in.h:15 +#: ../data/sugar.schemas.in.h:21 msgid "Layout of the favorites view." msgstr "Disposition de la vue favorite." -#: ../data/sugar.schemas.in.h:16 +#: ../data/sugar.schemas.in.h:22 msgid "" "List of keyboard layouts. Each entry should be in the form layout(variant)" msgstr "" "Liste des dispositions de claviers. Chaque ligne doit avoir la forme " "disposition(variante)" -#: ../data/sugar.schemas.in.h:17 +#: ../data/sugar.schemas.in.h:23 msgid "List of keyboard options." msgstr "Liste des options de clavier." -#: ../data/sugar.schemas.in.h:18 +#: ../data/sugar.schemas.in.h:24 msgid "Power Automatic" msgstr "Alimentation automatique" -#: ../data/sugar.schemas.in.h:19 +#: ../data/sugar.schemas.in.h:25 msgid "Power Automatic." msgstr "Alimentation automatique." -#: ../data/sugar.schemas.in.h:20 +#: ../data/sugar.schemas.in.h:26 msgid "Power Extreme" msgstr "Alimentation extrême" -#: ../data/sugar.schemas.in.h:21 +#: ../data/sugar.schemas.in.h:27 msgid "Power Extreme." msgstr "Alimentation extrême." -#: ../data/sugar.schemas.in.h:22 +#: ../data/sugar.schemas.in.h:28 msgid "Publish to Gadget" msgstr "Publication vers Gadget" -#: ../data/sugar.schemas.in.h:23 +#: ../data/sugar.schemas.in.h:29 msgid "Setting for muting the sound device." msgstr "Configuration de la mise en sourdine du périphérique audio." -#: ../data/sugar.schemas.in.h:24 +#: ../data/sugar.schemas.in.h:30 msgid "Show Log out" msgstr "Afficher Déconnexion" -#: ../data/sugar.schemas.in.h:25 +#: ../data/sugar.schemas.in.h:31 msgid "Sound Muted" msgstr "Audio désactivé" -#: ../data/sugar.schemas.in.h:26 +#: ../data/sugar.schemas.in.h:32 msgid "The keyboard model to be used" msgstr "Modèle de clavier à utiliser" -#: ../data/sugar.schemas.in.h:28 +#: ../data/sugar.schemas.in.h:34 msgid "Timezone setting for the system." msgstr "Configuration du fuseau horaire du système." -#: ../data/sugar.schemas.in.h:29 +#: ../data/sugar.schemas.in.h:35 msgid "Url of the jabber server to use." msgstr "URL du serveur Jabber à utiliser." -#: ../data/sugar.schemas.in.h:30 +#: ../data/sugar.schemas.in.h:36 msgid "Url where the backup is saved to." msgstr "URL d'enregistrement de la sauvegarde." -#: ../data/sugar.schemas.in.h:31 +#: ../data/sugar.schemas.in.h:37 msgid "User Color" msgstr "Couleurs de l'utilisateur" -#: ../data/sugar.schemas.in.h:32 +#: ../data/sugar.schemas.in.h:38 msgid "User Name" msgstr "Nom de l'utilisateur" -#: ../data/sugar.schemas.in.h:33 +#: ../data/sugar.schemas.in.h:39 msgid "User name that is used throughout the desktop." msgstr "Nom identifiant l'utilisateur sur le bureau." -#: ../data/sugar.schemas.in.h:34 +#: ../data/sugar.schemas.in.h:40 msgid "Volume Level" msgstr "Niveau de volume" -#: ../data/sugar.schemas.in.h:35 +#: ../data/sugar.schemas.in.h:41 msgid "Volume level for the sound device." msgstr "Niveau de volume du périphérique audio." -#: ../data/sugar.schemas.in.h:36 +#: ../data/sugar.schemas.in.h:42 msgid "" "When in resume mode, clicking on a favorite icon will cause the last entry " "for that activity to be resumed." @@ -698,69 +793,47 @@ msgstr "" msgid "To apply your changes you have to restart sugar.\n" msgstr "Redémarrer sugar pour que les changements prennent effet.\n" -#: ../src/jarabe/controlpanel/gui.py:280 +#: ../src/jarabe/controlpanel/gui.py:281 msgid "Warning" msgstr "Attention" -#: ../src/jarabe/controlpanel/gui.py:281 +#: ../src/jarabe/controlpanel/gui.py:282 #: ../src/jarabe/controlpanel/sectionview.py:42 msgid "Changes require restart" msgstr "Relancer pour valider" -#: ../src/jarabe/controlpanel/gui.py:284 +#: ../src/jarabe/controlpanel/gui.py:285 msgid "Cancel changes" msgstr "Abandonner" -#: ../src/jarabe/controlpanel/gui.py:289 ../src/jarabe/desktop/homebox.py:70 +#: ../src/jarabe/controlpanel/gui.py:290 ../src/jarabe/desktop/homebox.py:70 msgid "Later" msgstr "Plus tard" -#: ../src/jarabe/controlpanel/gui.py:293 +#: ../src/jarabe/controlpanel/gui.py:294 msgid "Restart now" msgstr "Maintenant" -#: ../src/jarabe/controlpanel/toolbar.py:61 ../src/jarabe/intro/window.py:188 +#: ../src/jarabe/controlpanel/toolbar.py:61 ../src/jarabe/intro/window.py:206 msgid "Done" msgstr "Accepter" -#: ../src/jarabe/controlpanel/toolbar.py:115 -#: ../src/jarabe/desktop/homebox.py:68 -#: ../src/jarabe/frame/activitiestray.py:726 -#: ../src/jarabe/frame/activitiestray.py:822 -#: ../src/jarabe/frame/activitiestray.py:850 -msgid "Cancel" -msgstr "Annuler" - #: ../src/jarabe/controlpanel/toolbar.py:121 -#: ../src/jarabe/desktop/favoritesview.py:332 +#: ../src/jarabe/desktop/favoritesview.py:333 msgid "Ok" msgstr "Ok" -#: ../src/jarabe/desktop/activitieslist.py:80 -#: ../src/jarabe/journal/listview.py:147 -msgid "Title" -msgstr "Titre" - -#: ../src/jarabe/desktop/activitieslist.py:91 -msgid "Version" -msgstr "Version" - -#: ../src/jarabe/desktop/activitieslist.py:105 -#: ../src/jarabe/journal/listview.py:178 -msgid "Date" -msgstr "Date" - -#: ../src/jarabe/desktop/activitieslist.py:234 +#: ../src/jarabe/desktop/activitieslist.py:236 #, python-format msgid "Version %s" msgstr "Version %s" -#: ../src/jarabe/desktop/activitieslist.py:355 +#: ../src/jarabe/desktop/activitieslist.py:357 msgid "Confirm erase" msgstr "Confirmer la suppression" # Conformer la suppression : faut-il supprimer %s définitivement ? -#: ../src/jarabe/desktop/activitieslist.py:357 +#: ../src/jarabe/desktop/activitieslist.py:359 #, python-format msgid "Confirm erase: Do you want to permanently erase %s?" msgstr "Confirmer la suppression : faut-il supprimer %s définitivement ?" @@ -769,24 +842,24 @@ msgstr "Confirmer la suppression : faut-il supprimer %s définitivement ?" # TODO: Implement stopping downloads # self._stop_item.connect('activate', self._stop_item_activate_cb) # self.append_menu_item(self._stop_item) -#: ../src/jarabe/desktop/activitieslist.py:361 -#: ../src/jarabe/frame/clipboardmenu.py:62 +#: ../src/jarabe/desktop/activitieslist.py:363 +#: ../src/jarabe/frame/clipboardmenu.py:63 #: ../src/jarabe/view/viewsource.py:218 msgid "Keep" msgstr "Conserver" -#: ../src/jarabe/desktop/activitieslist.py:364 -#: ../src/jarabe/desktop/activitieslist.py:407 +#: ../src/jarabe/desktop/activitieslist.py:366 +#: ../src/jarabe/desktop/activitieslist.py:409 #: ../src/jarabe/journal/journaltoolbox.py:360 -#: ../src/jarabe/journal/palettes.py:112 +#: ../src/jarabe/journal/palettes.py:105 msgid "Erase" msgstr "Supprimer" -#: ../src/jarabe/desktop/activitieslist.py:428 +#: ../src/jarabe/desktop/activitieslist.py:430 msgid "Remove favorite" msgstr "Retirer le favori" -#: ../src/jarabe/desktop/activitieslist.py:432 +#: ../src/jarabe/desktop/activitieslist.py:434 msgid "Make favorite" msgstr "Ajouter aux favoris" @@ -820,24 +893,24 @@ msgstr "Boîte" msgid "Triangle" msgstr "Triangle" -#: ../src/jarabe/desktop/favoritesview.py:323 +#: ../src/jarabe/desktop/favoritesview.py:324 msgid "Registration Failed" msgstr "Echec de l'enregistrement" -#: ../src/jarabe/desktop/favoritesview.py:324 +#: ../src/jarabe/desktop/favoritesview.py:325 #, python-format msgid "%s" msgstr "%s" -#: ../src/jarabe/desktop/favoritesview.py:326 +#: ../src/jarabe/desktop/favoritesview.py:327 msgid "Registration Successful" msgstr "Enregistrement réussi" -#: ../src/jarabe/desktop/favoritesview.py:327 +#: ../src/jarabe/desktop/favoritesview.py:328 msgid "You are now registered with your school server." -msgstr "Vous êtes maintenant enregistré sur le serveur de l'école" +msgstr "Vous êtes maintenant enregistré sur le serveur de l'école." -#: ../src/jarabe/desktop/favoritesview.py:671 +#: ../src/jarabe/desktop/favoritesview.py:630 msgid "Register" msgstr "S'enregistrer" @@ -869,41 +942,38 @@ msgstr "Écran favoris" msgid "<Ctrl>1" msgstr "<Ctrl>1" -#: ../src/jarabe/desktop/keydialog.py:131 +#: ../src/jarabe/desktop/keydialog.py:135 msgid "Key Type:" msgstr "Type de clé :" -#: ../src/jarabe/desktop/keydialog.py:151 +#: ../src/jarabe/desktop/keydialog.py:155 msgid "Authentication Type:" msgstr "Type d'authentification :" -#: ../src/jarabe/desktop/keydialog.py:215 +#: ../src/jarabe/desktop/keydialog.py:220 msgid "WPA & WPA2 Personal" msgstr "WPA & WPA2 Personal" -#: ../src/jarabe/desktop/keydialog.py:224 +#: ../src/jarabe/desktop/keydialog.py:229 msgid "Wireless Security:" msgstr "Sécurité sans fil :" -#: ../src/jarabe/desktop/meshbox.py:136 -msgid "Connect" -msgstr "Connecter" - -#: ../src/jarabe/desktop/meshbox.py:140 -msgid "Disconnect" -msgstr "Déconnecter" +#: ../src/jarabe/desktop/meshbox.py:492 +#, python-format +msgid "Mesh Network %d" +msgstr "Réseau maillé %d" # TRANS: Action label for resuming an activity. #. TRANS: Action label for resuming an activity. -#: ../src/jarabe/desktop/meshbox.py:466 -#: ../src/jarabe/frame/activitiestray.py:761 +#: ../src/jarabe/desktop/meshbox.py:629 +#: ../src/jarabe/frame/activitiestray.py:735 #: ../src/jarabe/journal/journaltoolbox.py:428 -#: ../src/jarabe/journal/palettes.py:72 ../src/jarabe/view/palettes.py:64 +#: ../src/jarabe/journal/palettes.py:65 ../src/jarabe/view/palettes.py:67 msgid "Resume" msgstr "Reprendre" -#: ../src/jarabe/desktop/meshbox.py:471 -#: ../src/jarabe/frame/activitiestray.py:235 +#: ../src/jarabe/desktop/meshbox.py:634 +#: ../src/jarabe/frame/activitiestray.py:233 msgid "Join" msgstr "Rejoindre" @@ -915,66 +985,66 @@ msgstr "Impossible de se connecter au serveur." msgid "The server could not complete the request." msgstr "Le serveur n'a pas pu achever la requête." -#: ../src/jarabe/frame/activitiestray.py:240 -#: ../src/jarabe/frame/activitiestray.py:698 +#: ../src/jarabe/frame/activitiestray.py:238 +#: ../src/jarabe/frame/activitiestray.py:672 msgid "Decline" msgstr "Refuser" -#: ../src/jarabe/frame/activitiestray.py:650 +#: ../src/jarabe/frame/activitiestray.py:624 #, python-format msgid "%dB" msgstr "%do" -#: ../src/jarabe/frame/activitiestray.py:652 +#: ../src/jarabe/frame/activitiestray.py:626 #, python-format msgid "%dKB" msgstr "%dKo" -#: ../src/jarabe/frame/activitiestray.py:654 +#: ../src/jarabe/frame/activitiestray.py:628 #, python-format msgid "%dMB" msgstr "%dMo" -#: ../src/jarabe/frame/activitiestray.py:671 +#: ../src/jarabe/frame/activitiestray.py:645 #, python-format msgid "%s of %s" msgstr "%s sur %s" -#: ../src/jarabe/frame/activitiestray.py:683 +#: ../src/jarabe/frame/activitiestray.py:657 #, python-format msgid "Transfer from %r" msgstr "Transfert depuis %r" -#: ../src/jarabe/frame/activitiestray.py:693 +#: ../src/jarabe/frame/activitiestray.py:667 msgid "Accept" msgstr "Accepter" -#: ../src/jarabe/frame/activitiestray.py:716 -#: ../src/jarabe/frame/activitiestray.py:840 +#: ../src/jarabe/frame/activitiestray.py:690 +#: ../src/jarabe/frame/activitiestray.py:817 #, python-format msgid "%s (%s)" msgstr "%s (%s)" -#: ../src/jarabe/frame/activitiestray.py:750 -#: ../src/jarabe/frame/activitiestray.py:875 +#: ../src/jarabe/frame/activitiestray.py:724 +#: ../src/jarabe/frame/activitiestray.py:852 msgid "Dismiss" msgstr "Refuser" -#: ../src/jarabe/frame/activitiestray.py:810 +#: ../src/jarabe/frame/activitiestray.py:787 #, python-format msgid "Transfer to %r" msgstr "Transfert vers %r" -#: ../src/jarabe/frame/clipboardmenu.py:52 ../src/jarabe/view/palettes.py:218 +#: ../src/jarabe/frame/clipboardmenu.py:53 ../src/jarabe/view/palettes.py:221 msgid "Remove" msgstr "Retirer" -#: ../src/jarabe/frame/clipboardmenu.py:57 -#: ../src/jarabe/frame/clipboardmenu.py:80 +#: ../src/jarabe/frame/clipboardmenu.py:58 +#: ../src/jarabe/frame/clipboardmenu.py:81 msgid "Open" msgstr "Ouvrir" -#: ../src/jarabe/frame/clipboardmenu.py:85 +#: ../src/jarabe/frame/clipboardmenu.py:86 msgid "Open with" msgstr "Ouvrir avec" @@ -1003,59 +1073,59 @@ msgstr "F3" msgid "F4" msgstr "F4" -#: ../src/jarabe/intro/window.py:124 +#: ../src/jarabe/intro/window.py:128 msgid "Click to change color:" msgstr "Cliquer pour changer de couleur :" -#: ../src/jarabe/intro/window.py:174 ../src/jarabe/journal/detailview.py:103 +#: ../src/jarabe/intro/window.py:192 ../src/jarabe/journal/detailview.py:103 msgid "Back" msgstr "Précédent" -#: ../src/jarabe/intro/window.py:191 +#: ../src/jarabe/intro/window.py:209 msgid "Next" msgstr "Suivant" -#: ../src/jarabe/journal/expandedentry.py:164 -#: ../src/jarabe/journal/palettes.py:66 +#: ../src/jarabe/journal/expandedentry.py:152 +#: ../src/jarabe/journal/palettes.py:59 msgid "Untitled" msgstr "Sans titre" -#: ../src/jarabe/journal/expandedentry.py:210 +#: ../src/jarabe/journal/expandedentry.py:243 msgid "No preview" msgstr "Pas de prévisualisation" -#: ../src/jarabe/journal/expandedentry.py:229 +#: ../src/jarabe/journal/expandedentry.py:262 #, python-format msgid "Kind: %s" msgstr "Variante : %s" -#: ../src/jarabe/journal/expandedentry.py:229 +#: ../src/jarabe/journal/expandedentry.py:262 msgid "Unknown" msgstr "Inconnu" -#: ../src/jarabe/journal/expandedentry.py:230 +#: ../src/jarabe/journal/expandedentry.py:263 #, python-format msgid "Date: %s" msgstr "Date : %s" -#: ../src/jarabe/journal/expandedentry.py:231 +#: ../src/jarabe/journal/expandedentry.py:264 #, python-format msgid "Size: %s" msgstr "Taille : %s" -#: ../src/jarabe/journal/expandedentry.py:253 ../src/jarabe/journal/misc.py:92 +#: ../src/jarabe/journal/expandedentry.py:286 ../src/jarabe/journal/misc.py:93 msgid "No date" msgstr "Sans date" -#: ../src/jarabe/journal/expandedentry.py:260 +#: ../src/jarabe/journal/expandedentry.py:293 msgid "Participants:" msgstr "Participants :" -#: ../src/jarabe/journal/expandedentry.py:283 +#: ../src/jarabe/journal/expandedentry.py:316 msgid "Description:" msgstr "Description :" -#: ../src/jarabe/journal/expandedentry.py:309 +#: ../src/jarabe/journal/expandedentry.py:341 msgid "Tags:" msgstr "Étiquettes :" @@ -1117,26 +1187,26 @@ msgstr "Tout" # TODO: Add "Start with" menu item #: ../src/jarabe/journal/journaltoolbox.py:350 -#: ../src/jarabe/journal/palettes.py:90 +#: ../src/jarabe/journal/palettes.py:83 msgid "Copy" msgstr "Copier" # TRANS: Action label for starting an entry. #. TRANS: Action label for starting an entry. #: ../src/jarabe/journal/journaltoolbox.py:431 -#: ../src/jarabe/journal/palettes.py:75 +#: ../src/jarabe/journal/palettes.py:68 msgid "Start" msgstr "Lancer" -#: ../src/jarabe/journal/listview.py:361 +#: ../src/jarabe/journal/listview.py:373 msgid "Your Journal is empty" msgstr "Le journal est vide" -#: ../src/jarabe/journal/listview.py:363 +#: ../src/jarabe/journal/listview.py:375 msgid "No matching entries" msgstr "Aucune entrée correspondante" -#: ../src/jarabe/journal/listview.py:374 +#: ../src/jarabe/journal/listview.py:386 msgid "Clear search" msgstr "Effacer la recherche" @@ -1163,35 +1233,35 @@ msgstr "Choisir un objet" msgid "Close" msgstr "Fermer" -#: ../src/jarabe/journal/palettes.py:73 +#: ../src/jarabe/journal/palettes.py:66 msgid "Resume with" msgstr "Reprendre avec" -#: ../src/jarabe/journal/palettes.py:76 +#: ../src/jarabe/journal/palettes.py:69 msgid "Start with" msgstr "Commencer avec" -#: ../src/jarabe/journal/palettes.py:98 +#: ../src/jarabe/journal/palettes.py:91 msgid "Send to" msgstr "Envoyer à" -#: ../src/jarabe/journal/palettes.py:107 +#: ../src/jarabe/journal/palettes.py:100 msgid "View Details" msgstr "Afficher les détails" -#: ../src/jarabe/journal/palettes.py:185 +#: ../src/jarabe/journal/palettes.py:178 msgid "No friends present" msgstr "Aucun ami présent" -#: ../src/jarabe/journal/palettes.py:190 +#: ../src/jarabe/journal/palettes.py:183 msgid "No valid connection found" msgstr "Aucune connexion valide trouvée" -#: ../src/jarabe/journal/palettes.py:218 +#: ../src/jarabe/journal/palettes.py:211 msgid "No activity to resume entry" msgstr "Aucune activité pour reprendre l'entrée" -#: ../src/jarabe/journal/palettes.py:220 +#: ../src/jarabe/journal/palettes.py:213 msgid "No activity to start entry" msgstr "Acune activité pour démarrer l'entrée" @@ -1225,23 +1295,23 @@ msgid "Starting..." msgstr "Démarrage..." #. TODO: share-with, keep -#: ../src/jarabe/view/palettes.py:71 +#: ../src/jarabe/view/palettes.py:74 msgid "View Source" msgstr "Afficher la source" -#: ../src/jarabe/view/palettes.py:82 +#: ../src/jarabe/view/palettes.py:85 msgid "Stop" msgstr "Arrêter" -#: ../src/jarabe/view/palettes.py:122 +#: ../src/jarabe/view/palettes.py:125 msgid "Start new" msgstr "Commencer un nouveau" -#: ../src/jarabe/view/palettes.py:171 +#: ../src/jarabe/view/palettes.py:174 msgid "Show contents" msgstr "Afficher les contenus" -#: ../src/jarabe/view/palettes.py:193 ../src/jarabe/view/palettes.py:243 +#: ../src/jarabe/view/palettes.py:196 ../src/jarabe/view/palettes.py:246 #, python-format msgid "%(free_space)d MB Free" msgstr "%(free_space)d Mo de libre" @@ -1263,6 +1333,15 @@ msgstr "Source du paquet activité" msgid "View source: %r" msgstr "Afficher le code source : %r" +#~ msgid "Title" +#~ msgstr "Titre" + +#~ msgid "Version" +#~ msgstr "Version" + +#~ msgid "Date" +#~ msgstr "Date" + #~ msgid "Cannot obtain data needed for registration." #~ msgstr "Impossible d'obtenir les données nécessaires à l'enregistrement." @@ -1294,12 +1373,6 @@ msgstr "Afficher le code source : %r" #~ msgid "Disconnecting..." #~ msgstr "Déconnexion..." -#~ msgid "Mesh Network" -#~ msgstr "Réseau maillé" - -#~ msgid "Disconnected" -#~ msgstr "Déconnecté" - #~ msgid "About my XO" #~ msgstr "Mon XO" @@ -2,12 +2,16 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-26 00:31-0400\n" -"PO-Revision-Date: 2009-09-05 07:25-0400\n" +"POT-Creation-Date: 2010-06-08 00:31-0400\n" +"PO-Revision-Date: 2010-08-07 21:55+0200\n" "Last-Translator: Myckel Habets <myckel@sdf.lonestar.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: nl\n" @@ -15,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Pootle 1.2.1\n" +"X-Generator: Pootle 2.0.3\n" #: ../extensions/cpsection/aboutme/__init__.py:24 msgid "About Me" @@ -53,7 +57,7 @@ msgstr "Fout in opgegeven kleurenmodificaties." msgid "Error in specified colors." msgstr "Fout in opgegeven kleuren." -#: ../extensions/cpsection/aboutme/view.py:94 ../src/jarabe/intro/window.py:92 +#: ../extensions/cpsection/aboutme/view.py:94 ../src/jarabe/intro/window.py:93 msgid "Name:" msgstr "Naam:" @@ -125,7 +129,7 @@ msgstr "Datum en Tijd" msgid "Error timezone does not exist." msgstr "Fout tijdzone bestaat niet." -#: ../extensions/cpsection/datetime/view.py:68 ../data/sugar.schemas.in.h:27 +#: ../extensions/cpsection/datetime/view.py:68 ../data/sugar.schemas.in.h:47 msgid "Timezone" msgstr "Tijdzone" @@ -161,24 +165,24 @@ msgstr "Hoek" #: ../extensions/cpsection/frame/view.py:111 msgid "Edge" -msgstr "Ribbe" +msgstr "Rand" #: ../extensions/cpsection/keyboard/__init__.py:21 #: ../extensions/cpsection/keyboard/view.py:31 msgid "Keyboard" msgstr "Toetsenbord" -#: ../extensions/cpsection/keyboard/view.py:187 +#: ../extensions/cpsection/keyboard/view.py:189 msgid "Keyboard Model" msgstr "Toetsenbordmodel" -#: ../extensions/cpsection/keyboard/view.py:243 +#: ../extensions/cpsection/keyboard/view.py:248 msgid "Key(s) to change layout" -msgstr "Toets(en) om de layout te veranderen" +msgstr "Toets(en) om de indeling te veranderen" -#: ../extensions/cpsection/keyboard/view.py:311 +#: ../extensions/cpsection/keyboard/view.py:318 msgid "Keyboard Layout(s)" -msgstr "Toetsenbordlayout(s)" +msgstr "Toetsenbordindeling(en)" #: ../extensions/cpsection/language/__init__.py:21 #: ../extensions/cpsection/language/view.py:33 @@ -197,7 +201,7 @@ msgstr "Taal voor code=%s kon niet bepaald worden." #: ../extensions/cpsection/language/model.py:144 #, python-format msgid "Sorry I do not speak '%s'." -msgstr "Sorry, I spreek geen '%s'." +msgstr "Sorry ik spreek geen '%s'." #: ../extensions/cpsection/language/view.py:56 msgid "" @@ -207,6 +211,42 @@ msgstr "" "Voeg talen toe in de volgorde die je wenst. Als een vertaling niet " "beschikbaar is, zal de volgende in de lijst gebruikt worden." +#: ../extensions/cpsection/modemconfiguration/__init__.py:21 +msgid "Modem Configuration" +msgstr "Modem configuratie" + +#: ../extensions/cpsection/modemconfiguration/view.py:91 +msgid "Username:" +msgstr "Gebruikersnaam:" + +#: ../extensions/cpsection/modemconfiguration/view.py:102 +msgid "Password:" +msgstr "Wachtwoord:" + +#: ../extensions/cpsection/modemconfiguration/view.py:113 +msgid "Number:" +msgstr "Getal:" + +#: ../extensions/cpsection/modemconfiguration/view.py:124 +msgid "Access Point Name (APN):" +msgstr "Access Point Naam (APN):" + +#: ../extensions/cpsection/modemconfiguration/view.py:135 +msgid "Personal Identity Number (PIN):" +msgstr "Persoonlijk Identiteitsnummer (PIN):" + +#: ../extensions/cpsection/modemconfiguration/view.py:146 +msgid "Personal Unblocking Key (PUK):" +msgstr "Persoonlijke Ontsluitingssleutel (PUK):" + +#: ../extensions/cpsection/modemconfiguration/view.py:167 +msgid "" +"You will need to provide the following information to set up a mobile " +"broadband connection to a cellular (3G) network." +msgstr "" +"Je moet de volgende informatie opgeven om een mobiele breedbandverbinding " +"via een mobiel (3G) netwerk op te zetten." + #: ../extensions/cpsection/network/__init__.py:21 #: ../extensions/cpsection/network/view.py:28 msgid "Network" @@ -256,9 +296,9 @@ msgid "" "server will be able to see each other, even when they aren't on the same " "network." msgstr "" -"De server is het equivalent van in welke ruimte je je bevindt; mensen op " +"De server is hetzelfde als de ruimte waar jij je in bevindt; mensen op " "dezelfde server kunnen elkaar zien, ook als ze niet op hetzelfde netwerk " -"zitten" +"zitten." #: ../extensions/cpsection/network/view.py:136 msgid "Server:" @@ -268,11 +308,11 @@ msgstr "Server:" msgid "Power" msgstr "Energie" -#: ../extensions/cpsection/power/model.py:54 +#: ../extensions/cpsection/power/model.py:85 msgid "Error in automatic pm argument, use on/off." msgstr "Fout in automatisch energiebeheer argument, gebruik on/off." -#: ../extensions/cpsection/power/model.py:81 +#: ../extensions/cpsection/power/model.py:112 msgid "Error in extreme pm argument, use on/off." msgstr "Fout in extreem energiebeheer argument, gebruik on/off." @@ -295,7 +335,7 @@ msgstr "" msgid "Software update" msgstr "Software-update" -#: ../extensions/cpsection/updater/view.py:62 +#: ../extensions/cpsection/updater/view.py:63 msgid "" "Software updates correct errors, eliminate security vulnerabilities, and " "provide new features." @@ -303,79 +343,79 @@ msgstr "" "Software-updates verbeteren fouten, verhelpen beveiligingsproblemen en " "bieden nieuwe mogelijkheden." -#: ../extensions/cpsection/updater/view.py:122 +#: ../extensions/cpsection/updater/view.py:125 #, python-format msgid "Checking %s..." msgstr "Controleren van %s..." -#: ../extensions/cpsection/updater/view.py:124 +#: ../extensions/cpsection/updater/view.py:127 #, python-format msgid "Downloading %s..." msgstr "Downloaden van %s..." -#: ../extensions/cpsection/updater/view.py:126 +#: ../extensions/cpsection/updater/view.py:129 #, python-format msgid "Updating %s..." msgstr "Updaten van %s..." -#: ../extensions/cpsection/updater/view.py:135 +#: ../extensions/cpsection/updater/view.py:139 msgid "Your software is up-to-date" msgstr "Je software is bijgewerkt" -#: ../extensions/cpsection/updater/view.py:137 +#: ../extensions/cpsection/updater/view.py:141 #, python-format msgid "You can install %s update" msgid_plural "You can install %s updates" msgstr[0] "Je kan %s update installeren" msgstr[1] "Je kan %s updates installeren" -#: ../extensions/cpsection/updater/view.py:155 +#: ../extensions/cpsection/updater/view.py:159 msgid "Checking for updates..." msgstr "Controleren op updates..." -#: ../extensions/cpsection/updater/view.py:160 +#: ../extensions/cpsection/updater/view.py:164 msgid "Installing updates..." msgstr "Updates installeren..." -#: ../extensions/cpsection/updater/view.py:165 +#: ../extensions/cpsection/updater/view.py:172 #, python-format msgid "%s update was installed" msgid_plural "%s updates were installed" msgstr[0] "%s update is geïnstalleerd" msgstr[1] "%s updates zijn geïnstalleerd" -#: ../extensions/cpsection/updater/view.py:244 +#: ../extensions/cpsection/updater/view.py:253 msgid "Install selected" msgstr "Installatie geselecteerd" -#: ../extensions/cpsection/updater/view.py:265 +#: ../extensions/cpsection/updater/view.py:274 #, python-format msgid "Download size: %s" msgstr "Downloadgrootte: %s" -#: ../extensions/cpsection/updater/view.py:353 +#: ../extensions/cpsection/updater/view.py:362 #, python-format msgid "From version %(current)d to %(new)s (Size: %(size)s)" msgstr "Van versie %(current)d naar %(new)s (Grootte: %(size)s)" #. TRANS: download size is 0 -#: ../extensions/cpsection/updater/view.py:373 +#: ../extensions/cpsection/updater/view.py:382 msgid "None" msgstr "Niets" #. TRANS: download size of very small updates -#: ../extensions/cpsection/updater/view.py:376 +#: ../extensions/cpsection/updater/view.py:385 msgid "1 KB" msgstr "1 KB" #. TRANS: download size of small updates, e.g. '250 KB' -#: ../extensions/cpsection/updater/view.py:379 +#: ../extensions/cpsection/updater/view.py:388 #, python-format msgid "%.0f KB" msgstr "%.0f KB" #. TRANS: download size of updates, e.g. '2.3 MB' -#: ../extensions/cpsection/updater/view.py:382 +#: ../extensions/cpsection/updater/view.py:391 #, python-format msgid "%.1f MB" msgstr "%.1f MB" @@ -405,47 +445,102 @@ msgstr "%(hour)d:%(min).2d over" msgid "Charged" msgstr "Opgeladen" -#: ../extensions/deviceicon/network.py:44 +#: ../extensions/deviceicon/network.py:49 #, python-format msgid "IP address: %s" msgstr "IP adres: %s" -#: ../extensions/deviceicon/network.py:110 +#: ../extensions/deviceicon/network.py:112 msgid "Disconnect..." msgstr "Verbinding verbreken..." -#: ../extensions/deviceicon/network.py:114 +#: ../extensions/deviceicon/network.py:117 msgid "Create new wireless network" msgstr "Nieuw draadloos netwerk aanmaken" -#: ../extensions/deviceicon/network.py:120 -#: ../src/jarabe/desktop/meshbox.py:261 +#: ../extensions/deviceicon/network.py:123 +#: ../extensions/deviceicon/network.py:285 +#: ../src/jarabe/desktop/meshbox.py:247 ../src/jarabe/desktop/meshbox.py:536 msgid "Connecting..." msgstr "Verbinden..." # TODO: show the channel number -#: ../extensions/deviceicon/network.py:124 -#: ../extensions/deviceicon/network.py:186 -#: ../src/jarabe/desktop/meshbox.py:267 +#: ../extensions/deviceicon/network.py:127 +#: ../extensions/deviceicon/network.py:199 +#: ../extensions/deviceicon/network.py:289 +#: ../src/jarabe/desktop/meshbox.py:253 ../src/jarabe/desktop/meshbox.py:542 msgid "Connected" msgstr "Verbonden" -#: ../extensions/deviceicon/network.py:146 +#: ../extensions/deviceicon/network.py:159 msgid "Channel" msgstr "Kanaal" -#: ../extensions/deviceicon/network.py:161 +#: ../extensions/deviceicon/network.py:174 msgid "Wired Network" msgstr "Bedraad netwerk" -#: ../extensions/deviceicon/network.py:189 +#: ../extensions/deviceicon/network.py:202 msgid "Speed" msgstr "Snelheid" -#: ../extensions/deviceicon/network.py:415 +#: ../extensions/deviceicon/network.py:229 +msgid "Wireless modem" +msgstr "Draadloze modem" + +#: ../extensions/deviceicon/network.py:277 +msgid "Please wait..." +msgstr "Even geduld aub..." + +#: ../extensions/deviceicon/network.py:280 +#: ../src/jarabe/desktop/meshbox.py:163 ../src/jarabe/desktop/meshbox.py:493 +msgid "Connect" +msgstr "Verbinden" + +#: ../extensions/deviceicon/network.py:281 +msgid "Disconnected" +msgstr "Verbinding verbroken" + +#: ../extensions/deviceicon/network.py:284 +#: ../src/jarabe/controlpanel/toolbar.py:115 +#: ../src/jarabe/desktop/homebox.py:68 +#: ../src/jarabe/frame/activitiestray.py:708 +#: ../src/jarabe/frame/activitiestray.py:807 +#: ../src/jarabe/frame/activitiestray.py:835 +msgid "Cancel" +msgstr "Annuleren" + +#: ../extensions/deviceicon/network.py:288 +#: ../src/jarabe/desktop/meshbox.py:167 +msgid "Disconnect" +msgstr "Verbinding verbreken" + +#: ../extensions/deviceicon/network.py:292 +msgid "Sim requires Pin/Puk" +msgstr "Sim vereist Pin/Puk" + +#: ../extensions/deviceicon/network.py:293 +msgid "Authentication Error" +msgstr "Authenticatiefout" + +#: ../extensions/deviceicon/network.py:538 #, python-format -msgid "%s's network %s" -msgstr "%s's netwerk %s" +msgid "%s's network" +msgstr "%s's netwerk" + +#: ../extensions/deviceicon/network.py:605 +#: ../extensions/deviceicon/network.py:664 +msgid "Mesh Network" +msgstr "Mesh netwerk" + +#: ../extensions/deviceicon/network.py:869 +#, python-format +msgid "Data sent %d KB / received %d KB" +msgstr "Gegevens verstuurd %d KB / ontvangen %d KB" + +#: ../extensions/deviceicon/network.py:880 +msgid "Connection time " +msgstr "Tijd verbonden " #: ../extensions/deviceicon/speaker.py:59 msgid "My Speakers" @@ -459,39 +554,51 @@ msgstr "Ontdempen" msgid "Mute" msgstr "Dempen" -#: ../extensions/globalkey/screenshot.py:56 +#: ../extensions/globalkey/screenshot.py:59 msgid "Mesh" msgstr "Mesh" -#: ../extensions/globalkey/screenshot.py:58 +#: ../extensions/globalkey/screenshot.py:61 #: ../src/jarabe/frame/zoomtoolbar.py:39 msgid "Group" msgstr "Groep" -#: ../extensions/globalkey/screenshot.py:60 +#: ../extensions/globalkey/screenshot.py:63 #: ../src/jarabe/frame/zoomtoolbar.py:41 msgid "Home" msgstr "Thuis" -#: ../extensions/globalkey/screenshot.py:66 +#: ../extensions/globalkey/screenshot.py:69 #: ../src/jarabe/frame/zoomtoolbar.py:43 msgid "Activity" msgstr "Activiteit" -#: ../extensions/globalkey/screenshot.py:69 +#: ../extensions/globalkey/screenshot.py:72 msgid "Screenshot" msgstr "Schermafdruk" -#: ../extensions/globalkey/screenshot.py:71 +#: ../extensions/globalkey/screenshot.py:74 #, python-format msgid "Screenshot of \"%s\"" msgstr "Schermafdruk van \"%s\"" #: ../data/sugar.schemas.in.h:1 -msgid "Backup URL" -msgstr "Backup URL" +msgid "" +"\"disabled\" to ask nick on initialization; \"system\" to reuse UNIX account " +"long name." +msgstr "" +"\"uitgezet\" om bijnaam te vragen bij initialisatie; \"systeem\" hergebruikt de " +"UNIX gebruiker lange naam." #: ../data/sugar.schemas.in.h:2 +msgid "Additional directories which can contain updated translations." +msgstr "Additionele directories die bijgewerkte vertalingen kunnen bevatten." + +#: ../data/sugar.schemas.in.h:3 +msgid "Backup URL" +msgstr "Back-up URL" + +#: ../data/sugar.schemas.in.h:4 msgid "" "Color for the XO icon that is used throughout the desktop. The string is " "composed of the stroke color and fill color, format is that of rbg colors. " @@ -501,148 +608,220 @@ msgstr "" "uit een lijnkleur en een vulkleur, formaat is gelijk aan rbg kleuren. " "Bijvoorbeeld: #AC32FF,#9A5200" -#: ../data/sugar.schemas.in.h:3 +#: ../data/sugar.schemas.in.h:5 msgid "Corner Delay" msgstr "Hoekvertraging" -#: ../data/sugar.schemas.in.h:4 +#: ../data/sugar.schemas.in.h:6 +msgid "Default font face" +msgstr "Standaard lettertype" + +#: ../data/sugar.schemas.in.h:7 +msgid "Default font size" +msgstr "Standaard lettergrootte" + +#: ../data/sugar.schemas.in.h:8 +msgid "Default nick" +msgstr "Standaard bijnaam" + +#: ../data/sugar.schemas.in.h:9 msgid "Delay for the activation of the frame using the corners." msgstr "Vertraging voor de activatie van het kader door de hoeken te gebruiken." -#: ../data/sugar.schemas.in.h:5 +#: ../data/sugar.schemas.in.h:10 msgid "Delay for the activation of the frame using the edges." msgstr "Vertraging voor de activatie van het kader door de randen te gebruiken." -#: ../data/sugar.schemas.in.h:6 +#: ../data/sugar.schemas.in.h:11 +msgid "Directory to search for translations" +msgstr "Directory om naar vertalingen te zoeken" + +#: ../data/sugar.schemas.in.h:12 msgid "Edge Delay" msgstr "Randvertraging" -#: ../data/sugar.schemas.in.h:7 +#: ../data/sugar.schemas.in.h:13 msgid "Favorites Layout" msgstr "Favorietenlayout" -#: ../data/sugar.schemas.in.h:8 +#: ../data/sugar.schemas.in.h:14 msgid "Favorites resume mode" msgstr "Favorieten hervatmodus" -#: ../data/sugar.schemas.in.h:9 +#: ../data/sugar.schemas.in.h:15 +msgid "Font face that is used throughout the desktop." +msgstr "Lettertype dat overal gebruikt wordt op het bureaublad." + +#: ../data/sugar.schemas.in.h:16 +msgid "Font size that is used throughout the desktop." +msgstr "Lettergrootte die overal gebruikt wordt op het bureaublad." + +#: ../data/sugar.schemas.in.h:17 +msgid "GSM network APN" +msgstr "GSM netwerk APN" + +#: ../data/sugar.schemas.in.h:18 +msgid "GSM network PIN" +msgstr "GSM netwerk PIN" + +#: ../data/sugar.schemas.in.h:19 +msgid "GSM network PUK" +msgstr "GSM netwerk PUK" + +#: ../data/sugar.schemas.in.h:20 +msgid "GSM network access point name configuration" +msgstr "GSM netwerk access point naam configuratie" + +#: ../data/sugar.schemas.in.h:21 +msgid "GSM network number" +msgstr "GSM netwerknummer" + +#: ../data/sugar.schemas.in.h:22 +msgid "GSM network password" +msgstr "GSM netwerkwachtwoord" + +#: ../data/sugar.schemas.in.h:23 +msgid "GSM network password configuration" +msgstr "GSM netwerkwachtwoord configuratie" + +#: ../data/sugar.schemas.in.h:24 +msgid "GSM network personal identification number configuration" +msgstr "GSM netwerk persoonlijk identificatienummer configuratie" + +#: ../data/sugar.schemas.in.h:25 +msgid "GSM network personal unlock key configuration" +msgstr "GSM netwerk persoonlijk ontsluitsleutel configuratie" + +#: ../data/sugar.schemas.in.h:26 +msgid "GSM network telephone number configuration" +msgstr "GSM netwerk telefoonnummer configuratie" + +#: ../data/sugar.schemas.in.h:27 +msgid "GSM network username" +msgstr "GSM netwerkgebruikersnaam" + +#: ../data/sugar.schemas.in.h:28 +msgid "GSM network username configuration" +msgstr "GSM netwerkgebruikersnaam configuratie" + +#: ../data/sugar.schemas.in.h:29 msgid "" "If TRUE, Sugar will make us searchable for the other users of the Jabber " "server." msgstr "" -"Indien WAAR, Sugar zal ons opzoekbaar maken voor andere gebruikers op de " +"Indien WAAR, dan zal Sugar ons opzoekbaar maken voor andere gebruikers op de " "Jabber server." -#: ../data/sugar.schemas.in.h:10 +#: ../data/sugar.schemas.in.h:30 msgid "If TRUE, Sugar will show a \"Log out\" option." msgstr "Indien WAAR, zal Sugar een \"Afmelden\" optie geven." -#: ../data/sugar.schemas.in.h:11 +#: ../data/sugar.schemas.in.h:31 msgid "Jabber Server" -msgstr "Jabber server" +msgstr "Jabber-server" -#: ../data/sugar.schemas.in.h:12 +#: ../data/sugar.schemas.in.h:32 msgid "Keyboard layouts" -msgstr "Toetsenbordlayouts" +msgstr "Toetsenbordindelingen" -#: ../data/sugar.schemas.in.h:13 +#: ../data/sugar.schemas.in.h:33 msgid "Keyboard model" msgstr "Toetsenbordmodel" -#: ../data/sugar.schemas.in.h:14 +#: ../data/sugar.schemas.in.h:34 msgid "Keyboard options" msgstr "Toetsenbordopties" -#: ../data/sugar.schemas.in.h:15 +#: ../data/sugar.schemas.in.h:35 msgid "Layout of the favorites view." -msgstr "Layout van de Favorieten weergave" +msgstr "Layout van de favorieten weergave." -#: ../data/sugar.schemas.in.h:16 +#: ../data/sugar.schemas.in.h:36 msgid "" "List of keyboard layouts. Each entry should be in the form layout(variant)" msgstr "" -"Lijst van toetsenbordlayouts. Elke ingang moet in de vorm layout(variant) " -"zijn." +"Lijst met toetsenbordindelingen. Elke invoer moet in de " +"vormindeling(variant) zijn" -#: ../data/sugar.schemas.in.h:17 +#: ../data/sugar.schemas.in.h:37 msgid "List of keyboard options." -msgstr "Lijst van toetsenbordopties." +msgstr "Lijst met toetsenbordopties." -#: ../data/sugar.schemas.in.h:18 +#: ../data/sugar.schemas.in.h:38 msgid "Power Automatic" msgstr "Energiebeheer: automatisch" -#: ../data/sugar.schemas.in.h:19 +#: ../data/sugar.schemas.in.h:39 msgid "Power Automatic." msgstr "Energiebeheer: automatisch." -#: ../data/sugar.schemas.in.h:20 +#: ../data/sugar.schemas.in.h:40 msgid "Power Extreme" msgstr "Energiebeheer: extreem" -#: ../data/sugar.schemas.in.h:21 +#: ../data/sugar.schemas.in.h:41 msgid "Power Extreme." msgstr "Energiebeheer: extreem." -#: ../data/sugar.schemas.in.h:22 +#: ../data/sugar.schemas.in.h:42 msgid "Publish to Gadget" msgstr "Publiceren naar gadget" -#: ../data/sugar.schemas.in.h:23 +#: ../data/sugar.schemas.in.h:43 msgid "Setting for muting the sound device." msgstr "Instelling voor dempen van het audio-apparaat." -#: ../data/sugar.schemas.in.h:24 +#: ../data/sugar.schemas.in.h:44 msgid "Show Log out" msgstr "Afmelden weergeven" -#: ../data/sugar.schemas.in.h:25 +#: ../data/sugar.schemas.in.h:45 msgid "Sound Muted" msgstr "Geluid gedempt" -#: ../data/sugar.schemas.in.h:26 +#: ../data/sugar.schemas.in.h:46 msgid "The keyboard model to be used" msgstr "Het toetsenbordmodel om te gebruiken" -#: ../data/sugar.schemas.in.h:28 +#: ../data/sugar.schemas.in.h:48 msgid "Timezone setting for the system." msgstr "Tijdzone-instelling voor het systeem." -#: ../data/sugar.schemas.in.h:29 +#: ../data/sugar.schemas.in.h:49 msgid "Url of the jabber server to use." -msgstr "Url van de te gebruiken jabber server." +msgstr "Url van de te gebruiken jabber-server." -#: ../data/sugar.schemas.in.h:30 +#: ../data/sugar.schemas.in.h:50 msgid "Url where the backup is saved to." -msgstr "Url waar de backup opgeslagen wordt." +msgstr "Url waar de back-up opgeslagen wordt." -#: ../data/sugar.schemas.in.h:31 +#: ../data/sugar.schemas.in.h:51 msgid "User Color" msgstr "Gebruikerskleur" -#: ../data/sugar.schemas.in.h:32 +#: ../data/sugar.schemas.in.h:52 msgid "User Name" msgstr "Gebruikersnaam" -#: ../data/sugar.schemas.in.h:33 +#: ../data/sugar.schemas.in.h:53 msgid "User name that is used throughout the desktop." msgstr "Gebruikersnaam die op de desktop gebruikt wordt." -#: ../data/sugar.schemas.in.h:34 +#: ../data/sugar.schemas.in.h:54 msgid "Volume Level" msgstr "Volumeniveau" -#: ../data/sugar.schemas.in.h:35 +#: ../data/sugar.schemas.in.h:55 msgid "Volume level for the sound device." -msgstr "Volumeniveau voor het audio-apparaat" +msgstr "Volumeniveau voor het audio-apparaat." -#: ../data/sugar.schemas.in.h:36 +#: ../data/sugar.schemas.in.h:56 msgid "" "When in resume mode, clicking on a favorite icon will cause the last entry " "for that activity to be resumed." msgstr "" -"Indien in hervatmodus, klikken op een favoriet icoon zal ervoor zorgen dat " -"de laatste ingang voor die activiteit hervat wordt." +"Indien in hervatmodus, kun je door te klikken op een favorietenicoon ervoor " +"zorgen dat de laatste invoer van die activiteit hervat wordt." #: ../src/jarabe/controlpanel/cmd.py:28 #, python-format @@ -650,7 +829,7 @@ msgid "" "sugar-control-panel: WARNING, found more than one option with the same name: " "%s module: %r" msgstr "" -"sugar-control-panel: WAARSCHUWING, meer dan een optie met dezelfde naam " +"sugar-stuur-paneel: WAARSCHUWING, meer dan één optie met dezelfde naam " "gevonden: %s module: %r" #: ../src/jarabe/controlpanel/cmd.py:30 @@ -661,7 +840,7 @@ msgstr "sugar-control-panel: sleutel=%s is geen beschikbare optie" #: ../src/jarabe/controlpanel/cmd.py:31 #, python-format msgid "sugar-control-panel: %s" -msgstr "sugar-control-panel: %s" +msgstr "sugar-stuur-paneel: %s" # TRANS: Translators, there's a empty line at the end of this string, # which must appear in the translated string (msgstr) as well. @@ -680,11 +859,11 @@ msgid "" " -c key clear the current value for the key \n" " " msgstr "" -"Gebruik: sugar-control-panel [ optie ] sleutel [ args ... ] \n" +"Gebruik: sugar-stuur-paneel [ optie ] sleutel [ args ... ] \n" " Configuratie voor de sugar omgeving. \n" " Opties: \n" " -h geef dit helpbericht weer en sluit af \n" -" -l lijst van alle beschikbare opties \n" +" -l lijst van alle beschikbare opties \n" " -h sleutel geef informatie over deze sleutel \n" " -g sleutel verkrijg de huidige waarde van de sleutel \n" " -s sleutel zet de huidige waarde naar de sleutel \n" @@ -695,68 +874,46 @@ msgstr "" msgid "To apply your changes you have to restart sugar.\n" msgstr "Om je veranderingen toe te passen moet je sugar herstarten.\n" -#: ../src/jarabe/controlpanel/gui.py:280 +#: ../src/jarabe/controlpanel/gui.py:281 msgid "Warning" msgstr "Waarschuwing" -#: ../src/jarabe/controlpanel/gui.py:281 +#: ../src/jarabe/controlpanel/gui.py:282 #: ../src/jarabe/controlpanel/sectionview.py:42 msgid "Changes require restart" msgstr "Verandering vereist een herstart" -#: ../src/jarabe/controlpanel/gui.py:284 +#: ../src/jarabe/controlpanel/gui.py:285 msgid "Cancel changes" msgstr "Veranderingen annuleren" -#: ../src/jarabe/controlpanel/gui.py:289 ../src/jarabe/desktop/homebox.py:70 +#: ../src/jarabe/controlpanel/gui.py:290 ../src/jarabe/desktop/homebox.py:70 msgid "Later" msgstr "Later" -#: ../src/jarabe/controlpanel/gui.py:293 +#: ../src/jarabe/controlpanel/gui.py:294 msgid "Restart now" msgstr "Herstart nu" -#: ../src/jarabe/controlpanel/toolbar.py:61 ../src/jarabe/intro/window.py:188 +#: ../src/jarabe/controlpanel/toolbar.py:61 ../src/jarabe/intro/window.py:206 msgid "Done" msgstr "Klaar" -#: ../src/jarabe/controlpanel/toolbar.py:115 -#: ../src/jarabe/desktop/homebox.py:68 -#: ../src/jarabe/frame/activitiestray.py:726 -#: ../src/jarabe/frame/activitiestray.py:822 -#: ../src/jarabe/frame/activitiestray.py:850 -msgid "Cancel" -msgstr "Annuleren" - #: ../src/jarabe/controlpanel/toolbar.py:121 -#: ../src/jarabe/desktop/favoritesview.py:332 +#: ../src/jarabe/desktop/favoritesview.py:333 msgid "Ok" msgstr "Ok" -#: ../src/jarabe/desktop/activitieslist.py:80 -#: ../src/jarabe/journal/listview.py:147 -msgid "Title" -msgstr "Titel" - -#: ../src/jarabe/desktop/activitieslist.py:91 -msgid "Version" -msgstr "Versie" - -#: ../src/jarabe/desktop/activitieslist.py:105 -#: ../src/jarabe/journal/listview.py:178 -msgid "Date" -msgstr "Datum" - -#: ../src/jarabe/desktop/activitieslist.py:234 +#: ../src/jarabe/desktop/activitieslist.py:236 #, python-format msgid "Version %s" msgstr "Versie %s" -#: ../src/jarabe/desktop/activitieslist.py:355 +#: ../src/jarabe/desktop/activitieslist.py:357 msgid "Confirm erase" msgstr "Bevestig wissen" -#: ../src/jarabe/desktop/activitieslist.py:357 +#: ../src/jarabe/desktop/activitieslist.py:359 #, python-format msgid "Confirm erase: Do you want to permanently erase %s?" msgstr "Bevestig wissen: Wilt u permanent %s wissen?" @@ -766,24 +923,24 @@ msgstr "Bevestig wissen: Wilt u permanent %s wissen?" # TODO: Implement stopping downloads # self._stop_item.connect('activate', self._stop_item_activate_cb) # self.append_menu_item(self._stop_item) -#: ../src/jarabe/desktop/activitieslist.py:361 -#: ../src/jarabe/frame/clipboardmenu.py:62 +#: ../src/jarabe/desktop/activitieslist.py:363 +#: ../src/jarabe/frame/clipboardmenu.py:63 #: ../src/jarabe/view/viewsource.py:218 msgid "Keep" msgstr "Bewaar" -#: ../src/jarabe/desktop/activitieslist.py:364 -#: ../src/jarabe/desktop/activitieslist.py:406 -#: ../src/jarabe/journal/journaltoolbox.py:360 -#: ../src/jarabe/journal/palettes.py:112 +#: ../src/jarabe/desktop/activitieslist.py:366 +#: ../src/jarabe/desktop/activitieslist.py:409 +#: ../src/jarabe/journal/journaltoolbox.py:361 +#: ../src/jarabe/journal/palettes.py:106 msgid "Erase" msgstr "Wissen" -#: ../src/jarabe/desktop/activitieslist.py:427 +#: ../src/jarabe/desktop/activitieslist.py:430 msgid "Remove favorite" msgstr "Verwijder favoriet" -#: ../src/jarabe/desktop/activitieslist.py:431 +#: ../src/jarabe/desktop/activitieslist.py:434 msgid "Make favorite" msgstr "Maak favoriet" @@ -791,7 +948,7 @@ msgstr "Maak favoriet" #. TRANS: label for the freeform layout in the favorites view #: ../src/jarabe/desktop/favoriteslayout.py:116 msgid "Freeform" -msgstr "VrijeVorm" +msgstr "Vrijevorm" # TRANS: label for the ring layout in the favorites view #. TRANS: label for the ring layout in the favorites view @@ -801,52 +958,52 @@ msgstr "Ring" # TRANS: label for the spiral layout in the favorites view #. TRANS: label for the spiral layout in the favorites view -#: ../src/jarabe/desktop/favoriteslayout.py:334 +#: ../src/jarabe/desktop/favoriteslayout.py:337 msgid "Spiral" msgstr "Spiraal" # TRANS: label for the box layout in the favorites view #. TRANS: label for the box layout in the favorites view -#: ../src/jarabe/desktop/favoriteslayout.py:401 +#: ../src/jarabe/desktop/favoriteslayout.py:404 msgid "Box" msgstr "Vierkant" # TRANS: label for the box layout in the favorites view #. TRANS: label for the box layout in the favorites view -#: ../src/jarabe/desktop/favoriteslayout.py:442 +#: ../src/jarabe/desktop/favoriteslayout.py:445 msgid "Triangle" msgstr "Driehoek" -#: ../src/jarabe/desktop/favoritesview.py:323 +#: ../src/jarabe/desktop/favoritesview.py:324 msgid "Registration Failed" msgstr "Registratie mislukt" -#: ../src/jarabe/desktop/favoritesview.py:324 +#: ../src/jarabe/desktop/favoritesview.py:325 #, python-format msgid "%s" msgstr "%s" -#: ../src/jarabe/desktop/favoritesview.py:326 +#: ../src/jarabe/desktop/favoritesview.py:327 msgid "Registration Successful" msgstr "Registratie succesvol uitgevoerd" -#: ../src/jarabe/desktop/favoritesview.py:327 +#: ../src/jarabe/desktop/favoritesview.py:328 msgid "You are now registered with your school server." -msgstr "Je bent nu geregistreerd bij je schoolserver." +msgstr "Je bent nu geregistreerd bij je school-server." -#: ../src/jarabe/desktop/favoritesview.py:671 +#: ../src/jarabe/desktop/favoritesview.py:631 msgid "Register" msgstr "Registreren" #: ../src/jarabe/desktop/homebox.py:63 msgid "Software Update" -msgstr "Software update" +msgstr "Software Bijwerken" #: ../src/jarabe/desktop/homebox.py:64 msgid "Update your activities to ensure compatibility with your new software" msgstr "" "Update je activiteiten om zeker ervan te zijn dat ze met je nieuwe software " -"compatibel zijn." +"compatibel zijn" #: ../src/jarabe/desktop/homebox.py:73 msgid "Check now" @@ -868,117 +1025,109 @@ msgstr "Favorietenweergave" msgid "<Ctrl>1" msgstr "<Ctrl>1" -#: ../src/jarabe/desktop/keydialog.py:131 +#: ../src/jarabe/desktop/keydialog.py:135 msgid "Key Type:" msgstr "Sleutel type:" -#: ../src/jarabe/desktop/keydialog.py:151 +#: ../src/jarabe/desktop/keydialog.py:155 msgid "Authentication Type:" msgstr "Authenticatie type:" -#: ../src/jarabe/desktop/keydialog.py:215 +#: ../src/jarabe/desktop/keydialog.py:220 msgid "WPA & WPA2 Personal" -msgstr "WPA en WPA 2 Persoonlijk" +msgstr "WPA & WPA2 Persoonlijk" -#: ../src/jarabe/desktop/keydialog.py:224 +#: ../src/jarabe/desktop/keydialog.py:229 msgid "Wireless Security:" msgstr "Draadloze netwerkbeveiliging:" -#: ../src/jarabe/desktop/meshbox.py:136 -msgid "Connect" -msgstr "Verbinden" - -#: ../src/jarabe/desktop/meshbox.py:140 -msgid "Disconnect" -msgstr "Verbinding verbreken" +#: ../src/jarabe/desktop/meshbox.py:491 +#, python-format +msgid "Mesh Network %d" +msgstr "Mesh Netwerk %d" # TRANS: Action label for resuming an activity. #. TRANS: Action label for resuming an activity. -#: ../src/jarabe/desktop/meshbox.py:463 -#: ../src/jarabe/frame/activitiestray.py:761 -#: ../src/jarabe/journal/journaltoolbox.py:428 -#: ../src/jarabe/journal/palettes.py:72 ../src/jarabe/view/palettes.py:64 +#: ../src/jarabe/desktop/meshbox.py:628 +#: ../src/jarabe/frame/activitiestray.py:743 +#: ../src/jarabe/journal/journaltoolbox.py:440 +#: ../src/jarabe/journal/palettes.py:66 ../src/jarabe/view/palettes.py:79 msgid "Resume" msgstr "Hervatten" -#: ../src/jarabe/desktop/meshbox.py:468 -#: ../src/jarabe/frame/activitiestray.py:235 +#: ../src/jarabe/desktop/meshbox.py:633 +#: ../src/jarabe/frame/activitiestray.py:241 msgid "Join" msgstr "Bijvoegen" -#: ../src/jarabe/desktop/schoolserver.py:34 -msgid "Cannot obtain data needed for registration." -msgstr "" -"Kan vereiste gegevens die nodig zijn voor de registratie niet verkrijgen." - -#: ../src/jarabe/desktop/schoolserver.py:51 +#: ../src/jarabe/desktop/schoolserver.py:104 msgid "Cannot connect to the server." msgstr "Kan niet met de server verbinden." -#: ../src/jarabe/desktop/schoolserver.py:56 +#: ../src/jarabe/desktop/schoolserver.py:109 msgid "The server could not complete the request." msgstr "De server kon de aanvraag niet voltooien." -#: ../src/jarabe/frame/activitiestray.py:240 -#: ../src/jarabe/frame/activitiestray.py:698 +#: ../src/jarabe/frame/activitiestray.py:246 +#: ../src/jarabe/frame/activitiestray.py:680 msgid "Decline" msgstr "Weigeren" -#: ../src/jarabe/frame/activitiestray.py:650 +#: ../src/jarabe/frame/activitiestray.py:632 #, python-format msgid "%dB" msgstr "%dB" -#: ../src/jarabe/frame/activitiestray.py:652 +#: ../src/jarabe/frame/activitiestray.py:634 #, python-format msgid "%dKB" msgstr "%dKB" -#: ../src/jarabe/frame/activitiestray.py:654 +#: ../src/jarabe/frame/activitiestray.py:636 #, python-format msgid "%dMB" msgstr "%dMB" -#: ../src/jarabe/frame/activitiestray.py:671 +#: ../src/jarabe/frame/activitiestray.py:653 #, python-format msgid "%s of %s" msgstr "%s van %s" -#: ../src/jarabe/frame/activitiestray.py:683 +#: ../src/jarabe/frame/activitiestray.py:665 #, python-format msgid "Transfer from %r" msgstr "Overdragen van %r" -#: ../src/jarabe/frame/activitiestray.py:693 +#: ../src/jarabe/frame/activitiestray.py:675 msgid "Accept" msgstr "Accepteren" -#: ../src/jarabe/frame/activitiestray.py:716 -#: ../src/jarabe/frame/activitiestray.py:840 +#: ../src/jarabe/frame/activitiestray.py:698 +#: ../src/jarabe/frame/activitiestray.py:825 #, python-format msgid "%s (%s)" msgstr "%s (%s)" -#: ../src/jarabe/frame/activitiestray.py:750 -#: ../src/jarabe/frame/activitiestray.py:875 +#: ../src/jarabe/frame/activitiestray.py:732 +#: ../src/jarabe/frame/activitiestray.py:860 msgid "Dismiss" msgstr "Wegdoen" -#: ../src/jarabe/frame/activitiestray.py:810 +#: ../src/jarabe/frame/activitiestray.py:795 #, python-format msgid "Transfer to %r" msgstr "Overdragen naar %r" -#: ../src/jarabe/frame/clipboardmenu.py:52 +#: ../src/jarabe/frame/clipboardmenu.py:53 ../src/jarabe/view/palettes.py:233 msgid "Remove" msgstr "Verwijderen" -#: ../src/jarabe/frame/clipboardmenu.py:57 -#: ../src/jarabe/frame/clipboardmenu.py:80 +#: ../src/jarabe/frame/clipboardmenu.py:58 +#: ../src/jarabe/frame/clipboardmenu.py:81 msgid "Open" msgstr "Openen" -#: ../src/jarabe/frame/clipboardmenu.py:85 +#: ../src/jarabe/frame/clipboardmenu.py:86 msgid "Open with" msgstr "Openen met" @@ -1007,140 +1156,141 @@ msgstr "F3" msgid "F4" msgstr "F4" -#: ../src/jarabe/intro/window.py:124 +#: ../src/jarabe/intro/window.py:128 msgid "Click to change color:" msgstr "Klik om de kleur te veranderen:" -#: ../src/jarabe/intro/window.py:174 ../src/jarabe/journal/detailview.py:103 +#: ../src/jarabe/intro/window.py:192 ../src/jarabe/journal/detailview.py:103 msgid "Back" msgstr "Terug" -#: ../src/jarabe/intro/window.py:191 +#: ../src/jarabe/intro/window.py:209 msgid "Next" msgstr "Volgende" -#: ../src/jarabe/journal/expandedentry.py:164 -#: ../src/jarabe/journal/palettes.py:66 +#: ../src/jarabe/journal/expandedentry.py:151 +#: ../src/jarabe/journal/palettes.py:60 msgid "Untitled" msgstr "Naamloos" -#: ../src/jarabe/journal/expandedentry.py:210 +#: ../src/jarabe/journal/expandedentry.py:242 msgid "No preview" msgstr "Geen voorbeeld" -#: ../src/jarabe/journal/expandedentry.py:229 +#: ../src/jarabe/journal/expandedentry.py:261 #, python-format msgid "Kind: %s" msgstr "Type: %s" -#: ../src/jarabe/journal/expandedentry.py:229 +#: ../src/jarabe/journal/expandedentry.py:261 msgid "Unknown" msgstr "Onbekend" -#: ../src/jarabe/journal/expandedentry.py:230 +#: ../src/jarabe/journal/expandedentry.py:262 #, python-format msgid "Date: %s" msgstr "Datum: %s" -#: ../src/jarabe/journal/expandedentry.py:231 +#: ../src/jarabe/journal/expandedentry.py:263 #, python-format msgid "Size: %s" msgstr "Grootte: %s" -#: ../src/jarabe/journal/expandedentry.py:253 ../src/jarabe/journal/misc.py:92 +#: ../src/jarabe/journal/expandedentry.py:285 ../src/jarabe/journal/misc.py:93 msgid "No date" msgstr "Geen datum" -#: ../src/jarabe/journal/expandedentry.py:260 +#: ../src/jarabe/journal/expandedentry.py:292 msgid "Participants:" msgstr "Deelnemers:" -#: ../src/jarabe/journal/expandedentry.py:283 +#: ../src/jarabe/journal/expandedentry.py:315 msgid "Description:" msgstr "Omschrijving:" -#: ../src/jarabe/journal/expandedentry.py:309 +#: ../src/jarabe/journal/expandedentry.py:340 msgid "Tags:" msgstr "Labels:" #: ../src/jarabe/journal/journalactivity.py:108 +#: ../src/jarabe/journal/journaltoolbox.py:411 #: ../src/jarabe/journal/volumestoolbar.py:47 msgid "Journal" msgstr "Dagboek" -#: ../src/jarabe/journal/journaltoolbox.py:67 +#: ../src/jarabe/journal/journaltoolbox.py:68 msgid "Search" msgstr "Zoeken" -#: ../src/jarabe/journal/journaltoolbox.py:126 +#: ../src/jarabe/journal/journaltoolbox.py:127 msgid "Anytime" msgstr "Ieder tijdstip" -#: ../src/jarabe/journal/journaltoolbox.py:128 +#: ../src/jarabe/journal/journaltoolbox.py:129 msgid "Today" msgstr "Vandaag" -#: ../src/jarabe/journal/journaltoolbox.py:130 +#: ../src/jarabe/journal/journaltoolbox.py:131 msgid "Since yesterday" msgstr "Sinds gisteren" # TRANS: Filter entries modified during the last 7 days. #. TRANS: Filter entries modified during the last 7 days. -#: ../src/jarabe/journal/journaltoolbox.py:132 +#: ../src/jarabe/journal/journaltoolbox.py:133 msgid "Past week" msgstr "Afgelopen week" # TRANS: Filter entries modified during the last 30 days. #. TRANS: Filter entries modified during the last 30 days. -#: ../src/jarabe/journal/journaltoolbox.py:134 +#: ../src/jarabe/journal/journaltoolbox.py:135 msgid "Past month" msgstr "Afgelopen maand" # TRANS: Filter entries modified during the last 356 days. #. TRANS: Filter entries modified during the last 356 days. -#: ../src/jarabe/journal/journaltoolbox.py:136 +#: ../src/jarabe/journal/journaltoolbox.py:137 msgid "Past year" msgstr "Afgelopen jaar" -#: ../src/jarabe/journal/journaltoolbox.py:143 +#: ../src/jarabe/journal/journaltoolbox.py:144 msgid "Anyone" msgstr "Iedereen" -#: ../src/jarabe/journal/journaltoolbox.py:145 +#: ../src/jarabe/journal/journaltoolbox.py:146 msgid "My friends" msgstr "Mijn vrienden" -#: ../src/jarabe/journal/journaltoolbox.py:146 +#: ../src/jarabe/journal/journaltoolbox.py:147 msgid "My class" msgstr "Mijn klas" # TRANS: Item in a combo box that filters by entry type. -#: ../src/jarabe/journal/journaltoolbox.py:274 +#: ../src/jarabe/journal/journaltoolbox.py:275 msgid "Anything" msgstr "Alles" # TODO: Add "Start with" menu item -#: ../src/jarabe/journal/journaltoolbox.py:350 -#: ../src/jarabe/journal/palettes.py:90 +#: ../src/jarabe/journal/journaltoolbox.py:351 +#: ../src/jarabe/journal/palettes.py:84 msgid "Copy" msgstr "Kopieer" # TRANS: Action label for starting an entry. #. TRANS: Action label for starting an entry. -#: ../src/jarabe/journal/journaltoolbox.py:431 -#: ../src/jarabe/journal/palettes.py:75 +#: ../src/jarabe/journal/journaltoolbox.py:443 +#: ../src/jarabe/journal/palettes.py:69 msgid "Start" msgstr "Start" -#: ../src/jarabe/journal/listview.py:361 +#: ../src/jarabe/journal/listview.py:373 msgid "Your Journal is empty" msgstr "Je dagboek is leeg" -#: ../src/jarabe/journal/listview.py:363 +#: ../src/jarabe/journal/listview.py:375 msgid "No matching entries" msgstr "Geen overeenkomende ingangen" -#: ../src/jarabe/journal/listview.py:374 +#: ../src/jarabe/journal/listview.py:386 msgid "Clear search" msgstr "Zoekopdracht wissen" @@ -1161,41 +1311,41 @@ msgid "Choose an object" msgstr "Kies een object" #: ../src/jarabe/journal/objectchooser.py:151 -#: ../src/jarabe/view/viewsource.py:308 +#: ../src/jarabe/view/viewsource.py:310 msgid "Close" msgstr "Sluiten" -#: ../src/jarabe/journal/palettes.py:73 +#: ../src/jarabe/journal/palettes.py:67 msgid "Resume with" msgstr "Hervatten met" -#: ../src/jarabe/journal/palettes.py:76 +#: ../src/jarabe/journal/palettes.py:70 msgid "Start with" msgstr "Starten met" -#: ../src/jarabe/journal/palettes.py:98 +#: ../src/jarabe/journal/palettes.py:92 msgid "Send to" msgstr "Verstuur naar" -#: ../src/jarabe/journal/palettes.py:107 +#: ../src/jarabe/journal/palettes.py:101 msgid "View Details" msgstr "Details weergeven" -#: ../src/jarabe/journal/palettes.py:185 +#: ../src/jarabe/journal/palettes.py:179 msgid "No friends present" msgstr "Geen vrienden aanwezig" -#: ../src/jarabe/journal/palettes.py:190 +#: ../src/jarabe/journal/palettes.py:184 msgid "No valid connection found" msgstr "Geen bruikbare verbinding gevonden" -#: ../src/jarabe/journal/palettes.py:218 +#: ../src/jarabe/journal/palettes.py:212 msgid "No activity to resume entry" -msgstr "Geen activiteit om ingang mee te hervatten" +msgstr "Geen activiteit om invoer mee te hervatten" -#: ../src/jarabe/journal/palettes.py:220 +#: ../src/jarabe/journal/palettes.py:214 msgid "No activity to start entry" -msgstr "Geen activiteit om ingang mee te starten" +msgstr "Geen activiteit om invoer mee te starten" #: ../src/jarabe/view/buddymenu.py:62 msgid "Remove friend" @@ -1222,36 +1372,41 @@ msgstr "Mijn instellingen" msgid "Invite to %s" msgstr "Nodig uit voor %s" -#: ../src/jarabe/view/palettes.py:45 +#: ../src/jarabe/view/launcher.py:190 +#, python-format +msgid "<b>%s</b> failed to start." +msgstr "<b>%s</b> kon niet starten." + +#: ../src/jarabe/view/palettes.py:47 msgid "Starting..." msgstr "Beginnen..." +#: ../src/jarabe/view/palettes.py:57 +msgid "Activity failed to start" +msgstr "Activiteit kon niet starten" + #. TODO: share-with, keep -#: ../src/jarabe/view/palettes.py:71 +#: ../src/jarabe/view/palettes.py:86 msgid "View Source" msgstr "Bron weergeven" -#: ../src/jarabe/view/palettes.py:82 +#: ../src/jarabe/view/palettes.py:97 msgid "Stop" msgstr "Stop" -#: ../src/jarabe/view/palettes.py:122 +#: ../src/jarabe/view/palettes.py:137 msgid "Start new" msgstr "Begin nieuw" -#: ../src/jarabe/view/palettes.py:171 +#: ../src/jarabe/view/palettes.py:186 msgid "Show contents" msgstr "Inhoud weergeven" -#: ../src/jarabe/view/palettes.py:193 ../src/jarabe/view/palettes.py:243 +#: ../src/jarabe/view/palettes.py:208 ../src/jarabe/view/palettes.py:258 #, python-format msgid "%(free_space)d MB Free" msgstr "%(free_space)d MB vrij" -#: ../src/jarabe/view/palettes.py:218 -msgid "Unmount" -msgstr "Loskoppelen" - #: ../src/jarabe/view/viewsource.py:208 msgid "Instance Source" msgstr "Werkkopie van bron maken" @@ -1260,15 +1415,34 @@ msgstr "Werkkopie van bron maken" msgid "Source" msgstr "Bron" -#: ../src/jarabe/view/viewsource.py:292 +#: ../src/jarabe/view/viewsource.py:294 msgid "Activity Bundle Source" msgstr "Activiteitsbundel Bron" -#: ../src/jarabe/view/viewsource.py:299 +#: ../src/jarabe/view/viewsource.py:301 #, python-format msgid "View source: %r" msgstr "Bron weergeven: %r" +#~ msgid "APN:" +#~ msgstr "APN:" + +#~ msgid "Title" +#~ msgstr "Titel" + +#~ msgid "Version" +#~ msgstr "Versie" + +#~ msgid "Date" +#~ msgstr "Datum" + +#~ msgid "Cannot obtain data needed for registration." +#~ msgstr "" +#~ "Kan vereiste gegevens die nodig zijn voor de registratie niet verkrijgen." + +#~ msgid "Unmount" +#~ msgstr "Loskoppelen" + #~ msgid "Restart" #~ msgstr "Herstarten" @@ -1290,12 +1464,6 @@ msgstr "Bron weergeven: %r" #~ msgid "Disconnecting..." #~ msgstr "Verbinding verbreken..." -#~ msgid "Mesh Network" -#~ msgstr "Mesh netwerk" - -#~ msgid "Disconnected" -#~ msgstr "Verbinding verbroken" - #~ msgid "About my XO" #~ msgstr "Over mijn XO" diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py index 87f2af0..e14d0f7 100644 --- a/src/jarabe/desktop/activitieslist.py +++ b/src/jarabe/desktop/activitieslist.py @@ -36,6 +36,7 @@ from sugar.activity.activityhandle import ActivityHandle from jarabe.model import bundleregistry from jarabe.view.palettes import ActivityPalette from jarabe.view import launcher +from jarabe.journal import misc class ActivitiesTreeView(gtk.TreeView): __gtype_name__ = 'SugarActivitiesTreeView' @@ -143,13 +144,7 @@ class ActivitiesTreeView(gtk.TreeView): registry = bundleregistry.get_registry() bundle = registry.get_bundle(row[ListModel.COLUMN_BUNDLE_ID]) - activity_id = activityfactory.create_activity_id() - - client = gconf.client_get_default() - xo_color = XoColor(client.get_string('/desktop/sugar/user/color')) - - launcher.add_launcher(activity_id, bundle.get_icon(), xo_color) - activityfactory.create(bundle, ActivityHandle(activity_id)) + misc.launch(bundle) def set_filter(self, query): self._query = query.lower() diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index aca945a..fad25dd 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -484,16 +484,7 @@ class ActivityIcon(CanvasIcon): if self._resume_mode and self._journal_entries: self._resume(self._journal_entries[0]) else: - client = gconf.client_get_default() - xo_color = XoColor(client.get_string('/desktop/sugar/user/color')) - - activity_id = activityfactory.create_activity_id() - launcher.add_launcher(activity_id, - self._activity_info.get_icon(), - xo_color) - - handle = ActivityHandle(activity_id) - activityfactory.create(self._activity_info, handle) + misc.launch(self._activity_info) def get_bundle_id(self): return self._activity_info.get_bundle_id() diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py index 1c2880b..bc7f59b 100644 --- a/src/jarabe/desktop/meshbox.py +++ b/src/jarabe/desktop/meshbox.py @@ -48,12 +48,12 @@ from jarabe.desktop.spreadlayout import SpreadLayout from jarabe.desktop import keydialog from jarabe.model import bundleregistry from jarabe.model import network -from jarabe.model import shell from jarabe.model.network import Settings from jarabe.model.network import IP4Config from jarabe.model.network import WirelessSecurity from jarabe.model.network import AccessPoint from jarabe.model.olpcmesh import OlpcMeshManager +from jarabe.journal import misc _NM_SERVICE = 'org.freedesktop.NetworkManager' _NM_IFACE = 'org.freedesktop.NetworkManager' @@ -659,21 +659,11 @@ class ActivityView(hippo.CanvasBox): icon.destroy() def _clicked_cb(self, item): - shell_model = shell.get_model() - activity = shell_model.get_activity_by_id(self._model.get_id()) - if activity: - activity.get_window().activate(gtk.get_current_event_time()) - return - bundle_id = self._model.get_bundle_id() bundle = bundleregistry.get_registry().get_bundle(bundle_id) - launcher.add_launcher(self._model.get_id(), - bundle.get_icon(), - self._model.get_color()) - - handle = ActivityHandle(self._model.get_id()) - activityfactory.create(bundle, handle) + misc.launch(bundle, activity_id=self._model.get_id(), + color=self._model.get_color()) def set_filter(self, query): text_to_check = self._model.activity.props.name.lower() + \ diff --git a/src/jarabe/desktop/schoolserver.py b/src/jarabe/desktop/schoolserver.py index fc9ddeb..a05f56c 100644 --- a/src/jarabe/desktop/schoolserver.py +++ b/src/jarabe/desktop/schoolserver.py @@ -99,7 +99,7 @@ def register_laptop(url=REGISTER_URL): server = ServerProxy(url) try: data = server.register(sn, nick, uuid_, profile.pubkey) - except (Error, socket.error): + except (Error, TypeError, socket.error): logging.exception('Registration: cannot connect to server') raise RegisterError(_('Cannot connect to the server.')) diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py index 3a80ac0..f594342 100644 --- a/src/jarabe/frame/activitiestray.py +++ b/src/jarabe/frame/activitiestray.py @@ -49,6 +49,7 @@ from jarabe.view.pulsingicon import PulsingIcon from jarabe.view import launcher from jarabe.frame.frameinvoker import FrameWidgetInvoker from jarabe.frame.notification import NotificationIcon +from jarabe.journal import misc import jarabe.frame @@ -172,22 +173,10 @@ class ActivityInviteButton(BaseInviteButton): def _launch(self): """Join the activity in the invite.""" - - shell_model = shell.get_model() - activity = shell_model.get_activity_by_id(self._activity_model.get_id()) - if activity: - activity.get_window().activate(gtk.get_current_event_time()) - return - registry = bundleregistry.get_registry() bundle = registry.get_bundle(self._bundle_id) - launcher.add_launcher(self._activity_model.get_id(), - bundle.get_icon(), - self._activity_model.get_color()) - - handle = ActivityHandle(self._activity_model.get_id()) - activityfactory.create(bundle, handle) + misc.launch(bundle, color=self._activity_model.get_color()) class PrivateInviteButton(BaseInviteButton): """Invite to a private one to one channel""" @@ -231,7 +220,7 @@ class PrivateInviteButton(BaseInviteButton): def _launch(self): """Start the activity with private channel.""" - activityfactory.create_with_uri(self._bundle, self._private_channel) + misc.launch(self._bundle, uri=self._private_channel) class BaseInvitePalette(Palette): """Palette for frame or notification icon for invites.""" @@ -280,8 +269,7 @@ class ActivityInvitePalette(BaseInvitePalette): self.set_primary_text(self._bundle_id) def _join(self): - handle = ActivityHandle(self._activity_model.get_id()) - activityfactory.create(self._bundle, handle) + misc.launch(self._bundle, activity_id=self._activity_model.get_id()) def _decline(self): invites = owner.get_model().get_invites() @@ -306,7 +294,7 @@ class PrivateInvitePalette(BaseInvitePalette): self.set_primary_text(self._bundle_id) def _join(self): - activityfactory.create_with_uri(self._bundle, self._private_channel) + misc.launch(self._bundle, uri=self._private_channel) invites = owner.get_model().get_invites() invites.remove_private_channel(self._private_channel) @@ -529,12 +517,12 @@ class IncomingTransferButton(BaseTransferButton): logging.debug('__notify_state_cb COMPLETED') self._ds_object.metadata['progress'] = '100' self._ds_object.file_path = file_transfer.destination_path - datastore.write(self._ds_jobject, transfer_ownership=True, + datastore.write(self._ds_object, transfer_ownership=True, reply_handler=self.__reply_handler_cb, error_handler=self.__error_handler_cb) elif file_transfer.props.state == filetransfer.FT_STATE_CANCELLED: logging.debug('__notify_state_cb CANCELLED') - object_id = self._jobject.object_id + object_id = self._ds_object.object_id if object_id is not None: self._ds_object.destroy() datastore.delete(object_id) @@ -544,13 +532,14 @@ class IncomingTransferButton(BaseTransferButton): progress = file_transfer.props.transferred_bytes / \ file_transfer.file_size self._ds_object.metadata['progress'] = str(progress * 100) - datastore.write(self._ds_object.object_id, update_mtime=False) + datastore.write(self._ds_object, update_mtime=False) def __reply_handler_cb(self): - logging.debug('__reply_handler_cb %r', self._object_id) + logging.debug('__reply_handler_cb %r', self._ds_object.object_id) def __error_handler_cb(self, error): - logging.debug('__error_handler_cb %r %s', self._object_id, error) + logging.debug('__error_handler_cb %r %s', self._ds_object.object_id, + error) def __dismiss_clicked_cb(self, palette): self.remove() diff --git a/src/jarabe/journal/journalactivity.py b/src/jarabe/journal/journalactivity.py index 0559560..e278420 100644 --- a/src/jarabe/journal/journalactivity.py +++ b/src/jarabe/journal/journalactivity.py @@ -27,6 +27,8 @@ import statvfs import os from sugar.graphics.window import Window +from sugar.graphics.alert import ErrorAlert + from sugar.bundle.bundle import ZipExtractException, RegistrationException from sugar import env from sugar.activity import activityfactory @@ -138,6 +140,15 @@ class JournalActivity(Window): self._critical_space_alert = None self._check_available_space() + def __alert_notify_cb(self, gobject, strerror, severity): + alert = ErrorAlert(title=severity, msg=strerror) + alert.connect('response', self.__alert_response_cb) + self.add_alert(alert) + alert.show() + + def __alert_response_cb(self, alert, response_id): + self.remove_alert(alert) + def __realize_cb(self, window): wm.set_bundle_id(window.window, _BUNDLE_ID) activity_id = activityfactory.create_activity_id() @@ -161,6 +172,7 @@ class JournalActivity(Window): self._volumes_toolbar = VolumesToolbar() self._volumes_toolbar.connect('volume-changed', self.__volume_changed_cb) + self._volumes_toolbar.connect('volume-error', self.__alert_notify_cb) self._main_view.pack_start(self._volumes_toolbar, expand=False) search_toolbar = self._main_toolbox.search_toolbar diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py index 24ad216..f5e2c89 100644 --- a/src/jarabe/journal/misc.py +++ b/src/jarabe/journal/misc.py @@ -168,7 +168,7 @@ def resume(metadata, bundle_id=None): bundle.get_bundle_id()) installed_bundle = registry.get_bundle(bundle.get_bundle_id()) if installed_bundle: - activityfactory.create(installed_bundle) + launch(installed_bundle) else: logging.error('Bundle %r is not installed.', bundle.get_bundle_id()) @@ -192,17 +192,10 @@ def resume(metadata, bundle_id=None): logging.debug('activityfactory.creating with uri %s', uri) activity_bundle = registry.get_bundle(activities[0].get_bundle_id()) - activityfactory.create_with_uri(activity_bundle, bundle.get_start_uri()) + launch(activity_bundle, uri=uri) else: activity_id = metadata.get('activity_id', '') - if activity_id: - shell_model = shell.get_model() - activity = shell_model.get_activity_by_id(activity_id) - if activity: - activity.get_window().activate(gtk.get_current_event_time()) - return - if bundle_id is None: activities = get_activities(metadata) if not activities: @@ -219,14 +212,31 @@ def resume(metadata, bundle_id=None): else: object_id = model.copy(metadata, '/') - if activity_id: - launcher.add_launcher(activity_id, bundle.get_icon(), - get_icon_color(metadata)) - handle = ActivityHandle(object_id=object_id, - activity_id=activity_id) - activityfactory.create(bundle, handle) - else: - activityfactory.create_with_object_id(bundle, object_id) + launch(bundle, activity_id=activity_id, object_id=object_id, + color=get_icon_color(metadata)) + +def launch(bundle, activity_id=None, object_id=None, uri=None, color=None): + if activity_id is None: + activity_id = activityfactory.create_activity_id() + + logging.debug('launch bundle_id=%s activity_id=%s object_id=%s uri=%s', + bundle.get_bundle_id(), activity_id, object_id, uri) + + shell_model = shell.get_model() + activity = shell_model.get_activity_by_id(activity_id) + if activity is not None: + logging.debug('re-launch %r', activity.get_window()) + activity.get_window().activate(gtk.get_current_event_time()) + return + + if color is None: + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + + launcher.add_launcher(activity_id, bundle.get_icon(), color) + activity_handle = ActivityHandle(activity_id=activity_id, + object_id=object_id, uri=uri) + activityfactory.create(bundle, activity_handle) def is_activity_bundle(metadata): mime_type = metadata.get('mime_type', '') diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py index 0e7702d..7c3e5ff 100644 --- a/src/jarabe/journal/palettes.py +++ b/src/jarabe/journal/palettes.py @@ -128,11 +128,6 @@ class ObjectPalette(Palette): self._temp_file_path = None def __erase_activate_cb(self, menu_item): - registry = bundleregistry.get_registry() - - bundle = misc.get_bundle(self._metadata) - if bundle is not None and registry.is_installed(bundle): - registry.uninstall(bundle) model.delete(self._metadata['uid']) def __detail_activate_cb(self, menu_item): diff --git a/src/jarabe/journal/volumestoolbar.py b/src/jarabe/journal/volumestoolbar.py index 74b974c..8b7786f 100644 --- a/src/jarabe/journal/volumestoolbar.py +++ b/src/jarabe/journal/volumestoolbar.py @@ -15,6 +15,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import logging +import os from gettext import gettext as _ import gobject @@ -35,7 +36,10 @@ class VolumesToolbar(gtk.Toolbar): __gsignals__ = { 'volume-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, - ([str])) + ([str])), + 'volume-error': (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, + ([str, str])) } def __init__(self): @@ -81,6 +85,7 @@ class VolumesToolbar(gtk.Toolbar): button = VolumeButton(mount) button.props.group = self._volume_buttons[0] button.connect('toggled', self._button_toggled_cb) + button.connect('volume-error', self.__volume_error_cb) position = self.get_item_index(self._volume_buttons[-1]) + 1 self.insert(button, position) button.show() @@ -90,6 +95,9 @@ class VolumesToolbar(gtk.Toolbar): if len(self.get_children()) > 1: self.show() + def __volume_error_cb(self, button, strerror, severity): + self.emit('volume-error', strerror, severity) + def _button_toggled_cb(self, button): if button.props.active: self.emit('volume-changed', button.mount_point) @@ -123,6 +131,12 @@ class VolumesToolbar(gtk.Toolbar): button.props.active = True class BaseButton(RadioToolButton): + __gsignals__ = { + 'volume-error': (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, + ([str, str])) + } + def __init__(self, mount_point): RadioToolButton.__init__(self) @@ -137,7 +151,19 @@ class BaseButton(RadioToolButton): info, timestamp): object_id = selection_data.data metadata = model.get(object_id) - model.copy(metadata, self.mount_point) + file_path = model.get_file(metadata['uid']) + if not file_path or not os.path.exists(file_path): + logging.warn('File does not exist') + self.emit('volume-error', _('Entries without a file cannot' + ' be copied'), _('Warning')) + return + + try: + model.copy(metadata, self.mount_point) + except IOError: + logging.exception('BaseButton._drag_data_received_cb: Error' + 'while copying') + self.emit('volume-error', _('Input/Output error'), _('Error')) class VolumeButton(BaseButton): def __init__(self, mount): diff --git a/src/jarabe/model/bundleregistry.py b/src/jarabe/model/bundleregistry.py index 86a2738..858655f 100644 --- a/src/jarabe/model/bundleregistry.py +++ b/src/jarabe/model/bundleregistry.py @@ -159,12 +159,22 @@ class BundleRegistry(gobject.GObject): self._write_favorites_file() def get_bundle(self, bundle_id): - """Returns an bundle given his service name""" + """Returns a bundle given service name or substring, + returns None if there is either no match, or more than one + match by substring.""" + result = [] + key = bundle_id.lower() + for bundle in self._bundles: - if bundle.get_bundle_id() == bundle_id: + name = bundle.get_bundle_id() + if name == bundle_id: return bundle + if key in name.lower(): + result.append(bundle) + if len(result) == 1: + return result[0] return None - + def __iter__(self): return self._bundles.__iter__() diff --git a/src/jarabe/model/network.py b/src/jarabe/model/network.py index 3a949da..47db43f 100644 --- a/src/jarabe/model/network.py +++ b/src/jarabe/model/network.py @@ -23,6 +23,7 @@ import os import time import dbus +import dbus.service import gobject import ConfigParser import gconf diff --git a/src/jarabe/view/keyhandler.py b/src/jarabe/view/keyhandler.py index 8c07975..8a85ac7 100644 --- a/src/jarabe/view/keyhandler.py +++ b/src/jarabe/view/keyhandler.py @@ -41,6 +41,8 @@ _actions_table = { 'F2' : 'zoom_group', 'F3' : 'zoom_home', 'F4' : 'zoom_activity', + 'F5' : 'open_search', + 'F6' : 'frame', 'XF86AudioMute' : 'volume_mute', 'F11' : 'volume_down', 'XF86AudioLowerVolume' : 'volume_down', diff --git a/src/jarabe/view/palettes.py b/src/jarabe/view/palettes.py index ad84f08..43612d4 100644 --- a/src/jarabe/view/palettes.py +++ b/src/jarabe/view/palettes.py @@ -32,8 +32,8 @@ from sugar.activity import activityfactory from sugar.activity.activityhandle import ActivityHandle from jarabe.model import shell -from jarabe.view import launcher from jarabe.view.viewsource import setup_view_source +from jarabe.journal import misc class BasePalette(Palette): def __init__(self, home_activity): @@ -145,17 +145,7 @@ class ActivityPalette(Palette): def __start_activate_cb(self, menu_item): self.popdown(immediate=True) - - client = gconf.client_get_default() - xo_color = XoColor(client.get_string('/desktop/sugar/user/color')) - - activity_id = activityfactory.create_activity_id() - launcher.add_launcher(activity_id, - self._activity_info.get_icon(), - xo_color) - - handle = ActivityHandle(activity_id) - activityfactory.create(self._activity_info, handle) + misc.launch(self._activity_info) class JournalPalette(BasePalette): def __init__(self, home_activity): |