Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--extensions/deviceicon/network.py118
-rw-r--r--po/fr.po467
-rw-r--r--po/nl.po684
-rw-r--r--src/jarabe/desktop/activitieslist.py9
-rw-r--r--src/jarabe/desktop/favoritesview.py11
-rw-r--r--src/jarabe/desktop/meshbox.py16
-rw-r--r--src/jarabe/desktop/schoolserver.py2
-rw-r--r--src/jarabe/frame/activitiestray.py33
-rw-r--r--src/jarabe/journal/journalactivity.py12
-rw-r--r--src/jarabe/journal/misc.py44
-rw-r--r--src/jarabe/journal/palettes.py5
-rw-r--r--src/jarabe/journal/volumestoolbar.py30
-rw-r--r--src/jarabe/model/bundleregistry.py16
-rw-r--r--src/jarabe/model/network.py1
-rw-r--r--src/jarabe/view/keyhandler.py2
-rw-r--r--src/jarabe/view/palettes.py14
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)
diff --git a/po/fr.po b/po/fr.po
index 6f4f1bc..caf42af 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -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"
diff --git a/po/nl.po b/po/nl.po
index b490159..bf437de 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -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):