[Commits] sugar-update-control branch olpc-8.2 updated.

C. Scott Ananian cscott at laptop.org
Wed Dec 17 18:55:04 EST 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "/home/cscott/public_git/sugar-update-control".

The branch, olpc-8.2 has been updated
       via  be7110ab2aad6d80172a635962afe69001f03480 (commit)
       via  110317a904393604572a46dc4ed274fe83ce190f (commit)
       via  a8a1cd23c2375de26641cc2a89d3d89995bb7e1f (commit)
       via  713715faf347279aa9fa8b460a3373fe167407a4 (commit)
       via  41b1890d30336d3060cf2b97641f5733febbfe68 (commit)
       via  9441fd66f5f73a1ac5ae7ba16a05f016d16277b2 (commit)
      from  494c6e59a2d7558439ad30131dd3b72d0dff60d8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

 Makefile                                   |   16 ++-
 debian/changelog                           |    6 +
 dist_extra/README                          |   42 ++++++
 dist_extra/__init__.py                     |    5 +
 dist_extra/build_extra.py                  |   57 ++++++++
 dist_extra/build_help.py                   |   44 ++++++
 dist_extra/build_i18n.py                   |  135 +++++++++++++++++
 dist_extra/build_icons.py                  |   43 ++++++
 dist_extra/clean_i18n.py                   |   36 +++++
 dist_extra/copyright                       |   26 ++++
 dist_extra/setup.cfg.example               |    8 +
 dist_extra/setup.py.example                |   31 ++++
 model/updater.py                           |    4 +-
 po/POTFILES.in                             |    2 +
 po/{sugar-update-control.pot => af.po}     |  103 +++++++------
 po/{sugar-update-control.pot => am.po}     |  103 +++++++------
 po/ar.po                                   |  212 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => ay.po}     |  103 +++++++------
 po/bg.po                                   |  215 ++++++++++++++++++++++++++++
 po/{sugar-update-control.pot => bi.po}     |  101 +++++++------
 po/{sugar-update-control.pot => bn.po}     |  103 +++++++------
 po/{sugar-update-control.pot => bn_IN.po}  |  103 +++++++------
 po/{sugar-update-control.pot => ca.po}     |  103 +++++++------
 po/{sugar-update-control.pot => cs.po}     |  101 +++++++------
 po/de.po                                   |  212 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => dz.po}     |  103 +++++++------
 po/el.po                                   |  211 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => en.po}     |  103 +++++++------
 po/es.po                                   |  212 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => fa.po}     |  103 +++++++------
 po/{sugar-update-control.pot => fa_AF.po}  |  103 +++++++------
 po/{sugar-update-control.pot => ff.po}     |  103 +++++++------
 po/fr.po                                   |  212 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => gu.po}     |  123 +++++++++--------
 po/{sugar-update-control.pot => ha.po}     |  103 +++++++------
 po/{sugar-update-control.pot => he.po}     |  101 +++++++------
 po/{sugar-update-control.pot => hi.po}     |  103 +++++++------
 po/{sugar-update-control.pot => ht.po}     |  103 +++++++------
 po/{sugar-update-control.pot => hu.po}     |  101 +++++++------
 po/{sugar-update-control.pot => ig.po}     |  103 +++++++------
 po/{sugar-update-control.pot => is.po}     |  103 +++++++------
 po/it.po                                   |  211 +++++++++++++++++++++++++++
 po/ja.po                                   |  207 ++++++++++++++++++++++++++
 po/{sugar-update-control.pot => km.po}     |  103 +++++++------
 po/{sugar-update-control.pot => ko.po}     |  103 +++++++------
 po/{sugar-update-control.pot => mk.po}     |  103 +++++++------
 po/{sugar-update-control.pot => ml.po}     |  103 +++++++------
 po/{sugar-update-control.pot => mn.po}     |  103 +++++++------
 po/{sugar-update-control.pot => mr.po}     |  103 +++++++------
 po/{sugar-update-control.pot => mvo.po}    |  103 +++++++------
 po/nb.po                                   |  215 ++++++++++++++++++++++++++++
 po/{sugar-update-control.pot => ne.po}     |  103 +++++++------
 po/nl.po                                   |  210 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => pa.po}     |  103 +++++++------
 po/{sugar-update-control.pot => pap.po}    |  103 +++++++------
 po/{sugar-update-control.pot => pis.po}    |  103 +++++++------
 po/{sugar-update-control.pot => pl.po}     |  104 ++++++++------
 po/{sugar-update-control.pot => ps.po}     |  103 +++++++------
 po/{sugar-update-control.pot => pseudo.po} |  101 +++++++------
 po/{sugar-update-control.pot => pt.po}     |  103 +++++++------
 po/{sugar-update-control.pot => pt_BR.po}  |  103 +++++++------
 po/{sugar-update-control.pot => qu.po}     |  103 +++++++------
 po/{sugar-update-control.pot => ro.po}     |  104 ++++++++------
 po/{sugar-update-control.pot => ru.po}     |  104 ++++++++------
 po/{sugar-update-control.pot => rw.po}     |  103 +++++++------
 po/{sugar-update-control.pot => sd.po}     |  103 +++++++------
 po/si.po                                   |  208 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => sk.po}     |  101 +++++++------
 po/sl.po                                   |  212 +++++++++++++++++++++++++++
 po/sugar-update-control.pot                |  100 ++++++++------
 po/sv.po                                   |  209 +++++++++++++++++++++++++++
 po/sw.po                                   |  207 ++++++++++++++++++++++++++
 po/{sugar-update-control.pot => te.po}     |  103 +++++++------
 po/{sugar-update-control.pot => th.po}     |  103 +++++++------
 po/{sugar-update-control.pot => tpi.po}    |  103 +++++++------
 po/tr.po                                   |  209 +++++++++++++++++++++++++++
 po/ur.po                                   |  208 +++++++++++++++++++++++++++
 po/{sugar-update-control.pot => vi.po}     |  103 +++++++------
 po/{sugar-update-control.pot => wa.po}     |  101 +++++++------
 po/{sugar-update-control.pot => yo.po}     |  103 +++++++------
 po/zh_CN.po                                |  206 ++++++++++++++++++++++++++
 po/zh_TW.po                                |  207 ++++++++++++++++++++++++++
 setup.cfg                                  |    3 +
 setup.py                                   |    5 +-
 sugar-update-control.changes               |    7 +
 sugar-update-control.spec                  |    9 +-
 view/updater.py                            |    4 +-
 87 files changed, 7063 insertions(+), 2359 deletions(-)
 create mode 100644 dist_extra/README
 create mode 100644 dist_extra/__init__.py
 create mode 100644 dist_extra/build_extra.py
 create mode 100644 dist_extra/build_help.py
 create mode 100644 dist_extra/build_i18n.py
 create mode 100644 dist_extra/build_icons.py
 create mode 100644 dist_extra/clean_i18n.py
 create mode 100644 dist_extra/copyright
 create mode 100644 dist_extra/setup.cfg.example
 create mode 100644 dist_extra/setup.py.example
 create mode 100644 po/POTFILES.in
 copy po/{sugar-update-control.pot => af.po} (61%)
 copy po/{sugar-update-control.pot => am.po} (61%)
 create mode 100644 po/ar.po
 copy po/{sugar-update-control.pot => ay.po} (61%)
 create mode 100644 po/bg.po
 copy po/{sugar-update-control.pot => bi.po} (62%)
 copy po/{sugar-update-control.pot => bn.po} (61%)
 copy po/{sugar-update-control.pot => bn_IN.po} (61%)
 copy po/{sugar-update-control.pot => ca.po} (61%)
 copy po/{sugar-update-control.pot => cs.po} (62%)
 create mode 100644 po/de.po
 copy po/{sugar-update-control.pot => dz.po} (61%)
 create mode 100644 po/el.po
 copy po/{sugar-update-control.pot => en.po} (61%)
 create mode 100644 po/es.po
 copy po/{sugar-update-control.pot => fa.po} (61%)
 copy po/{sugar-update-control.pot => fa_AF.po} (61%)
 copy po/{sugar-update-control.pot => ff.po} (61%)
 create mode 100644 po/fr.po
 copy po/{sugar-update-control.pot => gu.po} (54%)
 copy po/{sugar-update-control.pot => ha.po} (61%)
 copy po/{sugar-update-control.pot => he.po} (62%)
 copy po/{sugar-update-control.pot => hi.po} (61%)
 copy po/{sugar-update-control.pot => ht.po} (61%)
 copy po/{sugar-update-control.pot => hu.po} (62%)
 copy po/{sugar-update-control.pot => ig.po} (61%)
 copy po/{sugar-update-control.pot => is.po} (61%)
 create mode 100644 po/it.po
 create mode 100644 po/ja.po
 copy po/{sugar-update-control.pot => km.po} (61%)
 copy po/{sugar-update-control.pot => ko.po} (61%)
 copy po/{sugar-update-control.pot => mk.po} (61%)
 copy po/{sugar-update-control.pot => ml.po} (61%)
 copy po/{sugar-update-control.pot => mn.po} (61%)
 copy po/{sugar-update-control.pot => mr.po} (61%)
 copy po/{sugar-update-control.pot => mvo.po} (61%)
 create mode 100644 po/nb.po
 copy po/{sugar-update-control.pot => ne.po} (61%)
 create mode 100644 po/nl.po
 copy po/{sugar-update-control.pot => pa.po} (61%)
 copy po/{sugar-update-control.pot => pap.po} (61%)
 copy po/{sugar-update-control.pot => pis.po} (61%)
 copy po/{sugar-update-control.pot => pl.po} (60%)
 copy po/{sugar-update-control.pot => ps.po} (61%)
 copy po/{sugar-update-control.pot => pseudo.po} (62%)
 copy po/{sugar-update-control.pot => pt.po} (61%)
 copy po/{sugar-update-control.pot => pt_BR.po} (61%)
 copy po/{sugar-update-control.pot => qu.po} (61%)
 copy po/{sugar-update-control.pot => ro.po} (60%)
 copy po/{sugar-update-control.pot => ru.po} (60%)
 copy po/{sugar-update-control.pot => rw.po} (61%)
 copy po/{sugar-update-control.pot => sd.po} (61%)
 create mode 100644 po/si.po
 copy po/{sugar-update-control.pot => sk.po} (62%)
 create mode 100644 po/sl.po
 create mode 100644 po/sv.po
 create mode 100644 po/sw.po
 copy po/{sugar-update-control.pot => te.po} (61%)
 copy po/{sugar-update-control.pot => th.po} (61%)
 copy po/{sugar-update-control.pot => tpi.po} (61%)
 create mode 100644 po/tr.po
 create mode 100644 po/ur.po
 copy po/{sugar-update-control.pot => vi.po} (61%)
 copy po/{sugar-update-control.pot => wa.po} (62%)
 copy po/{sugar-update-control.pot => yo.po} (61%)
 create mode 100644 po/zh_CN.po
 create mode 100644 po/zh_TW.po
 create mode 100644 setup.cfg

- Log -----------------------------------------------------------------
commit be7110ab2aad6d80172a635962afe69001f03480
Author: C. Scott Ananian <cscott at laptop.org>
Date:   Wed Dec 17 15:24:02 2008 -0500

    Release 0.17.1.

diff --git a/Makefile b/Makefile
index 90e1fa8..9201e1a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,24 +1,25 @@
 # CANONICAL SOURCE OF VERSION STRING:
 VERSION_MAJOR=0
 VERSION_MINOR=17
+VERSION_BUGFIX=1
 PACKAGE=sugar-update-control
 MOCK=./mock-wrapper -r olpc-3-i386 --resultdir=$(MOCKDIR) $(MOCK_OPTS)
 MOCKDIR=./rpms
-PKGVER=$(PACKAGE)-$(VERSION_MAJOR).$(VERSION_MINOR)
+PKGVER=$(PACKAGE)-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUGFIX)
 CWD=$(shell pwd)
 
 # fixup version number in spec and changes file
 update-version:
-	sed -e 's/^Name: .*/Name: $(PACKAGE)/' -e 's/^Version: .*/Version: $(VERSION_MAJOR).$(VERSION_MINOR)/' -i $(PACKAGE).spec
-	sed -e 's/version=.*/version="$(VERSION_MAJOR).$(VERSION_MINOR)",/' -i setup.py
-	grep -q $(VERSION_MAJOR).$(VERSION_MINOR) debian/changelog
+	sed -e 's/^Name: .*/Name: $(PACKAGE)/' -e 's/^Version: .*/Version: $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUGFIX)/' -i $(PACKAGE).spec
+	sed -e 's/version=.*/version="$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUGFIX)",/' -i setup.py
+	grep -q $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUGFIX) debian/changelog
 
 # update the translation template
 po/sugar-update-control.pot: model/updater.py view/updater.py
 	xgettext -o $@ \
 	  --copyright-holder="One Laptop per Child Association, Inc." \
 	  --package-name="$(PACKAGE)" \
-	  --package-version="$(VERSION_MAJOR).$(VERSION_MINOR)" \
+	  --package-version="$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUGFIX)" \
 	  --msgid-bugs-address="cscott at laptop.org" \
 	  $^
 # update translations
diff --git a/debian/changelog b/debian/changelog
index 3c4cb8a..1351a00 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+sugar-update-control (0.17.1) unstable; urgency=low
+
+  * Trac #9044: make translatable; import translations.
+
+ -- C. Scott Ananian <cscott at laptop.org>  Wed, 17 Dec 2008 15:20:56 -0500
+
 sugar-update-control (0.17) unstable; urgency=low
 
   * Trac #7845, #8681: don't die if ~/Activities doesn't exist.
diff --git a/setup.py b/setup.py
index 7de3099..8f45721 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@
 from dist_extra import * # gettext support
 from distutils.core import setup
 setup(name='sugar-update-control',
-      version="0.17",
+      version="0.17.1",
       description='Sugar update control panel',
       author='C. Scott Ananian',
       author_email='cscott at laptop.org',
diff --git a/sugar-update-control.changes b/sugar-update-control.changes
index b2c808f..0ed243c 100644
--- a/sugar-update-control.changes
+++ b/sugar-update-control.changes
@@ -135,3 +135,10 @@ sugar-update-control-0.17-1.src.rpm
     This fixes a regression introduced in 0.15.
 
  -- C. Scott Ananian <cscott at laptop.org>  Sun, 28 Sep 2008 09:37:17 -0400
+
+sugar-update-control-0.17.1-1.noarch.rpm
+sugar-update-control-0.17.1-1.src.rpm
+
+  * Trac #9044: make translatable; import translations.
+
+ -- C. Scott Ananian <cscott at laptop.org>  Wed, 17 Dec 2008 15:20:56 -0500
diff --git a/sugar-update-control.spec b/sugar-update-control.spec
index 5f43396..c5f3fb7 100644
--- a/sugar-update-control.spec
+++ b/sugar-update-control.spec
@@ -5,7 +5,7 @@
 
 Summary: Activity update control panel for Sugar.
 Name: sugar-update-control
-Version: 0.17
+Version: 0.17.1
 Release: 1
 License: GPL
 Group: System Environment/Base
@@ -46,6 +46,9 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/sugar
 
 %changelog
+* Wed Dec 17 2008 C. Scott Ananian <cscott at laptop.org>
+- Trac #9044: make translatable; import translations.
+
 * Sun Sep 28 2008 C. Scott Ananian <cscott at laptop.org>
 - Trac #7845, #8681: don't die if ~/Activities doesn't exist.
 - This fixes a regression introduced in 0.15.

commit 110317a904393604572a46dc4ed274fe83ce190f
Author: C. Scott Ananian <cscott at laptop.org>
Date:   Wed Dec 17 15:19:32 2008 -0500

    Update imported translations using 8.2's .POT file.

diff --git a/Makefile b/Makefile
index d14b73e..90e1fa8 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,11 @@ po/sugar-update-control.pot: model/updater.py view/updater.py
 	  --package-version="$(VERSION_MAJOR).$(VERSION_MINOR)" \
 	  --msgid-bugs-address="cscott at laptop.org" \
 	  $^
+# update translations
+update-trans: po/sugar-update-control.pot
+	for f in po/*.po ; do \
+	  msgmerge -U $$f $< ; \
+        done
 
 # note that this builds the tarball from *committed git bits* only.
 # do a git commit before invoking this.
diff --git a/po/af.po b/po/af.po
index 3a4e321..16b3815 100644
--- a/po/af.po
+++ b/po/af.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/am.po b/po/am.po
index 3a4e321..16b3815 100644
--- a/po/am.po
+++ b/po/am.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ar.po b/po/ar.po
index 6c1b3a2..7021bb4 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-09-25 14:22-0400\n"
 "Last-Translator: Khaled Hosny <khaledhosny at eglug.org>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,196 +17,196 @@ msgstr ""
 "n<=10 ? 3 : n>=11 && n<=99 ? 4 : 5;\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "تحديث البرمجيات"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "ارفع إ_شارة الكل"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "أشّر ال_كل"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "مسار المجموعة:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "عدّل مجموعات الأنشطة"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "ثبّت المُحدد"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "حجم التنزيل: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "أعِد المحاولة"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "يُلغي..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "يلتمس التحديثات..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "يبدأ التنزيل..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr "تحديث البرمجيات يصلح الأخطاء، ويزيل الثغرات الأمنية ويقدم خصائص جديدة."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "يُنزّل التحديثات..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "يُنزّل %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "يُثبّت %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "تعذّر النفاذ إلى الشبكة"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "تعذّر النفاذ إلى الشبكة لالتماس التحديثات"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "برمجيّاتك محدّثة"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "لا توجد تحديثات لتثبيتها"
-msgstr[1] "يمكنك تثبيت تحديث واحد"
-msgstr[2] "يمكنك تثبيت تحديثين"
-msgstr[3] "يمكنك تثبيت %s تحديثات"
-msgstr[4] "يمكنك تثبيت %s تحديثا"
-msgstr[5] "يمكنك تثبيت %s تحديث"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "لا شيء"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 ك.بايت"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f ك.بايت"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f م.بايت"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "يُحمّل المجموعات"
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "يجلب %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "مجموعة أنشطة"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "الأنشطة المحلية"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "في الإصدارة %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "من الإصدارة %(old)d إلى الإصدارة %(new)d (الحجم: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "الإصدارة الجديدة %(version)s (الحجم: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "يفحص %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "مجموعة جديدة"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "يتوفر %(number)d تحديثات.  الحجم: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "غير مسموح بتحديد قائمة التحديثات."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "لم تُعرّف سوى عملية 'set' لهذا الزر"
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "أكثر من مطابقة لاسم أو معرّف النشاط المعطى"
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "النشاط المعطى محدث بالفعل."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "لم يعثر على نشاط بالاسم أو المعرف المعطى"
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "يُنزّل %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "يُرقّي %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "يُثبّت %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "تحديث البرمجيات"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "ارفع إ_شارة الكل"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "أشّر ال_كل"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "مسار المجموعة:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "عدّل مجموعات الأنشطة"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "ثبّت المُحدد"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "حجم التنزيل: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "أعِد المحاولة"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "يُلغي..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "يلتمس التحديثات..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "يبدأ التنزيل..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "تحديث البرمجيات يصلح الأخطاء، ويزيل الثغرات الأمنية ويقدم خصائص جديدة."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "يُنزّل التحديثات..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "تعذّر النفاذ إلى الشبكة"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "تعذّر النفاذ إلى الشبكة لالتماس التحديثات"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "برمجيّاتك محدّثة"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "لا توجد تحديثات لتثبيتها"
+msgstr[1] "يمكنك تثبيت تحديث واحد"
+msgstr[2] "يمكنك تثبيت تحديثين"
+msgstr[3] "يمكنك تثبيت %s تحديثات"
+msgstr[4] "يمكنك تثبيت %s تحديثا"
+msgstr[5] "يمكنك تثبيت %s تحديث"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "يبحث عن الأنشطة المحلية..."
diff --git a/po/ay.po b/po/ay.po
index 3a4e321..16b3815 100644
--- a/po/ay.po
+++ b/po/ay.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/bg.po b/po/bg.po
index 9912a3b..ed5e4d0 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-10-22 17:35-0400\n"
 "Last-Translator: Geno Roupsky <groupsky at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,200 +16,200 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-#, fuzzy
-msgid "Software update"
-msgstr "Софтуерно обновяване"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Изключване на всички"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Включване на всички"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "URL на група:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Промяна на групите от занятия"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Инсталиране на избраните"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Размер за сваляне: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Повторен опит"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Прекъсване..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Проверка за обновявания..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Начало на свалянето..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Софтуерните обновявания поправят грешки, премахват дупки в сигурността и "
-"предоставят нови възможности."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Сваляне на обновяванията..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Сваляне %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Инсталиране %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Не може да достигне мрежата"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Не може да достигне мрежата за да провери за обновявания"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Вашият софтуер е обновен"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Можете да инсталирате %s обновяване"
-msgstr[1] "Можете да инсталирате %s обновявания"
-
-#: src/model.py:59
+#: model/updater.py:59
 #, fuzzy
 msgid "None"
 msgstr "Никакъв"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 КБ"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f КБ"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f МБ"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Зареждане на групи..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Зареждане на %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Група от занятия"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Локални занятия"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "На версия %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "От версия %(old)d до %(new)d (размер: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Нова версия %(version)s (размер: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Проверка на %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Нова група"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "Налични са %(number)d обновявания.  Размер: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 #, fuzzy
 msgid "Setting the list of updates is not permitted."
 msgstr "Не е разрешено променяне на списъка с обновявания."
 
-#: src/model.py:755
+#: model/updater.py:755
 #, fuzzy
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Единствено 'set' операцията е дефинирана за този ключ."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr ""
 "Повече от едно съвпадение бе намерено за даденото име на занятие или номер."
 
-#: src/model.py:770
+#: model/updater.py:770
 #, fuzzy
 msgid "The given activity is already up-to-date."
 msgstr "Това занятие е обновено."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Не са намерени занятия за даденото име на занятие или номер."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Сваляне %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Обновяване %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Инсталиране %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+#, fuzzy
+msgid "Software update"
+msgstr "Софтуерно обновяване"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Изключване на всички"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Включване на всички"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "URL на група:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Промяна на групите от занятия"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Инсталиране на избраните"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Размер за сваляне: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Повторен опит"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Прекъсване..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Проверка за обновявания..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Начало на свалянето..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Софтуерните обновявания поправят грешки, премахват дупки в сигурността и "
+"предоставят нови възможности."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Сваляне на обновяванията..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Не може да достигне мрежата"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Не може да достигне мрежата за да провери за обновявания"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Вашият софтуер е обновен"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Можете да инсталирате %s обновяване"
+msgstr[1] "Можете да инсталирате %s обновявания"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Преглеждане за локални занятия..."
diff --git a/po/bi.po b/po/bi.po
index bf7a782..502b95c 100644
--- a/po/bi.po
+++ b/po/bi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/bn.po b/po/bn.po
index 3a4e321..16b3815 100644
--- a/po/bn.po
+++ b/po/bn.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/bn_IN.po b/po/bn_IN.po
index 3a4e321..16b3815 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ca.po b/po/ca.po
index 3a4e321..16b3815 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/cs.po b/po/cs.po
index bf7a782..502b95c 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/de.po b/po/de.po
index f9144cb..7bd65d6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-11-12 16:43-0500\n"
 "Last-Translator: Markus Schlager <m.slg at gmx.de>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,197 +16,197 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Software-Aktualisierung"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "Alle Markierungen aufheben"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "Alles markieren"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "Gruppen-URL:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Aktivitätengruppen verändern"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Installiere Auswahl"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Download-Größe: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Erneut versuchen"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Abbruch..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Suche nach Aktualisierungen"
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Beginne Download..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Software-Aktualisierungen beheben Fehler, schließen Sicherheitslücken und "
-"bieten neue Funktionen."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Lade Aktualisierungen herunter..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Lade %s herunter..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Installiere %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Konnte nicht auf das Netzwerk zugreifen"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr ""
-"Konnte nicht auf das Netzwerk zugreifen, um Aktualisierungen zu suchen. "
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Deine Software ist auf dem neuesten Stand"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Du kannst %s Aktualisierung installieren"
-msgstr[1] "Du kannst %s Aktualisierungen installieren"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "keine"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Lade Gruppen..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Hole %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Aktivitätengruppe"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Lokale Aktivitäten"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "In Version %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Von Version %(old)d auf %(new)d (Größe: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Neue Version %(version)s (Größe: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Prüfe %s...."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Neue Gruppe"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d Aktualisierungen verfügbar.  Größe: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Bearbeiten der Aktualisierungsliste ist nicht erlaubt."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Für diesen Schlüssel ist nur die 'set'-Operation definiert."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr ""
 "Für die den angegebenen Aktivitätsnamen oder ihre ID wurde mehr als ein "
 "Treffer gefunden."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "Die angegebene Aktivität ist bereits auf dem neuesten Stand."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Zu dem angegebenen Namen oder der ID wurde keine Aktivität gefunden."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Lade %s herunter..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Aktualisiere %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Installiere %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Software-Aktualisierung"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "Alle Markierungen aufheben"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "Alles markieren"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "Gruppen-URL:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Aktivitätengruppen verändern"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Installiere Auswahl"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Download-Größe: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Erneut versuchen"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Abbruch..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Suche nach Aktualisierungen"
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Beginne Download..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Software-Aktualisierungen beheben Fehler, schließen Sicherheitslücken und "
+"bieten neue Funktionen."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Lade Aktualisierungen herunter..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Konnte nicht auf das Netzwerk zugreifen"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr ""
+"Konnte nicht auf das Netzwerk zugreifen, um Aktualisierungen zu suchen. "
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Deine Software ist auf dem neuesten Stand"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Du kannst %s Aktualisierung installieren"
+msgstr[1] "Du kannst %s Aktualisierungen installieren"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Suche nach lokalen Aktivitäten..."
diff --git a/po/dz.po b/po/dz.po
index 0af7cbc..ee0781f 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/el.po b/po/el.po
index b5f44b0..236ffdb 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-09-28 15:17-0400\n"
 "Last-Translator: John Sarlis <sarlis at sch.gr>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,196 +16,196 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Ενημέρωση λογισμικού"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Αποεπιλογή Όλων"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Επιλογή Όλων"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "Ομαδοποίηση Διευθύνσεων:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Τροποποίηση ομάδων δραστηριοτήτων"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Εγκατάσταση επιλεγμένων"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Μέγεθος λήψης: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Ξαναπροσπάθησε"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Ακύρωση..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Έλεγχος για ενημερώσεις..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Έναρξη λήψης..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Οι ενημερώσεις λογισμικού διορθώνουν λάθη, εκμηδενίζουν αστάθειες ασφάλειας "
-"και παρέχουν νέες λειτουργίες."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Λήψη ενημερώσεων..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Λήψη %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Εγκατάσταση %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Δεν υπάρχει πρόσβαση στο δίκτυο"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Δεν υπάρχει πρόσβαση στο δίκτυο για έλεγχο ενημερώσεων"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Το λογισμικό σας είναι ενημερωμένο"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Μπορείς να εγκαταστήσεις %s ενημέρωση"
-msgstr[1] "Μπορείς να εγκαταστήσεις %s ενημερώσεις"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Κανένα"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Φόρτωση ομάδων..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Μεταφορά %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Ομάδα Δραστηριότητας"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Τοπικές δραστηριότητες"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "Στην έκδοση %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Από την έκδοση %(old)d στην έκδοση %(new)d (Μέγεθος: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Νέα έκδοση %(version)s (Μέγεθος: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Έλεγχος %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Νέα ομάδα"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d διαθέσιμες ενημερώσεις.  Μέγεθος: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Η ρύθμιση της λίστας ενημερώσεων δεν επιτρέπεται."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Έχει οριστεί μόνο η λειτουργία «θέσε» γι' αυτό το κλειδί"
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr ""
 "Βρέθηκαν περισσότερα του ενός ταιριάσματα για το συγκεκριμένο όνομα ή "
 "ταυτότητα δραστηριότητας."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "Η συγκεκριμένη δραστηριότητα είναι ήδη ενημερωμένη."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Δε βρέθηκε δραστηριότητα με αυτό το όνομα ή ταυτότητα."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Λήψη %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Αναβάθμιση %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Εγκατάσταση %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Ενημέρωση λογισμικού"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Αποεπιλογή Όλων"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Επιλογή Όλων"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "Ομαδοποίηση Διευθύνσεων:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Τροποποίηση ομάδων δραστηριοτήτων"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Εγκατάσταση επιλεγμένων"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Μέγεθος λήψης: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Ξαναπροσπάθησε"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Ακύρωση..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Έλεγχος για ενημερώσεις..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Έναρξη λήψης..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Οι ενημερώσεις λογισμικού διορθώνουν λάθη, εκμηδενίζουν αστάθειες ασφάλειας "
+"και παρέχουν νέες λειτουργίες."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Λήψη ενημερώσεων..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Δεν υπάρχει πρόσβαση στο δίκτυο"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Δεν υπάρχει πρόσβαση στο δίκτυο για έλεγχο ενημερώσεων"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Το λογισμικό σας είναι ενημερωμένο"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Μπορείς να εγκαταστήσεις %s ενημέρωση"
+msgstr[1] "Μπορείς να εγκαταστήσεις %s ενημερώσεις"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Αναζήτηση τοπικών δραστηριοτήτων..."
diff --git a/po/en.po b/po/en.po
index 3a4e321..16b3815 100644
--- a/po/en.po
+++ b/po/en.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/es.po b/po/es.po
index 2ec1bcf..d175a6d 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-12-09 15:22-0500\n"
 "Last-Translator: Rafael Ortiz <rafael at laptop.org>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,197 +16,197 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Actualización de software"
-
-# best translation available atm
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Quitar todas las marcas"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Marcar todas"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "URL del grupo:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Modificar grupos de actividades"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Instalar la selección"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Tamaño de la descarga: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Trata nuevamente"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Cancelando..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Buscando actualizaciones..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Comenzando la descarga..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"La actualización de software corrige errores, elimina vulnerabilidades de "
-"seguridad y provee nuevas características."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Descargando actualizaciones..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Descargando %s"
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr "Examinando %s..."
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Instalando %s"
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "No se ha podido acceder a la red"
-
-# i think it's the better translation here.
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "No se ha podido acceder a la red para revisar actualizaciones."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Su software está actualizado"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Puede instalar %s actualización "
-msgstr[1] "Puede instalar %s actualizaciones "
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Ninguno"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr "Buscando actividades y contenido local..."
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Cargando grupos..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Buscando %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Grupo de la Actividad"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Actividades locales"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "Versión %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "De la versión %(old)d a la %(new)d (Tamaño: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Nueva versión %(version)s (Tamaño: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Comprobando %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Nuevo grupo"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d de actualizaciones disponibles. Tamaño: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Establecer la lista de actualizaciones no está permitido."
 
 # it was backwards..
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Sólo la operación 'establecer'  está definida para esta clave."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "Más de una coincidencia para el nombre de actividad o id, dado."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "La actividad dada ya está actualizada."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "No se encontró una actividad con el nombre o id dado."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Descargando %s"
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr "Examinando %s..."
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Actualizando %s"
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Instalando %s"
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr "Error instalando %s."
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Actualización de software"
+
+# best translation available atm
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Quitar todas las marcas"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Marcar todas"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "URL del grupo:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Modificar grupos de actividades"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Instalar la selección"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Tamaño de la descarga: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Trata nuevamente"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Cancelando..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Buscando actualizaciones..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Comenzando la descarga..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"La actualización de software corrige errores, elimina vulnerabilidades de "
+"seguridad y provee nuevas características."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Descargando actualizaciones..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "No se ha podido acceder a la red"
+
+# i think it's the better translation here.
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "No se ha podido acceder a la red para revisar actualizaciones."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Su software está actualizado"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Puede instalar %s actualización "
+msgstr[1] "Puede instalar %s actualizaciones "
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Buscando por actividades locales..."
diff --git a/po/fa.po b/po/fa.po
index 0af7cbc..ee0781f 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/fa_AF.po b/po/fa_AF.po
index 0af7cbc..ee0781f 100644
--- a/po/fa_AF.po
+++ b/po/fa_AF.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ff.po b/po/ff.po
index 3a4e321..16b3815 100644
--- a/po/ff.po
+++ b/po/ff.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/fr.po b/po/fr.po
index ed605fc..aadad95 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-12-11 12:59-0500\n"
 "Last-Translator: samy boutayeb <s.boutayeb at free.fr>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,197 +16,197 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Mise à jour logicielle"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Désélectionner tout"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Sélectionner tout"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "URL du groupe :"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Modifier les groupes d'activités"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Installer les activités sélectionnées"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Taille du téléchargement : %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Réessayer"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Annulation..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Vérification des mises à jour..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Démarrer le téléchargement..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Les mises à jour logicielles corrigent les erreurs, éliminent les "
-"vulnérabilités de sécurité et apportent de nouvelles fonctionnalités."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Téléchargement des mises à jour..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Téléchargement de %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr "Examen de %s..."
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Installation de %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Accès au réseau impossible"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Accès au réseau impossible pour vérifier les mises à jours."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Vos logiciels sont à jour"
-
-#: src/view.py:652
-#, 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"
-
-#: src/model.py:59
+#: model/updater.py:59
 #, fuzzy
 msgid "None"
 msgstr "Aucun"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 Ko"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f Ko"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f Mo"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr "Recherche des activités et des contenus présents en local ..."
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Chargement des groupes..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Extraction de %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Groupe d'activités"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Activités locales"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "Version %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "De la version %(old)d à %(new)d (taille : %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Nouvelle version %(version)s (taille : %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Vérification de %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Nouveau groupe"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d de mises à jour disponibles.  Taille : %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Vous n'êtes pas autorisé à définir la liste des mises à jours."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Seule l'opération 'set' est définie pour cette clé."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr ""
 "Plusieurs réponses correspondent au nom ou à l'identifiant d'activité "
 "indiqué."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "L'activité indiqué existe déjà sous la version la plus récente."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Aucune activité trouvée avec le nom ou l'identifiant indiqué."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Téléchargement de %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr "Examen de %s..."
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Mise à niveau de %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Installation de %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr "Erreur lors de l'installation de %s."
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Mise à jour logicielle"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Désélectionner tout"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Sélectionner tout"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "URL du groupe :"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Modifier les groupes d'activités"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Installer les activités sélectionnées"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Taille du téléchargement : %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Réessayer"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Annulation..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Vérification des mises à jour..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Démarrer le téléchargement..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Les mises à jour logicielles corrigent les erreurs, éliminent les "
+"vulnérabilités de sécurité et apportent de nouvelles fonctionnalités."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Téléchargement des mises à jour..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Accès au réseau impossible"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Accès au réseau impossible pour vérifier les mises à jours."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Vos logiciels sont à jour"
+
+#: view/updater.py:668
+#, 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"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Recherche d'activités locales..."
diff --git a/po/gu.po b/po/gu.po
index 9e0b272..23a133f 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-11-18 01:01-0500\n"
 "Last-Translator: Kartik Mistry <kartik.mistry at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "સોફ્ટવેર સુધારો"
+#: model/updater.py:59
+msgid "None"
+msgstr "કંઇ નહી"
 
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr ""
+#: model/updater.py:62
+msgid "1 KB"
+msgstr "૧ કેબી"
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
-msgstr "ફરી પ્રયત્ન કરો"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "રદ કરે છે..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "સુધારાઓ માટે ચકાસે છે..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "ડાઉનલોડ શરૂ કરે છે..."
+#: model/updater.py:296
+msgid "Activity Group"
+msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
+#: model/updater.py:370
 #, python-format
-msgid "Downloading %s..."
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:422
 #, python-format
-msgid "Examining %s..."
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
+#: model/updater.py:437
 #, python-format
-msgid "Installing %s..."
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:578
+msgid "New group"
+msgstr "નવો સમૂહ"
+
+#: model/updater.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
-msgstr "કંઇ નહી"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
-msgstr "૧ કેબી"
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:808 view/updater.py:600
 #, python-format
-msgid "%.0f KB"
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:812 view/updater.py:605
 #, python-format
-msgid "%.1f MB"
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:815
+#, python-format
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:278
+#: model/updater.py:821
 #, python-format
-msgid "Fetching %s..."
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:74
+msgid "Software update"
+msgstr "સોફ્ટવેર સુધારો"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:422
-#, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:437
+#: view/updater.py:428
 #, python-format
-msgid "Checking %s..."
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
-msgstr "નવો સમૂહ"
+#: view/updater.py:461
+msgid "Try again"
+msgstr "ફરી પ્રયત્ન કરો"
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
-msgstr ""
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "રદ કરે છે..."
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
-msgstr ""
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "સુધારાઓ માટે ચકાસે છે..."
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "ડાઉનલોડ શરૂ કરે છે..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ha.po b/po/ha.po
index 3a4e321..16b3815 100644
--- a/po/ha.po
+++ b/po/ha.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/he.po b/po/he.po
index bf7a782..502b95c 100644
--- a/po/he.po
+++ b/po/he.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/hi.po b/po/hi.po
index 3a4e321..16b3815 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ht.po b/po/ht.po
index 3a4e321..16b3815 100644
--- a/po/ht.po
+++ b/po/ht.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/hu.po b/po/hu.po
index bf7a782..502b95c 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ig.po b/po/ig.po
index 3a4e321..16b3815 100644
--- a/po/ig.po
+++ b/po/ig.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/is.po b/po/is.po
index 3a4e321..16b3815 100644
--- a/po/is.po
+++ b/po/is.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/it.po b/po/it.po
index 32c6565..75e6677 100644
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-12-13 06:54-0500\n"
 "Last-Translator: Carlo Falciola <cfalciola at yahoo.it>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,195 +16,196 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Aggiornamento del Software"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Deseleziona Tutto"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Seleziona Tutto"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "URL del Gruppo:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Modifica i gruppi di attività"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Installa selezionati"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Dimensione dati da scaricare: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Riprova"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Annullamento..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Verifica aggiornamenti in corso ...."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Inizio scaricamento..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Gli aggiornamenti del software correggono gli errori, eliminano "
-"vulnerabilità e offrono nuove funzionalità. "
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Sto scaricando gli aggiornamenti..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Scaricando %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr "Esaminando %s..."
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Installazione di %s in corso..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Rete non accessibile"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr ""
-"Non posso accedere alla rete per verificare la presenza di aggiornamenti."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Il tuo software è aggiornato alla versione più recente."
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Puoi installare %s aggiornamento"
-msgstr[1] "Puoi installare %s aggiornamenti"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Nessuno"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr "Ricerca di Attività e contenuti locali..."
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Caricamento gruppi..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Recupero %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Gruppo Attività"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Attività locali"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "Alla versione %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Dalla versione %(old)d alla %(new)d (Dimensione: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Nuova versione %(version)s (Dimensione: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Verifica in corso di %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Nuovo gruppo"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d aggiornamenti disponibili.  Dimensione: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Non si può modificare la lista degli aggiornamenti."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Per questo attributo è definita soltanto l'operazione 'set'."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
-msgstr "Trovata più di una corrispondenza per nome o id della attività forniti."
+msgstr ""
+"Trovata più di una corrispondenza per nome o id della attività forniti."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "La attività richiesta è già aggiornata alla versione più recente."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Non è stata trovata alcuna attività per il nome o id forniti."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Scaricando %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr "Esaminando %s..."
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Aggiornamento di %s in corso..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Installazione di %s in corso..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr "Errore durante l'installazione di %s."
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Aggiornamento del Software"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Deseleziona Tutto"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Seleziona Tutto"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "URL del Gruppo:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Modifica i gruppi di attività"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Installa selezionati"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Dimensione dati da scaricare: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Riprova"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Annullamento..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Verifica aggiornamenti in corso ...."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Inizio scaricamento..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Gli aggiornamenti del software correggono gli errori, eliminano "
+"vulnerabilità e offrono nuove funzionalità. "
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Sto scaricando gli aggiornamenti..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Rete non accessibile"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr ""
+"Non posso accedere alla rete per verificare la presenza di aggiornamenti."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Il tuo software è aggiornato alla versione più recente."
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Puoi installare %s aggiornamento"
+msgstr[1] "Puoi installare %s aggiornamenti"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Sto cercando per le attività locali..."
diff --git a/po/ja.po b/po/ja.po
index b4005ed..d821b6d 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-10-09 10:48-0400\n"
 "Last-Translator: korakurider <korakurider at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -15,191 +15,193 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "ソフトウェアの更新"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "全てクリア(_U)"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "全て選択(_C)"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "グループURL:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "アクティビティグループを更新"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "選択されたものをインストールする"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "ダウンロードサイズ: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "やり直す"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "キャンセルしています..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "更新を確認中..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "ダウンロードを開始..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr "ソフトウェアの更新により、不具合を修正し、セキュリティ脆弱性を削減し、新機能が提供されます。"
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "更新をダウンロード中..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "%s をダウンロード中..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "%s をインストール中..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "ネットワークをアクセスできませんでした"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "ネットワークがアクセスできず更新を確認できませんでした。"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "ソフトウェアは最新です"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "%s の更新をインストールできます"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "無し"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "グループを読み込み中..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "%s を取得中..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "アクティビティグループ"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "ローカルアクティビティ"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "バージョン %s にて"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "バージョン %(old)d から %(new)d (サイズ: %(size)s) "
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "新バージョン %(version)s (サイズ: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "%s を確認中..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "新しいグループ"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d 件の更新を適用可能です。サイズ: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "更新リストを設定することは許されていません。"
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "このキーにはset操作のみ定義されています。"
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "指定された名前かIDを持つアクティビティが複数見つかりました。"
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "指定されたアクティビティは既に最新になっています。"
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "指定された名前かIDを持つアクティビティが見つかりませんでした。"
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "%s をダウンロード中..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "%s を更新中..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "%s をインストール中..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "ソフトウェアの更新"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "全てクリア(_U)"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "全て選択(_C)"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "グループURL:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "アクティビティグループを更新"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "選択されたものをインストールする"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "ダウンロードサイズ: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "やり直す"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "キャンセルしています..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "更新を確認中..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "ダウンロードを開始..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"ソフトウェアの更新により、不具合を修正し、セキュリティ脆弱性を削減し、新機能"
+"が提供されます。"
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "更新をダウンロード中..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "ネットワークをアクセスできませんでした"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "ネットワークがアクセスできず更新を確認できませんでした。"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "ソフトウェアは最新です"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "%s の更新をインストールできます"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "ローカルなアクティビティを探しています..."
diff --git a/po/km.po b/po/km.po
index 0af7cbc..ee0781f 100644
--- a/po/km.po
+++ b/po/km.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ko.po b/po/ko.po
index 867c783..d400113 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0 ;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/mk.po b/po/mk.po
index f1531f2..5d7865d 100644
--- a/po/mk.po
+++ b/po/mk.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=((n % 10 == 1 && n % 100 != 11) ? 0 : 1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ml.po b/po/ml.po
index 3a4e321..16b3815 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/mn.po b/po/mn.po
index 3a4e321..16b3815 100644
--- a/po/mn.po
+++ b/po/mn.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/mr.po b/po/mr.po
index 3a4e321..16b3815 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/mvo.po b/po/mvo.po
index 3a4e321..16b3815 100644
--- a/po/mvo.po
+++ b/po/mvo.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/nb.po b/po/nb.po
index 32cc600..bd2dba7 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: sugar-update-control\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-12-09 20:26+0100\n"
 "Last-Translator: Kent Dahl <kentda at pvv.org>\n"
 "Language-Team: Norsk bokmål <i18n-no at lister.ping.uio.no>\n"
@@ -16,201 +16,200 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Programvareoppdatering"
-
-#: src/view.py:197
-#, fuzzy
-msgid "_Uncheck All"
-msgstr "_Bortvelg alle"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Velg alle"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "Gruppe URL:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Endre aktivitetsgrupper"
-
-#: src/view.py:392
-#, fuzzy
-msgid "Install selected"
-msgstr "Innstaller valgte"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Nedlastningsstørrelse: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Prøv igjen"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Avbryter..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Ser etter oppdateringer..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Starter nedlasting..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Programvareoppdateringer fikser feil, fjerner sikkerhetshull og introduserer "
-"ny funksjonalitet."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Laster ned oppdateringer..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Laster net %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Installerer %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Kom ikke inn på nettverket"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Kom ikke inn på nettverket og fikk ikke sjekket etter oppdateringer."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Programvaren din er av nyeste versjon"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Du kan installere %s oppdatering"
-msgstr[1] "Du kan installere %s oppdateringer"
-
-#: src/model.py:59
+#: model/updater.py:59
 #, fuzzy
 msgid "None"
 msgstr "Ingen"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr ""
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Laster inn grupper..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Henter %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 #, fuzzy
 msgid "Activity Group"
 msgstr "Aktivitetsgruppe"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Lokale aktiviteter"
 
-#: src/model.py:367
-#, python-format
-#, fuzzy
+#: model/updater.py:367
+#, fuzzy, python-format
 msgid "At version %s"
 msgstr "PÃ¥ versjon %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Fra version %(old)d til %(new)d (Størrelse: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Ny version %(version)s (Størrelse: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Sjekker %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Ny gruppe"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d oppdateringer tilgjengelig.  Størrelse: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Ikke tillatt å sette listen over oppdateringer."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Bare 'set' operasjonen er definert for denne nøkkelen."
 
-#: src/model.py:768
+#: model/updater.py:768
 #, fuzzy
 msgid "More than one match found for the given activity name or id."
 msgstr "Mer enn ett treff for det angitte aktivitetsnavnet eller id."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "Den angitte aktiviteten er allerede oppdatert."
 
-#: src/model.py:795
+#: model/updater.py:795
 #, fuzzy
 msgid "No activity found with the given name or id."
 msgstr "Ingen aktivitet funnet med det navnet eller id."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Laster net %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Oppdaterer %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Installerer %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Programvareoppdatering"
+
+#: view/updater.py:213
+#, fuzzy
+msgid "_Uncheck All"
+msgstr "_Bortvelg alle"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Velg alle"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "Gruppe URL:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Endre aktivitetsgrupper"
+
+#: view/updater.py:408
+#, fuzzy
+msgid "Install selected"
+msgstr "Innstaller valgte"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Nedlastningsstørrelse: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Prøv igjen"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Avbryter..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Ser etter oppdateringer..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Starter nedlasting..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Programvareoppdateringer fikser feil, fjerner sikkerhetshull og introduserer "
+"ny funksjonalitet."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Laster ned oppdateringer..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Kom ikke inn på nettverket"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Kom ikke inn på nettverket og fikk ikke sjekket etter oppdateringer."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Programvaren din er av nyeste versjon"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Du kan installere %s oppdatering"
+msgstr[1] "Du kan installere %s oppdateringer"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Ser etter lokale aktiviteter..."
diff --git a/po/ne.po b/po/ne.po
index 3a4e321..16b3815 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/nl.po b/po/nl.po
index 06f8a9b..93837df 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-12-12 15:44-0500\n"
 "Last-Translator: Myckel Habets <myckel at sdf.lonestar.org>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,195 +16,195 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Software update"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "Alles _deselecteren"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "Alles _selecteren"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "Groep URL:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Activiteitgroepen bewerken"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Geselecteerde installeren"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Downloadgrootte: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Nogmaals proberen"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Annuleren..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Zoeken naar updates..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Beginnen met downloaden..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Software updates corrigeren fouten, lossen veiligheidslekken op en zorgen "
-"voor nieuwe mogelijkheden."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Updates downloaden..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Downloaden van %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr "Onderzoeken van %s..."
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Installeren van %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Kon het netwerk niet bereiken"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Kon het netwerk niet bereiken om te zien of er updates zijn."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Je software is bijgewerkt"
-
-#: src/view.py:652
-#, 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"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Geen"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr "Zoeken naar lokale activiteiten en inhoud..."
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Laden van groepen..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Ophalen van %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Activiteitgroep"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Lokale activiteiten"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "Op versie %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Van versie %(old)d naar %(new)d (Grootte: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Nieuwe versie %(version)s (Grootte: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Controleren van %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Nieuwe groep"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d updates beschikbaar. Grootte: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Instellen van lijst met updates is niet toegestaan."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Alleen de 'instellen' handeling is voor deze toets gedefinieerd."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr ""
 "Meer dan een overeenkomst voor de opgegeven activiteitsnaam of id gevonden."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "De opgegeven activiteit is al de nieuwste versie."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Geen activiteit met opgegeven naam of id gevonden."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Downloaden van %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr "Onderzoeken van %s..."
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Upgraden van %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Installeren van %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr "Fout tijdens installeren van %s."
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Software update"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "Alles _deselecteren"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "Alles _selecteren"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "Groep URL:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Activiteitgroepen bewerken"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Geselecteerde installeren"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Downloadgrootte: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Nogmaals proberen"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Annuleren..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Zoeken naar updates..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Beginnen met downloaden..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Software updates corrigeren fouten, lossen veiligheidslekken op en zorgen "
+"voor nieuwe mogelijkheden."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Updates downloaden..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Kon het netwerk niet bereiken"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Kon het netwerk niet bereiken om te zien of er updates zijn."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Je software is bijgewerkt"
+
+#: view/updater.py:668
+#, 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"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Zoeken naar lokale activiteiten..."
diff --git a/po/pa.po b/po/pa.po
index 3a4e321..16b3815 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/pap.po b/po/pap.po
index 3a4e321..16b3815 100644
--- a/po/pap.po
+++ b/po/pap.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/pis.po b/po/pis.po
index 3a4e321..16b3815 100644
--- a/po/pis.po
+++ b/po/pis.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/pl.po b/po/pl.po
index 8104405..a0f52ee 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,189 +17,189 @@ msgstr ""
 "|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ps.po b/po/ps.po
index 3a4e321..16b3815 100644
--- a/po/ps.po
+++ b/po/ps.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/pseudo.po b/po/pseudo.po
index bf7a782..502b95c 100644
--- a/po/pseudo.po
+++ b/po/pseudo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/pt.po b/po/pt.po
index 860ee26..5727ec0 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 3a4e321..16b3815 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/qu.po b/po/qu.po
index 3a4e321..16b3815 100644
--- a/po/qu.po
+++ b/po/qu.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ro.po b/po/ro.po
index 4926c0a..6222aa9 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,189 +17,189 @@ msgstr ""
 "== 0) && (n != 0))) ? 2: 1));\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/ru.po b/po/ru.po
index dee7e84..44ffebe 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,200 +6,200 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/rw.po b/po/rw.po
index 3a4e321..16b3815 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/sd.po b/po/sd.po
index 3a4e321..16b3815 100644
--- a/po/sd.po
+++ b/po/sd.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/si.po b/po/si.po
index 7387e65..2cefec6 100644
--- a/po/si.po
+++ b/po/si.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-09-30 08:35-0400\n"
 "Last-Translator: Rashan Anushka <rashan.uoc at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,194 +16,193 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "මෘදුකාංග යාවත්කාල කිරීම"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "සියල්ල නිදහස් කරන්න(_U)"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "සියල්ල ලකුණු කරන්න(_C)"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "සමූහ URL:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "ක්‍රියාකාරකම් සමූහ වෙනස් කරන්න"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "තේරීම ස්ථාපනය කරන්න"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "බාගත ප්‍රමාණය: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "නැවත උත්සහ කරන්න"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "අවලංගු කෙරේ..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "යාවත්කාලීන කිරීම් සඳහා පරික්ෂා කෙරේ..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "බාගත කිරීම ඇරඹේ..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"මෘදුකාංග යාවත්කිරීම මඟින් දෝෂ නිවැරදි වීම, ආරක්ෂණ හිඩැස් වැසීම හා නව ලක්ෂණ "
-"සැපයීම සිදුවේ."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "යාවත්කාලීන කිරීම් බාගතවේ..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "%s බාගත කෙරේ..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "ස්ථාපනය කෙරේ %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "ජාලයට ප්‍රවේශ වීමට නොහැකි විය"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "යාවත්කාලීන කිරීම් සෙවීම සඳහා ජාලයට ප්‍රවේශ වීමට නොහැකි විය."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "ඔබගේ මෘදුකාංගය නවතම තත්ත්වයේ පවතී"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "ඔබට %s යාවත්කාලීන කිරීම ස්ථාපනය කළ හැක"
-msgstr[1] "ඔබට %s යාවත්කාලීන කිරීම් ස්ථාපනය කළ හැක"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "කිසිවක් නැත"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "සමූහ ප්‍රවේශනය වේ..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "%s ඇදගනියි..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "ක්‍රියාකාරකම් සමූහය"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "පෙදෙසි ක්‍රියාකාරකම්"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "%s අනුවාදයේ"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "%(old)d අනුවාදයේ සිට %(new)d (ප්‍රමාණය: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "නව අනුවාදය %(version)s (ප්‍රමාණය: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "%s පරික්ෂා කරමින්..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "නව සමූහය"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "යාවත්කාලීන %(number)d ක් පවතී.  ප්‍රමාණය: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "යාවත්කාලීන ලැයිස්තුව සිටුවම් කිරීමට ඉඩ නොදේ."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "මෙම යතුර සඳහා අර්ථදක්වා ඇත්තේ 'set' ක්‍රියාවලිය පමණි."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "දෙන ලද ක්‍රියාකාරකම් නාමය හෝ id සඳහා ගැළපීම් එකකට වඩා හමු විය."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "දෙන ලද ක්‍රියාකාරකම දැනටමත් යාවත්කාලීනයි."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "දෙන ලද ක්‍රියාකාරකම් නාමය හෝ id සහිත කිසිදු ක්‍රියාකාරකමක් හමු නොවිය."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "%s බාගත කෙරේ..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "යාවත්කාලීන කෙරේ %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "ස්ථාපනය කෙරේ %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "මෘදුකාංග යාවත්කාල කිරීම"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "සියල්ල නිදහස් කරන්න(_U)"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "සියල්ල ලකුණු කරන්න(_C)"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "සමූහ URL:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "ක්‍රියාකාරකම් සමූහ වෙනස් කරන්න"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "තේරීම ස්ථාපනය කරන්න"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "බාගත ප්‍රමාණය: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "නැවත උත්සහ කරන්න"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "අවලංගු කෙරේ..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "යාවත්කාලීන කිරීම් සඳහා පරික්ෂා කෙරේ..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "බාගත කිරීම ඇරඹේ..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"මෘදුකාංග යාවත්කිරීම මඟින් දෝෂ නිවැරදි වීම, ආරක්ෂණ හිඩැස් වැසීම හා නව ලක්ෂණ සැපයීම සිදුවේ."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "යාවත්කාලීන කිරීම් බාගතවේ..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "ජාලයට ප්‍රවේශ වීමට නොහැකි විය"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "යාවත්කාලීන කිරීම් සෙවීම සඳහා ජාලයට ප්‍රවේශ වීමට නොහැකි විය."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "ඔබගේ මෘදුකාංගය නවතම තත්ත්වයේ පවතී"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "ඔබට %s යාවත්කාලීන කිරීම ස්ථාපනය කළ හැක"
+msgstr[1] "ඔබට %s යාවත්කාලීන කිරීම් ස්ථාපනය කළ හැක"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "පෙදෙසි ක්‍රියාකාරකම් සොයා බැලේ..."
diff --git a/po/sk.po b/po/sk.po
index bf7a782..502b95c 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/sl.po b/po/sl.po
index eef7ed1..d057094 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -6,207 +6,207 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-12-09 04:02-0500\n"
 "Last-Translator: Denis OÅ¡tir <denis.ostir at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
-"n%100==4 ? 3 : 0);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
+"%100==4 ? 3 : 0);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Nadgradnja programske opreme"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Odznači vse"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Označi vse"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "Spletni naslov skupine:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Spremeni skupine aktivnosti"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Namesti izbrano"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Velikost prenosa: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Poskusi znova"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Preklicujem ..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Preverjam razpoložljive nadgradnje ..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Začenjam prenos ..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Nadgradnje programske opreme odpravljajo napake, varnostna tveganja in "
-"omogočajo nove možnosti."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Prenašam nadgradnje ..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Prenašam %s ..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Nameščam %s ..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Ni dostopa do omrežja"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Ker ni dostopa do omrežja, preverjanje posodobitev ni možno."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Vaš programski paket je posodobljen"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Namestite lahko %s adgradnjo"
-msgstr[1] "Namestite lahko %s adgradnji"
-msgstr[2] "Namestite lahko %s adgradnje"
-msgstr[3] "Namestite lahko %s adgradenj"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Noben"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Nameščam skupine ..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Pridobivam %s ..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Skupina aktivnosti"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Lokalne aktivnosti"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "Pri različici %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Iz različice %(old)d to %(new)d (Velikost: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Nova različica %(version)s (Velikost: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Preverjam %s ..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Nova skupina"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d nadrgqadenj na voljo.  Velikost: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Ustvarjanje seznama nadgradenj ni dovoljeno."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Za to tipko je definirana le operacija 'določi'."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "Več kot eno ime ali oznaka za to aktivnost."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "Aktivnost je že posodobljena."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Ni aktivnosti s tem imenom ali oznako."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Prenašam %s ..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Nadgrajujem %s ..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Nameščam %s ..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Nadgradnja programske opreme"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Odznači vse"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Označi vse"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "Spletni naslov skupine:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Spremeni skupine aktivnosti"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Namesti izbrano"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Velikost prenosa: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Poskusi znova"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Preklicujem ..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Preverjam razpoložljive nadgradnje ..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Začenjam prenos ..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Nadgradnje programske opreme odpravljajo napake, varnostna tveganja in "
+"omogočajo nove možnosti."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Prenašam nadgradnje ..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Ni dostopa do omrežja"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Ker ni dostopa do omrežja, preverjanje posodobitev ni možno."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Vaš programski paket je posodobljen"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Namestite lahko %s adgradnjo"
+msgstr[1] "Namestite lahko %s adgradnji"
+msgstr[2] "Namestite lahko %s adgradnje"
+msgstr[3] "Namestite lahko %s adgradenj"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Pregledujem lokalne aktivnosti ..."
diff --git a/po/sugar-update-control.pot b/po/sugar-update-control.pot
index 90e4ff5..e2b4520 100644
--- a/po/sugar-update-control.pot
+++ b/po/sugar-update-control.pot
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: sugar-update-control 0.17\n"
+"Project-Id-Version: sugar-update-control 0.17.1\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 16:50-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,189 +17,193 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#. TRANSLATORS: download size is 0
+#: ../model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#. TRANSLATORS: download size of very small updates
+#: ../model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#. TRANSLATORS: download size of small updates, e.g. "250 KB"
+#: ../model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#. TRANSLATORS: download size of updates, e.g. "2.3 MB"
+#: ../model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: ../model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: ../model/updater.py:258 ../model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: ../model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: ../model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: ../model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: ../model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: ../model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: ../model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: ../model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: ../model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: ../model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: ../model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: ../model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: ../model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: ../model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: ../model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: ../model/updater.py:808 ../view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: ../model/updater.py:812 ../view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: ../model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: ../model/updater.py:817 ../view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: ../model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: ../view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: ../view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: ../view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: ../view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: ../view/updater.py:384 ../view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: ../view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: ../view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: ../view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: ../view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: ../view/updater.py:511 ../view/updater.py:537 ../view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: ../view/updater.py:515 ../view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: ../view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: ../view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: ../view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: ../view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: ../view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: ../view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/sv.po b/po/sv.po
index 2d5b7a7..0d0e3c9 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-10-14 08:02-0400\n"
 "Last-Translator: Mattias Ohlsson <mattias_oh at yahoo.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -15,195 +15,195 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Mjukvaruuppdatering"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Avmarkera alla"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Markera alla"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "Gruppurl:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Redigera aktivitetsgrupper"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Installera markerade"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Nedladdningsstorlek: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Försök igen"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Avbryter..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Letar efter uppdateringar..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Börjar ladda ned..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Uppdateringar rättar till fel, tätar till säkerhetshål och ger nya "
-"funktioner till dina aktiviteter."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Laddar ned uppdateringar..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Laddar ned %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Installerar %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr ""
-"Kunde inte komma åt det trådlösa nätverket. (Är du ansluten till Internet?)"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Kunde int ekomma åt Internet för att kolla efter uppdateringar."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Det finns inga nyare versioner av dina aktiviteter tillgängliga."
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Du kan installera %s uppdatering."
-msgstr[1] "Du kan installera %s uppdateringar."
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Inget"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Laddar grupper..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "Hämtar %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Aktivitetsgrupp"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Lokala aktiviteter"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "Versionsnummer %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Från version %(old)d till %(new)d (Storlek: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Ny version %(version)s (Storlek: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Kontrollerar %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Ny grupp"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d uppdateringar tillgängliga.  Storlek: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "Mer en en träff har det aktivitestsnamnet eller -id:t."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "Det finns ingen nyare version av den aktiviteten."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Ingen aktivitet kunde hittas med det namnet eller id:t."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Laddar ned %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Uppgraderar %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Installerar %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Mjukvaruuppdatering"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Avmarkera alla"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Markera alla"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "Gruppurl:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Redigera aktivitetsgrupper"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Installera markerade"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Nedladdningsstorlek: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Försök igen"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Avbryter..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Letar efter uppdateringar..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Börjar ladda ned..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Uppdateringar rättar till fel, tätar till säkerhetshål och ger nya "
+"funktioner till dina aktiviteter."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Laddar ned uppdateringar..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr ""
+"Kunde inte komma åt det trådlösa nätverket. (Är du ansluten till Internet?)"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Kunde int ekomma åt Internet för att kolla efter uppdateringar."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Det finns inga nyare versioner av dina aktiviteter tillgängliga."
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Du kan installera %s uppdatering."
+msgstr[1] "Du kan installera %s uppdateringar."
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Letar efter lokala aktiviteter..."
diff --git a/po/sw.po b/po/sw.po
index e69c0f7..975c6d6 100644
--- a/po/sw.po
+++ b/po/sw.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-11-21 14:49-0500\n"
 "Last-Translator: Fanuel Kalugendo <fanosbert at yahoo.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -15,192 +15,193 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr ""
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_Ziondoe tiki zote"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Tiki zote"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "Kundi URL:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Rekebisha  vikundi kazi"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Ingiza zilizochaguliwa"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Pakua saizi: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Jaribu tena"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Inaghahirisha"
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Inatafuta bora zaidi"
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Imeanza kupakua"
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Inapakua za kisasa zaidi..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "Inapakua %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "Inaweke %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Haikuweza kuufikia mtandao"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Haikuweza kufikia mtandao kwa ajili ya kuangalia za kisasa zaidi."
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr ""
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "Unaweza ingiza %s ya kisasa"
-msgstr[1] "Unaweza ingiza za kisasa"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Hakuna"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Inapakia vikundi"
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr ""
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Vikundi kazi"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Kazi za kienyeji"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr ""
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "Kutoka toleo %(old)d kwenda %(new)d (Saizi: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Toleo jipya %(version)s %(size)s"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "Inatafuta %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Kundi jipya"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d yawakati huu inapatikana._ saizi: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Kutengeneza orodha ya vitu ya wakati huu hairusiwi."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Operesheni ya 'seti' ndio imeelezewa"
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
-msgstr "Kwa jina au (kitambulisho) lililotolewa  zimepatika zaidi ya kazi moja."
+msgstr ""
+"Kwa jina au (kitambulisho) lililotolewa  zimepatika zaidi ya kazi moja."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "Kazi ilotolewa imeshawekwa kiwakati huu"
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Hakuna kazi iliyopatikana kwa jina au (kitambulisho) lililotolewa."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "Inapakua %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "Inaongeza %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "Inaweke %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr ""
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_Ziondoe tiki zote"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Tiki zote"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "Kundi URL:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Rekebisha  vikundi kazi"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Ingiza zilizochaguliwa"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Pakua saizi: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Jaribu tena"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Inaghahirisha"
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Inatafuta bora zaidi"
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Imeanza kupakua"
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Inapakua za kisasa zaidi..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Haikuweza kuufikia mtandao"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Haikuweza kufikia mtandao kwa ajili ya kuangalia za kisasa zaidi."
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Unaweza ingiza %s ya kisasa"
+msgstr[1] "Unaweza ingiza za kisasa"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Inatafuta kazi za kinyeji"
diff --git a/po/te.po b/po/te.po
index 3a4e321..16b3815 100644
--- a/po/te.po
+++ b/po/te.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/th.po b/po/th.po
index 0af7cbc..ee0781f 100644
--- a/po/th.po
+++ b/po/th.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/tpi.po b/po/tpi.po
index 3a4e321..16b3815 100644
--- a/po/tpi.po
+++ b/po/tpi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/tr.po b/po/tr.po
index e60bf6a..752c225 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-09-26 10:17-0400\n"
 "Last-Translator: abdullah kocabas <abdullah.kocabas at abcdizustu.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,194 +16,194 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "Yazılım güncellemesi"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_ Hepsinin onayını kaldır"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_Hepsini onayla"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "URL Grup:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "Aktivite gruplarını değiştir"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "Seçilenleri kur"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "Yükleme boyutu: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "Tekrar Dene"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "Ä°ptal ediliyor..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "Güncellemeler aranıyor..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "Yükleme başlıyor..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr ""
-"Yazılım güncellemeleri hataları düzeltir, güvenlikle ilgili zayıflıkları "
-"giderir ve yeni özellikler kazandırır."
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "Güncellemeler yükleniyor..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "%s yükleniyor..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "%s kuruluyor..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "Ağa bağlanamıyor"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "Güncellemeleri kontrol etmek için ağa bağlanamıyor"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "Yazılımınız güncel"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "%s güncellemeyi kurabilirsiniz"
-msgstr[1] "%s güncellemeleri kurabilirsiniz"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "Hiçbiri"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "Gruplar yükleniyor..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "%s getiriliyor..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "Aktivite grubu"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "Yüklü aktiviteler"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "%s versiyonunda"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "%(old)d versiyonundan %(new)d versiyonuna (ebat: %(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "Yeni versiyon %(version)s (ebat: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "%s kontrol ediliyor..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "Yeni grup"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d güncelleme görünüyor._ ebat: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "Güncelleme listesinin ayarlarıyla oynayamazsınız."
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "Bu tuş için sadece 'ayar' işlemi tanımlıdır."
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "Verilen aktivite adı ya da kimliği için birden fazla eşleme bulundu."
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "Verilen aktivite önceden güncellendi."
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "Verilen ad ya da kimlikte bir aktivite bulunamadı."
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "%s yükleniyor..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "%s güncelleniyor..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "%s kuruluyor..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "Yazılım güncellemesi"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_ Hepsinin onayını kaldır"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_Hepsini onayla"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "URL Grup:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "Aktivite gruplarını değiştir"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "Seçilenleri kur"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "Yükleme boyutu: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "Tekrar Dene"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "Ä°ptal ediliyor..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "Güncellemeler aranıyor..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "Yükleme başlıyor..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Yazılım güncellemeleri hataları düzeltir, güvenlikle ilgili zayıflıkları "
+"giderir ve yeni özellikler kazandırır."
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "Güncellemeler yükleniyor..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "Ağa bağlanamıyor"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "Güncellemeleri kontrol etmek için ağa bağlanamıyor"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "Yazılımınız güncel"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "%s güncellemeyi kurabilirsiniz"
+msgstr[1] "%s güncellemeleri kurabilirsiniz"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "Yüklü aktiviteler için bakılıyor..."
diff --git a/po/ur.po b/po/ur.po
index 5b3f737..552bca8 100644
--- a/po/ur.po
+++ b/po/ur.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-11-13 06:03-0500\n"
 "Last-Translator: salman minhas <sulmanminhas at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,193 +16,193 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "سافٹ وئير اپ ڈيٹ"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "_سب ان چيک"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "_تمام چيک"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "گروپ URL:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "سرگرمی گروپ کو تبديل کريں"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "منتخب کو انسٹال کريں"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "ڈاون لوڈ سائيز: %s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "دوبارہ کوشش کريں"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "ختم کر رہا ہے۔۔۔"
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "اپ ڈيٹس چيک کر رہا ہے۔۔۔"
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "ڈاون لوڈ شروع کر رہا ہے۔۔۔"
-
-#: src/view.py:526
-#, fuzzy
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr "سافٹ وئير اپ ڈيٹ غلطی ٹھيک کريں، اور نيئے پروگرام ہيں۔"
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "اپ ڈيٹس ڈاون لوڈ کر رہا ہے۔۔۔"
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "ڈاون لوڈنگ کر رہا ہے %s..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "انسٹال کر رہا ہے %s..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "نيٹ ورک کو نہيں ديکھہ پا رہا"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "اپ ڈيٹ چيک کرنے کے ليے نيٹ ورک نہيں مل رہا ہے۔"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "آپ کا سافٹ وئیر اپ ٹو ڈيٹ ہے"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "آپ  %sاپ ڈيٹ انسٹال کر سکتے ہو"
-msgstr[1] "آپ  %sاپ ڈيٹ انسٹال کر سکتے ہيں"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "کوئی نہيں"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 kB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "لوڈنگ گروپ۔۔۔"
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "اٹھا رہا ہے %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "سرکرمی گروپ"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "لوکل سرگرمی"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "پر ورژن %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "ورژن سے %(old)d  سے  %(new)d (سائز: %(size)s )"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "نيا ورژن %(version)s (سائز: %(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "ديکھنا %s..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "نیا گروپ"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "%(number)d اپ ڈیٹ موجود ہے۔  سائز: %(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "اپ ڈيٹ کی لسٹ کی سیٹنگز کی اجازت نہيں ہے۔"
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "اس کی کا صرف سيٹ آپريشن ديا ہوا ہے۔"
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "دی ہوئی سرگرمی کے ليے ايک سے زيادہ تلاش ہوئی ہے۔"
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "دی ہوئی سرگرمی پہلے سے ہی اپ ٹو ڈيٹ ہے۔"
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "دی ہوئی آئی ڈی يا نام سے کوئی سرگرمی نہيں ملی ہے۔"
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "ڈاون لوڈنگ کر رہا ہے %s..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "اپ گريڈ کر رہا ہے %s..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "انسٹال کر رہا ہے %s..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "سافٹ وئير اپ ڈيٹ"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "_سب ان چيک"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "_تمام چيک"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "گروپ URL:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "سرگرمی گروپ کو تبديل کريں"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "منتخب کو انسٹال کريں"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "ڈاون لوڈ سائيز: %s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "دوبارہ کوشش کريں"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "ختم کر رہا ہے۔۔۔"
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "اپ ڈيٹس چيک کر رہا ہے۔۔۔"
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "ڈاون لوڈ شروع کر رہا ہے۔۔۔"
+
+#: view/updater.py:542
+#, fuzzy
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "سافٹ وئير اپ ڈيٹ غلطی ٹھيک کريں، اور نيئے پروگرام ہيں۔"
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "اپ ڈيٹس ڈاون لوڈ کر رہا ہے۔۔۔"
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "نيٹ ورک کو نہيں ديکھہ پا رہا"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "اپ ڈيٹ چيک کرنے کے ليے نيٹ ورک نہيں مل رہا ہے۔"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "آپ کا سافٹ وئیر اپ ٹو ڈيٹ ہے"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "آپ  %sاپ ڈيٹ انسٹال کر سکتے ہو"
+msgstr[1] "آپ  %sاپ ڈيٹ انسٹال کر سکتے ہيں"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "لوکل سرگرمی کی تلاش۔۔۔"
diff --git a/po/vi.po b/po/vi.po
index 0af7cbc..ee0781f 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/wa.po b/po/wa.po
index bf7a782..502b95c 100644
--- a/po/wa.po
+++ b/po/wa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/yo.po b/po/yo.po
index 3a4e321..16b3815 100644
--- a/po/yo.po
+++ b/po/yo.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,189 +16,189 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
+#: model/updater.py:59
+msgid "None"
 msgstr ""
 
-#: src/view.py:197
-msgid "_Uncheck All"
+#: model/updater.py:62
+msgid "1 KB"
 msgstr ""
 
-#: src/view.py:203
-msgid "_Check All"
+#: model/updater.py:65
+#, python-format
+msgid "%.0f KB"
 msgstr ""
 
-#: src/view.py:298
-msgid "Group URL:"
+#: model/updater.py:68
+#, python-format
+msgid "%.1f MB"
 msgstr ""
 
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
+#: model/updater.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/view.py:392
-msgid "Install selected"
+#: model/updater.py:258 model/updater.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: src/view.py:412
+#: model/updater.py:278
 #, python-format
-msgid "Download size: %s"
+msgid "Fetching %s..."
 msgstr ""
 
-#: src/view.py:445
-msgid "Try again"
+#: model/updater.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: src/view.py:477
-msgid "Cancelling..."
+#: model/updater.py:326
+msgid "Local activities"
 msgstr ""
 
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
+#: model/updater.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
+#: model/updater.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: model/updater.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: src/view.py:561
-msgid "Downloading updates..."
+#: model/updater.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
+#: model/updater.py:578
+msgid "New group"
 msgstr ""
 
-#: src/view.py:589 src/model.py:812
+#: model/updater.py:743
 #, python-format
-msgid "Examining %s..."
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
+#: model/updater.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: src/view.py:642
-msgid "Could not access the network"
+#: model/updater.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
+#: model/updater.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: src/view.py:649
-msgid "Your software is up-to-date"
+#: model/updater.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+#: model/updater.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
 
-#: src/model.py:59
-msgid "None"
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
 msgstr ""
 
-#: src/model.py:62
-msgid "1 KB"
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: src/model.py:65
+#: model/updater.py:815
 #, python-format
-msgid "%.0f KB"
+msgid "Upgrading %s..."
 msgstr ""
 
-#: src/model.py:68
+#: model/updater.py:817 view/updater.py:608
 #, python-format
-msgid "%.1f MB"
+msgid "Installing %s..."
 msgstr ""
 
-#: src/model.py:255
-msgid "Looking for local activities and content..."
+#: model/updater.py:821
+#, python-format
+msgid "Error installing %s."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
-msgid "Loading groups..."
+#: view/updater.py:74
+msgid "Software update"
 msgstr ""
 
-#: src/model.py:278
-#, python-format
-msgid "Fetching %s..."
+#: view/updater.py:213
+msgid "_Uncheck All"
 msgstr ""
 
-#: src/model.py:296
-msgid "Activity Group"
+#: view/updater.py:219
+msgid "_Check All"
 msgstr ""
 
-#: src/model.py:326
-msgid "Local activities"
+#: view/updater.py:314
+msgid "Group URL:"
 msgstr ""
 
-#: src/model.py:367
-#, python-format
-msgid "At version %s"
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
 msgstr ""
 
-#: src/model.py:370
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: view/updater.py:408
+msgid "Install selected"
 msgstr ""
 
-#: src/model.py:422
+#: view/updater.py:428
 #, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+msgid "Download size: %s"
 msgstr ""
 
-#: src/model.py:437
-#, python-format
-msgid "Checking %s..."
+#: view/updater.py:461
+msgid "Try again"
 msgstr ""
 
-#: src/model.py:578
-msgid "New group"
+#: view/updater.py:493
+msgid "Cancelling..."
 msgstr ""
 
-#: src/model.py:743
-#, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
 msgstr ""
 
-#: src/model.py:750
-msgid "Setting the list of updates is not permitted."
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
 msgstr ""
 
-#: src/model.py:755
-msgid "Only the 'set' operation for this key is defined."
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: src/model.py:768
-msgid "More than one match found for the given activity name or id."
+#: view/updater.py:577
+msgid "Downloading updates..."
 msgstr ""
 
-#: src/model.py:770
-msgid "The given activity is already up-to-date."
+#: view/updater.py:658
+msgid "Could not access the network"
 msgstr ""
 
-#: src/model.py:795
-msgid "No activity found with the given name or id."
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: src/model.py:815
-#, python-format
-msgid "Upgrading %s..."
+#: view/updater.py:665
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: src/model.py:821
+#: view/updater.py:668
 #, python-format
-msgid "Error installing %s."
-msgstr ""
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 14cc819..c8fad25 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-11-24 22:17-0500\n"
 "Last-Translator: Alice Zhang <zhl924505 at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,191 +16,191 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Pootle 1.1.0rc2\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "软件更新"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "全不选(_U)"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "全选(_C)"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "群组网址:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "更改活动群组"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "安装选中项目"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "下载大小:%s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "再试一次"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "取消中。。。"
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "检查更新中..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "开始下载..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr "软件更新可更正软件错误、消除安全隐患和提供新功能。"
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "下载更新中..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "下载%s中。。。"
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "安装%s中。。。"
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "无法连上网络"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "无法连上网络检查更新。"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "您的软件已是最新版本"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "您可以安裝 %s 项更新"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "æ— "
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "载入组别..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "获取 %s..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "活动小组"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "本地活动"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "版本为%s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "由 %(old)d 版升級到 %(new)d 版 (大小:%(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "新版本 %(version)s (大小:%(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "检查%s中。。。"
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "新群组"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "目前有 %(number)d 项更新,大小为:%(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "不允许设定更新列表。"
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "该键值只有'set'操作被定义。"
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "给定的活动名称或ID有多于一项符合的资料。"
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "选定的活动已是最新版本。"
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "给定的活动名称或ID没有符合的资料。"
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "下载%s中。。。"
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "更新%s中。。。"
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "安装%s中。。。"
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "软件更新"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "全不选(_U)"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "全选(_C)"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "群组网址:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "更改活动群组"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "安装选中项目"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "下载大小:%s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "再试一次"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "取消中。。。"
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "检查更新中..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "开始下载..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "软件更新可更正软件错误、消除安全隐患和提供新功能。"
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "下载更新中..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "无法连上网络"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "无法连上网络检查更新。"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "您的软件已是最新版本"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "您可以安裝 %s 项更新"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "搜寻本地活动..."
diff --git a/po/zh_TW.po b/po/zh_TW.po
index d776139..b420822 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"POT-Creation-Date: 2008-12-17 15:14-0500\n"
 "PO-Revision-Date: 2008-10-01 15:28+0100\n"
 "Last-Translator: Yuan CHAO <yuanchao at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,192 +16,192 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Translate Toolkit 1.1.1rc4\n"
 
-#: src/__init__.py:21 src/view.py:58
-msgid "Software update"
-msgstr "軟體更新"
-
-#: src/view.py:197
-msgid "_Uncheck All"
-msgstr "全不選(_U)"
-
-#: src/view.py:203
-msgid "_Check All"
-msgstr "全選(_C)"
-
-#: src/view.py:298
-msgid "Group URL:"
-msgstr "群組網址:"
-
-#: src/view.py:368 src/view.py:543
-msgid "Modify activity groups"
-msgstr "修改活動群組"
-
-#: src/view.py:392
-msgid "Install selected"
-msgstr "安裝所選擇的項目"
-
-#: src/view.py:412
-#, python-format
-msgid "Download size: %s"
-msgstr "下載大小:%s"
-
-#: src/view.py:445
-msgid "Try again"
-msgstr "再試一次"
-
-#: src/view.py:477
-msgid "Cancelling..."
-msgstr "取消中..."
-
-#: src/view.py:495 src/view.py:521 src/view.py:612
-msgid "Checking for updates..."
-msgstr "檢查更新中..."
-
-#: src/view.py:499 src/view.py:563
-msgid "Starting download..."
-msgstr "開始下載..."
-
-#: src/view.py:526
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
-msgstr "軟體更新會更正軟體的錯誤、消除安全弱點並增加新的功能"
-
-#: src/view.py:561
-msgid "Downloading updates..."
-msgstr "下載更新中..."
-
-#: src/view.py:584 src/model.py:808
-#, python-format
-msgid "Downloading %s..."
-msgstr "下載中..."
-
-#: src/view.py:589 src/model.py:812
-#, python-format
-msgid "Examining %s..."
-msgstr ""
-
-#: src/view.py:592 src/model.py:817
-#, python-format
-msgid "Installing %s..."
-msgstr "安裝 %s 中..."
-
-#: src/view.py:642
-msgid "Could not access the network"
-msgstr "無法連上網路"
-
-#: src/view.py:644
-msgid "Could not access the network to check for updates."
-msgstr "無法連上網路檢查更新"
-
-#: src/view.py:649
-msgid "Your software is up-to-date"
-msgstr "您的軟體已是最新版本"
-
-#: src/view.py:652
-#, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] "您可以安裝 %s 項更新"
-msgstr[1] "您可以安裝 %s 項更新"
-
-#: src/model.py:59
+#: model/updater.py:59
 msgid "None"
 msgstr "ç„¡"
 
-#: src/model.py:62
+#: model/updater.py:62
 msgid "1 KB"
 msgstr "1 KB"
 
-#: src/model.py:65
+#: model/updater.py:65
 #, python-format
 msgid "%.0f KB"
 msgstr "%.0f KB"
 
-#: src/model.py:68
+#: model/updater.py:68
 #, python-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/model.py:255
+#: model/updater.py:255
 msgid "Looking for local activities and content..."
 msgstr ""
 
-#: src/model.py:258 src/model.py:268
+#: model/updater.py:258 model/updater.py:268
 msgid "Loading groups..."
 msgstr "載入群組中..."
 
-#: src/model.py:278
+#: model/updater.py:278
 #, python-format
 msgid "Fetching %s..."
 msgstr "讀取 %s 中..."
 
-#: src/model.py:296
+#: model/updater.py:296
 msgid "Activity Group"
 msgstr "活動活動"
 
-#: src/model.py:326
+#: model/updater.py:326
 msgid "Local activities"
 msgstr "本地端的活動"
 
-#: src/model.py:367
+#: model/updater.py:367
 #, python-format
 msgid "At version %s"
 msgstr "版本為 %s"
 
-#: src/model.py:370
+#: model/updater.py:370
 #, python-format
 msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr "由 %(old)d 版升級到 %(new)d 版 (大小:%(size)s)"
 
-#: src/model.py:422
+#: model/updater.py:422
 #, python-format
 msgid "New version %(version)s (Size: %(size)s)"
 msgstr "新版本 %(version)s (大小為:%(size)s)"
 
-#: src/model.py:437
+#: model/updater.py:437
 #, python-format
 msgid "Checking %s..."
 msgstr "檢查 %s 中..."
 
-#: src/model.py:578
+#: model/updater.py:578
 msgid "New group"
 msgstr "新增群組"
 
-#: src/model.py:743
+#: model/updater.py:743
 #, python-format
 msgid "%(number)d updates available.  Size: %(size)s"
 msgstr "目前有 %(number)d 項更新,大小為:%(size)s"
 
-#: src/model.py:750
+#: model/updater.py:750
 msgid "Setting the list of updates is not permitted."
 msgstr "不允許設定更新列表"
 
-#: src/model.py:755
+#: model/updater.py:755
 msgid "Only the 'set' operation for this key is defined."
 msgstr "本鍵值只能進行 'set' 動作"
 
-#: src/model.py:768
+#: model/updater.py:768
 msgid "More than one match found for the given activity name or id."
 msgstr "給定的活動名稱或ID有多於一筆符合的資料"
 
-#: src/model.py:770
+#: model/updater.py:770
 msgid "The given activity is already up-to-date."
 msgstr "選定的活動已是最新版本"
 
-#: src/model.py:795
+#: model/updater.py:795
 msgid "No activity found with the given name or id."
 msgstr "給定的活動名稱或ID沒有符合的資料"
 
-#: src/model.py:815
+#: model/updater.py:808 view/updater.py:600
+#, python-format
+msgid "Downloading %s..."
+msgstr "下載中..."
+
+#: model/updater.py:812 view/updater.py:605
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: model/updater.py:815
 #, python-format
 msgid "Upgrading %s..."
 msgstr "更新 %s 中..."
 
-#: src/model.py:821
+#: model/updater.py:817 view/updater.py:608
+#, python-format
+msgid "Installing %s..."
+msgstr "安裝 %s 中..."
+
+#: model/updater.py:821
 #, python-format
 msgid "Error installing %s."
 msgstr ""
 
+#: view/updater.py:74
+msgid "Software update"
+msgstr "軟體更新"
+
+#: view/updater.py:213
+msgid "_Uncheck All"
+msgstr "全不選(_U)"
+
+#: view/updater.py:219
+msgid "_Check All"
+msgstr "全選(_C)"
+
+#: view/updater.py:314
+msgid "Group URL:"
+msgstr "群組網址:"
+
+#: view/updater.py:384 view/updater.py:559
+msgid "Modify activity groups"
+msgstr "修改活動群組"
+
+#: view/updater.py:408
+msgid "Install selected"
+msgstr "安裝所選擇的項目"
+
+#: view/updater.py:428
+#, python-format
+msgid "Download size: %s"
+msgstr "下載大小:%s"
+
+#: view/updater.py:461
+msgid "Try again"
+msgstr "再試一次"
+
+#: view/updater.py:493
+msgid "Cancelling..."
+msgstr "取消中..."
+
+#: view/updater.py:511 view/updater.py:537 view/updater.py:628
+msgid "Checking for updates..."
+msgstr "檢查更新中..."
+
+#: view/updater.py:515 view/updater.py:579
+msgid "Starting download..."
+msgstr "開始下載..."
+
+#: view/updater.py:542
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "軟體更新會更正軟體的錯誤、消除安全弱點並增加新的功能"
+
+#: view/updater.py:577
+msgid "Downloading updates..."
+msgstr "下載更新中..."
+
+#: view/updater.py:658
+msgid "Could not access the network"
+msgstr "無法連上網路"
+
+#: view/updater.py:660
+msgid "Could not access the network to check for updates."
+msgstr "無法連上網路檢查更新"
+
+#: view/updater.py:665
+msgid "Your software is up-to-date"
+msgstr "您的軟體已是最新版本"
+
+#: view/updater.py:668
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "您可以安裝 %s 項更新"
+msgstr[1] "您可以安裝 %s 項更新"
+
 #~ msgid "Looking for local activities..."
 #~ msgstr "搜尋本地端活動中..."

commit a8a1cd23c2375de26641cc2a89d3d89995bb7e1f
Author: C. Scott Ananian <cscott at laptop.org>
Date:   Wed Dec 17 16:59:37 2008 -0500

    Build and distribute i18n files.

diff --git a/dist_extra/README b/dist_extra/README
new file mode 100644
index 0000000..88d6d01
--- /dev/null
+++ b/dist_extra/README
@@ -0,0 +1,42 @@
+python-distutils-extra can be used with python's distutils or the enhanced
+setuptools.
+
+1. DISTUTILS
+
+To make use of the distutils extenstions, you have to import the corresponding methods at the beginning of your setup.py:
+
+from DistUtilsExtra.command import *
+
+Furthermore you have to map the methods to the extended ones:
+
+cmdclass = { "build" : build_extra.build_extra,
+             "build_i18n" :  build_i18n.build_i18n }
+
+If you have replaced the default build command by build_extra and defined the other commands e.g. build_i18n, the sub commands e.g. will be called automatically. There is no need to enable them in the setup.cfg anymore (This was require in a previous version). Disabling imported commands in the setup.cfg is still possible:
+
+[build]
+i18n=False
+
+See the setup.cfg.example for a more complex layout.
+
+Currently there are the following extensions available:
+
+build_extra: initiates the extensions
+build_i18n: provides gettext integration
+build_icons: installs icons
+build_help: installs a docbook based documentation
+
+2. SETUPTOOLS
+
+Just enable the corresponding build target in the setup.cfg:
+
+[build]
+i18n=True
+help=True
+icons=True
+
+No further imports or modifications are required.
+
+I hope that this code could help you to make your live easier,
+
+Sebastian
diff --git a/dist_extra/__init__.py b/dist_extra/__init__.py
new file mode 100644
index 0000000..a479a70
--- /dev/null
+++ b/dist_extra/__init__.py
@@ -0,0 +1,5 @@
+__all__ = ["build_extra",
+           "build_i18n",
+           "build_icons",
+           "build_help",
+           "clean_i18n"]
diff --git a/dist_extra/build_extra.py b/dist_extra/build_extra.py
new file mode 100644
index 0000000..765db10
--- /dev/null
+++ b/dist_extra/build_extra.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+
+import distutils
+import glob
+import os
+import os.path
+import re
+import sys
+import distutils.command.build
+
+class build_extra(distutils.command.build.build):
+    """Adds the extra commands to the build target. This class should be used
+       with the core distutils"""
+    def __init__(self, dist):
+        distutils.command.build.build.__init__(self, dist)
+
+        self.user_options.extend([("i18n", None, "use the localsation"),
+                                  ("icons", None, "use icons"),
+                                  ("help", None, "use help system")])
+    def initialize_options(self):
+        distutils.command.build.build.initialize_options(self)
+        self.i18n = False
+        self.icons = False
+        self.help = False
+
+    def finalize_options(self):
+        def has_help(command):
+            return self.help == "True" or \
+                   (self.distribution.cmdclass.has_key("build_help") and not \
+                    self.help == "False")
+        def has_icons(command):
+            return self.icons == "True" or \
+                   (self.distribution.cmdclass.has_key("build_icons") and not \
+                    self.help == "False")
+        def has_i18n(command):
+            return self.i18n == "True" or \
+                   (self.distribution.cmdclass.has_key("build_i18n") and not \
+                    self.i18n == "False")
+        distutils.command.build.build.finalize_options(self)
+        self.sub_commands.append(("build_i18n", has_i18n))
+        self.sub_commands.append(("build_icons", has_icons))
+        self.sub_commands.append(("build_help", has_help))
+
+class build(build_extra):
+    """Adds the extra commands to the build target. This class should be
+       used with setuptools."""
+    def finalize_options(self):
+        def has_help(command):
+            return self.help == "True"
+        def has_icons(command):
+            return self.icons == "True"
+        def has_i18n(command):
+            return self.i18n == "True"
+        distutils.command.build.build.finalize_options(self)
+        self.sub_commands.append(("build_i18n", has_i18n))
+        self.sub_commands.append(("build_icons", has_icons))
+        self.sub_commands.append(("build_help", has_help))
diff --git a/dist_extra/build_help.py b/dist_extra/build_help.py
new file mode 100644
index 0000000..0e78947
--- /dev/null
+++ b/dist_extra/build_help.py
@@ -0,0 +1,44 @@
+"""distutils_extra.command.build_help
+
+Implements the Distutils 'build_help' command."""
+
+import distutils
+import glob
+import os
+import os.path
+import re
+import sys
+import distutils.command.build
+
+class build_help(distutils.cmd.Command):
+
+    description = "install a docbook based documentation"
+
+    user_options= [('help_dir', None, 'help directory of the source tree')]
+
+    def initialize_options(self):
+        self.help_dir = None
+
+    def finalize_options(self):
+        if self.help_dir is None:
+            self.help_dir = os.path.join("help")
+
+    def run(self):
+        data_files = self.distribution.data_files
+
+        self.announce("Setting up help files...")
+        for filepath in glob.glob("help/*"):
+            lang = filepath[len("help/"):]
+            self.announce(" Language: %s" % lang)
+            path_xml = os.path.join("share/gnome/help",
+                                    self.distribution.metadata.name,
+                                    lang)
+            path_figures = os.path.join("share/gnome/help",
+                                        self.distribution.metadata.name,
+                                        lang, "figures")
+            data_files.append((path_xml, (glob.glob("%s/*.xml" % filepath))))
+            data_files.append((path_figures,
+                               (glob.glob("%s/figures/*.png" % filepath))))
+        data_files.append((os.path.join('share/omf',
+                                         self.distribution.metadata.name),
+                           glob.glob("help/*/*.omf")))
diff --git a/dist_extra/build_i18n.py b/dist_extra/build_i18n.py
new file mode 100644
index 0000000..8906063
--- /dev/null
+++ b/dist_extra/build_i18n.py
@@ -0,0 +1,135 @@
+"""distutils_extra.command.build_i18n
+
+Implements the Distutils 'build_i18n' command."""
+
+import distutils
+import glob
+import os
+import os.path
+import re
+import sys
+import distutils.command.build
+
+class build_i18n(distutils.cmd.Command):
+
+    description = "integrate the gettext framework"
+
+    user_options = [('desktop-files=', None, '.desktop.in files that '
+                                             'should be merged'),
+                    ('xml-files=', None, '.xml.in files that should be '
+                                         'merged'),
+                    ('schemas-files=', None, '.schemas.in files that '
+                                             'should be merged'),
+                    ('ba-files=', None, 'bonobo-activation files that '
+                                        'should be merged'),
+                    ('rfc822deb-files=', None, 'RFC822 files that should '
+                                               'be merged'),
+                    ('key-files=', None, '.key.in files that should be '
+                                         'merged'),
+                    ('domain=', 'd', 'gettext domain'),
+                    ('merge-po', 'm', 'merge po files against template'),
+                    ('po-dir=', 'p', 'directory that holds the i18n files'),
+                    ('copyright=', None, 'copyright holder for the package'),
+                    ('bug-contact=', None, 'contact address for msgid bugs')]
+
+    boolean_options = ['merge-po']
+
+    def initialize_options(self):
+        self.desktop_files = []
+        self.xml_files = []
+        self.key_files = []
+        self.schemas_files = []
+        self.ba_files = []
+        self.rfc822deb_files = []
+        self.domain = None
+        self.merge_po = False
+        self.bug_contact = None
+        self.copyright = None
+        self.po_dir = None
+
+    def finalize_options(self):
+        if self.domain is None:
+            self.domain = self.distribution.metadata.name
+        if self.po_dir is None:
+            self.po_dir = "po"
+
+    def run(self):
+        """
+        Update the language files, generate mo files and add them
+        to the to be installed files
+        """
+        data_files = self.distribution.data_files
+
+        xgettextargs='--add-comments=TRANSLATORS '
+        xgettextargs+='--package-name="%s" ' % \
+                       self.distribution.metadata.name
+        xgettextargs+='--package-version="%s" ' % \
+                       self.distribution.metadata.version
+        if self.bug_contact is not None:
+            xgettextargs += '--msgid-bugs-address="%s" ' % \
+                            self.bug_contact
+        if self.copyright is not None:
+            xgettextargs += '--copyright-holder="%s" ' % \
+                            self.copyright
+        if xgettextargs:
+            os.environ["XGETTEXT_ARGS"] = xgettextargs
+            print xgettextargs
+
+        # Print a warning if there is a Makefile that would overwrite our
+        # values
+        if os.path.exists("%s/Makefile" % self.po_dir):
+            self.announce("""
+WARNING: Intltool will use the values specified from the
+         existing po/Makefile in favor of the vaules
+         from setup.cfg.
+         Remove the Makefile to avoid problems.""")
+
+        # Update po(t) files and print a report
+        # We have to change the working dir to the po dir for intltool
+        cmd = ["intltool-update", (self.merge_po and "-r" or "-p"), "-g", self.domain]
+        wd = os.getcwd()
+        os.chdir(self.po_dir)
+        self.spawn(cmd)
+        os.chdir(wd)
+
+        for po_file in glob.glob("%s/*.po" % self.po_dir):
+            lang = os.path.basename(po_file[:-3])
+            mo_dir =  os.path.join("build", "mo", lang, "LC_MESSAGES")
+            mo_file = os.path.join(mo_dir, "%s.mo" % self.domain)
+            if not os.path.exists(mo_dir):
+                os.makedirs(mo_dir)
+            cmd = ["msgfmt", po_file, "-o", mo_file]
+            self.spawn(cmd)
+
+            targetpath = os.path.join("share/locale", lang, "LC_MESSAGES")
+            data_files.append((targetpath, (mo_file,)))
+
+        # merge .in with translation
+        for (option, switch) in ((self.xml_files, "-x"),
+                                 (self.desktop_files, "-d"),
+                                 (self.schemas_files, "-s"),
+                                 (self.rfc822deb_files, "-r"),
+                                 (self.ba_files, "-b"),
+                                 (self.key_files, "-k"),):
+            try:
+                file_set = eval(option)
+            except:
+                continue
+            for (target, files) in file_set:
+                build_target = os.path.join("build", target)
+                if not os.path.exists(build_target): 
+                    os.makedirs(build_target)
+                files_merged = []
+                for file in files:
+                    if file.endswith(".in"):
+                        file_merged = os.path.basename(file[:-3])
+                    else:
+                        file_merged = os.path.basename(file)
+                    file_merged = os.path.join(build_target, file_merged)
+                    cmd = ["intltool-merge", switch, self.po_dir, file, 
+                           file_merged]
+                    self.spawn(cmd)
+                    files_merged.append(file_merged)
+                data_files.append((target, files_merged))
+
+# class build
diff --git a/dist_extra/build_icons.py b/dist_extra/build_icons.py
new file mode 100644
index 0000000..80333ec
--- /dev/null
+++ b/dist_extra/build_icons.py
@@ -0,0 +1,43 @@
+"""distutils_extra.command.build_icons
+
+Implement DistutilsExtra's 'build_icons' command.
+"""
+
+# Created by Sebastian Heinlein 
+
+__revision__ = "$Id$"
+
+import distutils
+import glob
+import os
+import os.path
+import re
+import sys
+import distutils.command.build
+
+class build_icons(distutils.cmd.Command):
+
+    description = "select all icons for installation"
+
+    user_options= [('icon-dir=', 'i', 'icon directory of the source tree')]
+
+    def initialize_options(self):
+        self.icon_dir = None
+
+    def finalize_options(self):
+        if self.icon_dir is None:
+            self.icon_dir = os.path.join("data","icons")
+
+    def run(self):
+        data_files = self.distribution.data_files
+
+        for size in glob.glob(os.path.join(self.icon_dir, "*")):
+            for category in glob.glob(os.path.join(size, "*")):
+                icons = []
+                for icon in glob.glob(os.path.join(category,"*")):
+                    icons.append(icon)
+                    data_files.append(("share/icons/hicolor/%s/%s" % \
+                                       (os.path.basename(size), \
+                                        os.path.basename(category)), \
+                                        icons))
+# class build
diff --git a/dist_extra/clean_i18n.py b/dist_extra/clean_i18n.py
new file mode 100644
index 0000000..a6173ba
--- /dev/null
+++ b/dist_extra/clean_i18n.py
@@ -0,0 +1,36 @@
+"""distutils_extra.command.clean_i18n
+
+Implements the Distutils 'clean_i18n' command."""
+
+import os.path, os
+from distutils.dir_util import remove_tree
+import distutils.command.clean
+
+class clean_i18n(distutils.command.clean.clean):
+
+    description = "clean up files generated by build_i18n"
+
+    def run(self):
+        # clean build/mo
+        mo_dir =  os.path.join("build", "mo")
+        if os.path.isdir(mo_dir):
+            remove_tree('build/mo')
+
+        # clean built i18n files
+        for setname in ('xml_files', 'desktop_files', 'schemas_files',
+            'rfc822deb_files', 'ba_files', 'key_files'):
+            file_set = eval(self.distribution.get_option_dict('build_i18n').get(setname, (None, '[]'))[1])
+            for (target, files) in file_set:
+                build_target = os.path.join("build", target)
+                for file in files:
+                    if file.endswith(".in"):
+                        file_merged = os.path.basename(file[:-3])
+                    else:
+                        file_merged = os.path.basename(file)
+                    file_merged = os.path.join(build_target, file_merged)
+                    if os.path.exists(file_merged):
+                        os.unlink(file_merged)
+                if os.path.exists(build_target):
+                    os.removedirs(build_target)
+
+        distutils.command.clean.clean.run(self)
diff --git a/dist_extra/copyright b/dist_extra/copyright
new file mode 100644
index 0000000..6ea2e21
--- /dev/null
+++ b/dist_extra/copyright
@@ -0,0 +1,26 @@
+This is python-distutils-extra, written and maintained by Sebastian Heinlein <glatzor at ubuntu.com>
+on Sun,  3 Sep 2006 20:26:28 +0200.
+
+The original source can always be found at:
+	http://bzr.glatzor.de/python-distutils-extra/main
+
+Copyright: (c) 2007, 2008 Sebastian Heinlein
+
+License:
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this package; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
diff --git a/dist_extra/setup.cfg.example b/dist_extra/setup.cfg.example
new file mode 100644
index 0000000..683d5df
--- /dev/null
+++ b/dist_extra/setup.cfg.example
@@ -0,0 +1,8 @@
+[build]
+icons=False
+help=True
+
+[build_i18n]
+domain=update-manager
+desktop_files=[("share/applications", ("data/update-manager.desktop.in",))]
+schemas_files=[("share/gconf/schemas", ("data/update-manager.schemas.in",))]
diff --git a/dist_extra/setup.py.example b/dist_extra/setup.py.example
new file mode 100644
index 0000000..b63c6e8
--- /dev/null
+++ b/dist_extra/setup.py.example
@@ -0,0 +1,31 @@
+#!/usr/bin/env python
+
+from distutils.core import setup
+import glob
+import os
+from DistUtilsExtra.command import *
+
+setup(name='software-properties',
+      version='0.50',
+      packages=[
+                'softwareproperties',
+                'softwareproperties.gtk',
+                'softwareproperties.kde',
+                ],
+      scripts=[
+               'software-properties-gtk',
+               'software-properties-kde',
+               ],
+      data_files=[
+                  ('share/software-properties/designer',
+                   glob.glob("data/designer/*.ui")
+                  ),
+                  ('share/software-properties/glade',
+                   glob.glob("data/glade/*.glade")
+                  ),
+                  ],
+      cmdclass = { "build" : build_extra.build_extra,
+                   "build_i18n" :  build_i18n.build_i18n,
+                   "build_help" :  build_help.build_help,
+                   "build_icons" :  build_icons.build_icons }
+     )
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..98eaef1
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,2 @@
+model/updater.py
+view/updater.py
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..0b61c88
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,3 @@
+[build_i18n]
+bug_contact=cscott at laptop.org
+copyright=One Laptop per Child Association, Inc.
diff --git a/setup.py b/setup.py
index ebdace0..7de3099 100644
--- a/setup.py
+++ b/setup.py
@@ -1,4 +1,5 @@
 #!/usr/bin/python2.5
+from dist_extra import * # gettext support
 from distutils.core import setup
 setup(name='sugar-update-control',
       version="0.17",
@@ -14,4 +15,6 @@ setup(name='sugar-update-control',
                   ('/usr/share/sugar/data/icons',
                    ['module-updater.svg']),
                   ],
+      cmdclass = { "build" : build_extra.build_extra,
+                   "build_i18n" :  build_i18n.build_i18n },
       )
diff --git a/sugar-update-control.spec b/sugar-update-control.spec
index 0979782..5f43396 100644
--- a/sugar-update-control.spec
+++ b/sugar-update-control.spec
@@ -14,6 +14,7 @@ Source0: %{name}-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Requires: %{PYTHON_NAME} >= %{PYTHON_VERSION}, %{PYTHON_NAME} < %{NEXT_PYTHON_VERSION}, olpc-update >= 2.13, sugar >= 0.81.8
 BuildPrereq: %{PYTHON_NAME}-devel >= 2.5
+BuildRequires: gettext, intltool
 BuildArch: noarch
 
 %description
@@ -32,11 +33,12 @@ mkdir -p $RPM_BUILD_ROOT
 python2.5 setup.py install --root=$RPM_BUILD_ROOT
 # avoid conflicts
 rm $RPM_BUILD_ROOT/usr/lib/python2.5/site-packages/{bitfrost,bitfrost/update,bitfrost/util}/__init__.py*
+%find_lang %{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%files
+%files -f %{name}.lang
 %defattr(-,root,root,-)
 %doc README COPYING
 

commit 713715faf347279aa9fa8b460a3373fe167407a4
Author: C. Scott Ananian <cscott at laptop.org>
Date:   Wed Dec 17 15:14:11 2008 -0500

    Import translations from 'master' 0af964c6a7f227c4c172065f1b397f01dda3b706.

diff --git a/po/af.po b/po/af.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/af.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/am.po b/po/am.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/am.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ar.po b/po/ar.po
new file mode 100644
index 0000000..6c1b3a2
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,212 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-09-25 14:22-0400\n"
+"Last-Translator: Khaled Hosny <khaledhosny at eglug.org>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n>=3 && "
+"n<=10 ? 3 : n>=11 && n<=99 ? 4 : 5;\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "تحديث البرمجيات"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "ارفع إ_شارة الكل"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "أشّر ال_كل"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "مسار المجموعة:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "عدّل مجموعات الأنشطة"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "ثبّت المُحدد"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "حجم التنزيل: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "أعِد المحاولة"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "يُلغي..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "يلتمس التحديثات..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "يبدأ التنزيل..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "تحديث البرمجيات يصلح الأخطاء، ويزيل الثغرات الأمنية ويقدم خصائص جديدة."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "يُنزّل التحديثات..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "يُنزّل %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "يُثبّت %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "تعذّر النفاذ إلى الشبكة"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "تعذّر النفاذ إلى الشبكة لالتماس التحديثات"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "برمجيّاتك محدّثة"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "لا توجد تحديثات لتثبيتها"
+msgstr[1] "يمكنك تثبيت تحديث واحد"
+msgstr[2] "يمكنك تثبيت تحديثين"
+msgstr[3] "يمكنك تثبيت %s تحديثات"
+msgstr[4] "يمكنك تثبيت %s تحديثا"
+msgstr[5] "يمكنك تثبيت %s تحديث"
+
+#: src/model.py:59
+msgid "None"
+msgstr "لا شيء"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 ك.بايت"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f ك.بايت"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f م.بايت"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "يُحمّل المجموعات"
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "يجلب %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "مجموعة أنشطة"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "الأنشطة المحلية"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "في الإصدارة %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "من الإصدارة %(old)d إلى الإصدارة %(new)d (الحجم: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "الإصدارة الجديدة %(version)s (الحجم: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "يفحص %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "مجموعة جديدة"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "يتوفر %(number)d تحديثات.  الحجم: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "غير مسموح بتحديد قائمة التحديثات."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "لم تُعرّف سوى عملية 'set' لهذا الزر"
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "أكثر من مطابقة لاسم أو معرّف النشاط المعطى"
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "النشاط المعطى محدث بالفعل."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "لم يعثر على نشاط بالاسم أو المعرف المعطى"
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "يُرقّي %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "يبحث عن الأنشطة المحلية..."
diff --git a/po/ay.po b/po/ay.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ay.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..9912a3b
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,215 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-10-22 17:35-0400\n"
+"Last-Translator: Geno Roupsky <groupsky at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+#, fuzzy
+msgid "Software update"
+msgstr "Софтуерно обновяване"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Изключване на всички"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Включване на всички"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "URL на група:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Промяна на групите от занятия"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Инсталиране на избраните"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Размер за сваляне: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Повторен опит"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Прекъсване..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Проверка за обновявания..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Начало на свалянето..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Софтуерните обновявания поправят грешки, премахват дупки в сигурността и "
+"предоставят нови възможности."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Сваляне на обновяванията..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Сваляне %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Инсталиране %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Не може да достигне мрежата"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Не може да достигне мрежата за да провери за обновявания"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Вашият софтуер е обновен"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Можете да инсталирате %s обновяване"
+msgstr[1] "Можете да инсталирате %s обновявания"
+
+#: src/model.py:59
+#, fuzzy
+msgid "None"
+msgstr "Никакъв"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 КБ"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f КБ"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f МБ"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Зареждане на групи..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Зареждане на %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Група от занятия"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Локални занятия"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "На версия %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "От версия %(old)d до %(new)d (размер: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Нова версия %(version)s (размер: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Проверка на %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Нова група"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "Налични са %(number)d обновявания.  Размер: %(size)s"
+
+#: src/model.py:750
+#, fuzzy
+msgid "Setting the list of updates is not permitted."
+msgstr "Не е разрешено променяне на списъка с обновявания."
+
+#: src/model.py:755
+#, fuzzy
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Единствено 'set' операцията е дефинирана за този ключ."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+"Повече от едно съвпадение бе намерено за даденото име на занятие или номер."
+
+#: src/model.py:770
+#, fuzzy
+msgid "The given activity is already up-to-date."
+msgstr "Това занятие е обновено."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Не са намерени занятия за даденото име на занятие или номер."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Обновяване %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Преглеждане за локални занятия..."
diff --git a/po/bi.po b/po/bi.po
new file mode 100644
index 0000000..bf7a782
--- /dev/null
+++ b/po/bi.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/bn.po b/po/bn.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/bn.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/bn_IN.po b/po/bn_IN.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/bn_IN.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..bf7a782
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..f9144cb
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,212 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-11-12 16:43-0500\n"
+"Last-Translator: Markus Schlager <m.slg at gmx.de>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Software-Aktualisierung"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "Alle Markierungen aufheben"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "Alles markieren"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "Gruppen-URL:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Aktivitätengruppen verändern"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Installiere Auswahl"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Download-Größe: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Erneut versuchen"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Abbruch..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Suche nach Aktualisierungen"
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Beginne Download..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Software-Aktualisierungen beheben Fehler, schließen Sicherheitslücken und "
+"bieten neue Funktionen."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Lade Aktualisierungen herunter..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Lade %s herunter..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Installiere %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Konnte nicht auf das Netzwerk zugreifen"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+"Konnte nicht auf das Netzwerk zugreifen, um Aktualisierungen zu suchen. "
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Deine Software ist auf dem neuesten Stand"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Du kannst %s Aktualisierung installieren"
+msgstr[1] "Du kannst %s Aktualisierungen installieren"
+
+#: src/model.py:59
+msgid "None"
+msgstr "keine"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Lade Gruppen..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Hole %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Aktivitätengruppe"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Lokale Aktivitäten"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "In Version %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Von Version %(old)d auf %(new)d (Größe: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Neue Version %(version)s (Größe: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Prüfe %s...."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Neue Gruppe"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d Aktualisierungen verfügbar.  Größe: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Bearbeiten der Aktualisierungsliste ist nicht erlaubt."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Für diesen Schlüssel ist nur die 'set'-Operation definiert."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+"Für die den angegebenen Aktivitätsnamen oder ihre ID wurde mehr als ein "
+"Treffer gefunden."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "Die angegebene Aktivität ist bereits auf dem neuesten Stand."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Zu dem angegebenen Namen oder der ID wurde keine Aktivität gefunden."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Aktualisiere %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Suche nach lokalen Aktivitäten..."
diff --git a/po/dz.po b/po/dz.po
new file mode 100644
index 0000000..0af7cbc
--- /dev/null
+++ b/po/dz.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/el.po b/po/el.po
new file mode 100644
index 0000000..b5f44b0
--- /dev/null
+++ b/po/el.po
@@ -0,0 +1,211 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-09-28 15:17-0400\n"
+"Last-Translator: John Sarlis <sarlis at sch.gr>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Ενημέρωση λογισμικού"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Αποεπιλογή Όλων"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Επιλογή Όλων"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "Ομαδοποίηση Διευθύνσεων:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Τροποποίηση ομάδων δραστηριοτήτων"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Εγκατάσταση επιλεγμένων"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Μέγεθος λήψης: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Ξαναπροσπάθησε"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Ακύρωση..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Έλεγχος για ενημερώσεις..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Έναρξη λήψης..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Οι ενημερώσεις λογισμικού διορθώνουν λάθη, εκμηδενίζουν αστάθειες ασφάλειας "
+"και παρέχουν νέες λειτουργίες."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Λήψη ενημερώσεων..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Λήψη %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Εγκατάσταση %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Δεν υπάρχει πρόσβαση στο δίκτυο"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Δεν υπάρχει πρόσβαση στο δίκτυο για έλεγχο ενημερώσεων"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Το λογισμικό σας είναι ενημερωμένο"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Μπορείς να εγκαταστήσεις %s ενημέρωση"
+msgstr[1] "Μπορείς να εγκαταστήσεις %s ενημερώσεις"
+
+#: src/model.py:59
+msgid "None"
+msgstr "Κανένα"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Φόρτωση ομάδων..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Μεταφορά %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Ομάδα Δραστηριότητας"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Τοπικές δραστηριότητες"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "Στην έκδοση %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Από την έκδοση %(old)d στην έκδοση %(new)d (Μέγεθος: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Νέα έκδοση %(version)s (Μέγεθος: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Έλεγχος %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Νέα ομάδα"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d διαθέσιμες ενημερώσεις.  Μέγεθος: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Η ρύθμιση της λίστας ενημερώσεων δεν επιτρέπεται."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Έχει οριστεί μόνο η λειτουργία «θέσε» γι' αυτό το κλειδί"
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+"Βρέθηκαν περισσότερα του ενός ταιριάσματα για το συγκεκριμένο όνομα ή "
+"ταυτότητα δραστηριότητας."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "Η συγκεκριμένη δραστηριότητα είναι ήδη ενημερωμένη."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Δε βρέθηκε δραστηριότητα με αυτό το όνομα ή ταυτότητα."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Αναβάθμιση %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Αναζήτηση τοπικών δραστηριοτήτων..."
diff --git a/po/en.po b/po/en.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..2ec1bcf
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,212 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-12-09 15:22-0500\n"
+"Last-Translator: Rafael Ortiz <rafael at laptop.org>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Actualización de software"
+
+# best translation available atm
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Quitar todas las marcas"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Marcar todas"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "URL del grupo:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Modificar grupos de actividades"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Instalar la selección"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Tamaño de la descarga: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Trata nuevamente"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Cancelando..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Buscando actualizaciones..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Comenzando la descarga..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"La actualización de software corrige errores, elimina vulnerabilidades de "
+"seguridad y provee nuevas características."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Descargando actualizaciones..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Descargando %s"
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr "Examinando %s..."
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Instalando %s"
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "No se ha podido acceder a la red"
+
+# i think it's the better translation here.
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "No se ha podido acceder a la red para revisar actualizaciones."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Su software está actualizado"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Puede instalar %s actualización "
+msgstr[1] "Puede instalar %s actualizaciones "
+
+#: src/model.py:59
+msgid "None"
+msgstr "Ninguno"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr "Buscando actividades y contenido local..."
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Cargando grupos..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Buscando %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Grupo de la Actividad"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Actividades locales"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "Versión %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "De la versión %(old)d a la %(new)d (Tamaño: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Nueva versión %(version)s (Tamaño: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Comprobando %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Nuevo grupo"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d de actualizaciones disponibles. Tamaño: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Establecer la lista de actualizaciones no está permitido."
+
+# it was backwards..
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Sólo la operación 'establecer'  está definida para esta clave."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "Más de una coincidencia para el nombre de actividad o id, dado."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "La actividad dada ya está actualizada."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "No se encontró una actividad con el nombre o id dado."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Actualizando %s"
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr "Error instalando %s."
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Buscando por actividades locales..."
diff --git a/po/fa.po b/po/fa.po
new file mode 100644
index 0000000..0af7cbc
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/fa_AF.po b/po/fa_AF.po
new file mode 100644
index 0000000..0af7cbc
--- /dev/null
+++ b/po/fa_AF.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ff.po b/po/ff.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ff.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..ed605fc
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,212 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-12-11 12:59-0500\n"
+"Last-Translator: samy boutayeb <s.boutayeb at free.fr>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Mise à jour logicielle"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Désélectionner tout"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Sélectionner tout"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "URL du groupe :"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Modifier les groupes d'activités"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Installer les activités sélectionnées"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Taille du téléchargement : %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Réessayer"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Annulation..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Vérification des mises à jour..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Démarrer le téléchargement..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Les mises à jour logicielles corrigent les erreurs, éliminent les "
+"vulnérabilités de sécurité et apportent de nouvelles fonctionnalités."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Téléchargement des mises à jour..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Téléchargement de %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr "Examen de %s..."
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Installation de %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Accès au réseau impossible"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Accès au réseau impossible pour vérifier les mises à jours."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Vos logiciels sont à jour"
+
+#: src/view.py:652
+#, 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"
+
+#: src/model.py:59
+#, fuzzy
+msgid "None"
+msgstr "Aucun"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 Ko"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f Ko"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f Mo"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr "Recherche des activités et des contenus présents en local ..."
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Chargement des groupes..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Extraction de %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Groupe d'activités"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Activités locales"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "Version %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "De la version %(old)d à %(new)d (taille : %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Nouvelle version %(version)s (taille : %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Vérification de %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Nouveau groupe"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d de mises à jour disponibles.  Taille : %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Vous n'êtes pas autorisé à définir la liste des mises à jours."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Seule l'opération 'set' est définie pour cette clé."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+"Plusieurs réponses correspondent au nom ou à l'identifiant d'activité "
+"indiqué."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "L'activité indiqué existe déjà sous la version la plus récente."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Aucune activité trouvée avec le nom ou l'identifiant indiqué."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Mise à niveau de %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr "Erreur lors de l'installation de %s."
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Recherche d'activités locales..."
diff --git a/po/gu.po b/po/gu.po
new file mode 100644
index 0000000..9e0b272
--- /dev/null
+++ b/po/gu.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-11-18 01:01-0500\n"
+"Last-Translator: Kartik Mistry <kartik.mistry at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "સોફ્ટવેર સુધારો"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "ફરી પ્રયત્ન કરો"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "રદ કરે છે..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "સુધારાઓ માટે ચકાસે છે..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "ડાઉનલોડ શરૂ કરે છે..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr "કંઇ નહી"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "૧ કેબી"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr "નવો સમૂહ"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ha.po b/po/ha.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ha.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/he.po b/po/he.po
new file mode 100644
index 0000000..bf7a782
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/hi.po b/po/hi.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ht.po b/po/ht.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ht.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..bf7a782
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ig.po b/po/ig.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ig.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/is.po b/po/is.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..32c6565
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,210 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-12-13 06:54-0500\n"
+"Last-Translator: Carlo Falciola <cfalciola at yahoo.it>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Aggiornamento del Software"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Deseleziona Tutto"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Seleziona Tutto"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "URL del Gruppo:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Modifica i gruppi di attività"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Installa selezionati"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Dimensione dati da scaricare: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Riprova"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Annullamento..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Verifica aggiornamenti in corso ...."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Inizio scaricamento..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Gli aggiornamenti del software correggono gli errori, eliminano "
+"vulnerabilità e offrono nuove funzionalità. "
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Sto scaricando gli aggiornamenti..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Scaricando %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr "Esaminando %s..."
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Installazione di %s in corso..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Rete non accessibile"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+"Non posso accedere alla rete per verificare la presenza di aggiornamenti."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Il tuo software è aggiornato alla versione più recente."
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Puoi installare %s aggiornamento"
+msgstr[1] "Puoi installare %s aggiornamenti"
+
+#: src/model.py:59
+msgid "None"
+msgstr "Nessuno"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr "Ricerca di Attività e contenuti locali..."
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Caricamento gruppi..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Recupero %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Gruppo Attività"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Attività locali"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "Alla versione %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Dalla versione %(old)d alla %(new)d (Dimensione: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Nuova versione %(version)s (Dimensione: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Verifica in corso di %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Nuovo gruppo"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d aggiornamenti disponibili.  Dimensione: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Non si può modificare la lista degli aggiornamenti."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Per questo attributo è definita soltanto l'operazione 'set'."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "Trovata più di una corrispondenza per nome o id della attività forniti."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "La attività richiesta è già aggiornata alla versione più recente."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Non è stata trovata alcuna attività per il nome o id forniti."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Aggiornamento di %s in corso..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr "Errore durante l'installazione di %s."
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Sto cercando per le attività locali..."
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..b4005ed
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,205 @@
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-10-09 10:48-0400\n"
+"Last-Translator: korakurider <korakurider at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "ソフトウェアの更新"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "全てクリア(_U)"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "全て選択(_C)"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "グループURL:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "アクティビティグループを更新"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "選択されたものをインストールする"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "ダウンロードサイズ: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "やり直す"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "キャンセルしています..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "更新を確認中..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "ダウンロードを開始..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "ソフトウェアの更新により、不具合を修正し、セキュリティ脆弱性を削減し、新機能が提供されます。"
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "更新をダウンロード中..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "%s をダウンロード中..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "%s をインストール中..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "ネットワークをアクセスできませんでした"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "ネットワークがアクセスできず更新を確認できませんでした。"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "ソフトウェアは最新です"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "%s の更新をインストールできます"
+
+#: src/model.py:59
+msgid "None"
+msgstr "無し"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "グループを読み込み中..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "%s を取得中..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "アクティビティグループ"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "ローカルアクティビティ"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "バージョン %s にて"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "バージョン %(old)d から %(new)d (サイズ: %(size)s) "
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "新バージョン %(version)s (サイズ: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "%s を確認中..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "新しいグループ"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d 件の更新を適用可能です。サイズ: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "更新リストを設定することは許されていません。"
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "このキーにはset操作のみ定義されています。"
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "指定された名前かIDを持つアクティビティが複数見つかりました。"
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "指定されたアクティビティは既に最新になっています。"
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "指定された名前かIDを持つアクティビティが見つかりませんでした。"
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "%s を更新中..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "ローカルなアクティビティを探しています..."
diff --git a/po/km.po b/po/km.po
new file mode 100644
index 0000000..0af7cbc
--- /dev/null
+++ b/po/km.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..867c783
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0 ;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/mk.po b/po/mk.po
new file mode 100644
index 0000000..f1531f2
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=((n % 10 == 1 && n % 100 != 11) ? 0 : 1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ml.po b/po/ml.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ml.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/mn.po b/po/mn.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/mn.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/mvo.po b/po/mvo.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/mvo.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..32cc600
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,216 @@
+# translation of sugar-update-control.po to Norsk bokmål
+# Kent Dahl <kentda at pvv.org>, 2008.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+msgid ""
+msgstr ""
+"Project-Id-Version: sugar-update-control\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-12-09 20:26+0100\n"
+"Last-Translator: Kent Dahl <kentda at pvv.org>\n"
+"Language-Team: Norsk bokmål <i18n-no at lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Programvareoppdatering"
+
+#: src/view.py:197
+#, fuzzy
+msgid "_Uncheck All"
+msgstr "_Bortvelg alle"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Velg alle"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "Gruppe URL:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Endre aktivitetsgrupper"
+
+#: src/view.py:392
+#, fuzzy
+msgid "Install selected"
+msgstr "Innstaller valgte"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Nedlastningsstørrelse: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Prøv igjen"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Avbryter..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Ser etter oppdateringer..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Starter nedlasting..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Programvareoppdateringer fikser feil, fjerner sikkerhetshull og introduserer "
+"ny funksjonalitet."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Laster ned oppdateringer..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Laster net %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Installerer %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Kom ikke inn på nettverket"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Kom ikke inn på nettverket og fikk ikke sjekket etter oppdateringer."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Programvaren din er av nyeste versjon"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Du kan installere %s oppdatering"
+msgstr[1] "Du kan installere %s oppdateringer"
+
+#: src/model.py:59
+#, fuzzy
+msgid "None"
+msgstr "Ingen"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Laster inn grupper..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Henter %s..."
+
+#: src/model.py:296
+#, fuzzy
+msgid "Activity Group"
+msgstr "Aktivitetsgruppe"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Lokale aktiviteter"
+
+#: src/model.py:367
+#, python-format
+#, fuzzy
+msgid "At version %s"
+msgstr "PÃ¥ versjon %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Fra version %(old)d til %(new)d (Størrelse: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Ny version %(version)s (Størrelse: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Sjekker %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Ny gruppe"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d oppdateringer tilgjengelig.  Størrelse: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Ikke tillatt å sette listen over oppdateringer."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Bare 'set' operasjonen er definert for denne nøkkelen."
+
+#: src/model.py:768
+#, fuzzy
+msgid "More than one match found for the given activity name or id."
+msgstr "Mer enn ett treff for det angitte aktivitetsnavnet eller id."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "Den angitte aktiviteten er allerede oppdatert."
+
+#: src/model.py:795
+#, fuzzy
+msgid "No activity found with the given name or id."
+msgstr "Ingen aktivitet funnet med det navnet eller id."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Oppdaterer %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Ser etter lokale aktiviteter..."
diff --git a/po/ne.po b/po/ne.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ne.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..06f8a9b
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,210 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-12-12 15:44-0500\n"
+"Last-Translator: Myckel Habets <myckel at sdf.lonestar.org>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Software update"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "Alles _deselecteren"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "Alles _selecteren"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "Groep URL:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Activiteitgroepen bewerken"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Geselecteerde installeren"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Downloadgrootte: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Nogmaals proberen"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Annuleren..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Zoeken naar updates..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Beginnen met downloaden..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Software updates corrigeren fouten, lossen veiligheidslekken op en zorgen "
+"voor nieuwe mogelijkheden."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Updates downloaden..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Downloaden van %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr "Onderzoeken van %s..."
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Installeren van %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Kon het netwerk niet bereiken"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Kon het netwerk niet bereiken om te zien of er updates zijn."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Je software is bijgewerkt"
+
+#: src/view.py:652
+#, 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"
+
+#: src/model.py:59
+msgid "None"
+msgstr "Geen"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr "Zoeken naar lokale activiteiten en inhoud..."
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Laden van groepen..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Ophalen van %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Activiteitgroep"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Lokale activiteiten"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "Op versie %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Van versie %(old)d naar %(new)d (Grootte: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Nieuwe versie %(version)s (Grootte: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Controleren van %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Nieuwe groep"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d updates beschikbaar. Grootte: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Instellen van lijst met updates is niet toegestaan."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Alleen de 'instellen' handeling is voor deze toets gedefinieerd."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+"Meer dan een overeenkomst voor de opgegeven activiteitsnaam of id gevonden."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "De opgegeven activiteit is al de nieuwste versie."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Geen activiteit met opgegeven naam of id gevonden."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Upgraden van %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr "Fout tijdens installeren van %s."
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Zoeken naar lokale activiteiten..."
diff --git a/po/pa.po b/po/pa.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/pa.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/pap.po b/po/pap.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/pap.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/pis.po b/po/pis.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/pis.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..8104405
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,205 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ps.po b/po/ps.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/ps.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/pseudo.po b/po/pseudo.po
new file mode 100644
index 0000000..bf7a782
--- /dev/null
+++ b/po/pseudo.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..860ee26
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/qu.po b/po/qu.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/qu.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..4926c0a
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,205 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural= (n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
+"== 0) && (n != 0))) ? 2: 1));\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..dee7e84
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,205 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/rw.po b/po/rw.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/rw.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/sd.po b/po/sd.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/sd.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/si.po b/po/si.po
new file mode 100644
index 0000000..7387e65
--- /dev/null
+++ b/po/si.po
@@ -0,0 +1,209 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-09-30 08:35-0400\n"
+"Last-Translator: Rashan Anushka <rashan.uoc at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "මෘදුකාංග යාවත්කාල කිරීම"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "සියල්ල නිදහස් කරන්න(_U)"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "සියල්ල ලකුණු කරන්න(_C)"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "සමූහ URL:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "ක්‍රියාකාරකම් සමූහ වෙනස් කරන්න"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "තේරීම ස්ථාපනය කරන්න"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "බාගත ප්‍රමාණය: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "නැවත උත්සහ කරන්න"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "අවලංගු කෙරේ..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "යාවත්කාලීන කිරීම් සඳහා පරික්ෂා කෙරේ..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "බාගත කිරීම ඇරඹේ..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"මෘදුකාංග යාවත්කිරීම මඟින් දෝෂ නිවැරදි වීම, ආරක්ෂණ හිඩැස් වැසීම හා නව ලක්ෂණ "
+"සැපයීම සිදුවේ."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "යාවත්කාලීන කිරීම් බාගතවේ..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "%s බාගත කෙරේ..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "ස්ථාපනය කෙරේ %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "ජාලයට ප්‍රවේශ වීමට නොහැකි විය"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "යාවත්කාලීන කිරීම් සෙවීම සඳහා ජාලයට ප්‍රවේශ වීමට නොහැකි විය."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "ඔබගේ මෘදුකාංගය නවතම තත්ත්වයේ පවතී"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "ඔබට %s යාවත්කාලීන කිරීම ස්ථාපනය කළ හැක"
+msgstr[1] "ඔබට %s යාවත්කාලීන කිරීම් ස්ථාපනය කළ හැක"
+
+#: src/model.py:59
+msgid "None"
+msgstr "කිසිවක් නැත"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "සමූහ ප්‍රවේශනය වේ..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "%s ඇදගනියි..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "ක්‍රියාකාරකම් සමූහය"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "පෙදෙසි ක්‍රියාකාරකම්"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "%s අනුවාදයේ"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "%(old)d අනුවාදයේ සිට %(new)d (ප්‍රමාණය: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "නව අනුවාදය %(version)s (ප්‍රමාණය: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "%s පරික්ෂා කරමින්..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "නව සමූහය"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "යාවත්කාලීන %(number)d ක් පවතී.  ප්‍රමාණය: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "යාවත්කාලීන ලැයිස්තුව සිටුවම් කිරීමට ඉඩ නොදේ."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "මෙම යතුර සඳහා අර්ථදක්වා ඇත්තේ 'set' ක්‍රියාවලිය පමණි."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "දෙන ලද ක්‍රියාකාරකම් නාමය හෝ id සඳහා ගැළපීම් එකකට වඩා හමු විය."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "දෙන ලද ක්‍රියාකාරකම දැනටමත් යාවත්කාලීනයි."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "දෙන ලද ක්‍රියාකාරකම් නාමය හෝ id සහිත කිසිදු ක්‍රියාකාරකමක් හමු නොවිය."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "යාවත්කාලීන කෙරේ %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "පෙදෙසි ක්‍රියාකාරකම් සොයා බැලේ..."
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..bf7a782
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 0000000..eef7ed1
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,212 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-12-09 04:02-0500\n"
+"Last-Translator: Denis OÅ¡tir <denis.ostir at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
+"n%100==4 ? 3 : 0);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Nadgradnja programske opreme"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Odznači vse"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Označi vse"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "Spletni naslov skupine:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Spremeni skupine aktivnosti"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Namesti izbrano"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Velikost prenosa: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Poskusi znova"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Preklicujem ..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Preverjam razpoložljive nadgradnje ..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Začenjam prenos ..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Nadgradnje programske opreme odpravljajo napake, varnostna tveganja in "
+"omogočajo nove možnosti."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Prenašam nadgradnje ..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Prenašam %s ..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Nameščam %s ..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Ni dostopa do omrežja"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Ker ni dostopa do omrežja, preverjanje posodobitev ni možno."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Vaš programski paket je posodobljen"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Namestite lahko %s adgradnjo"
+msgstr[1] "Namestite lahko %s adgradnji"
+msgstr[2] "Namestite lahko %s adgradnje"
+msgstr[3] "Namestite lahko %s adgradenj"
+
+#: src/model.py:59
+msgid "None"
+msgstr "Noben"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Nameščam skupine ..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Pridobivam %s ..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Skupina aktivnosti"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Lokalne aktivnosti"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "Pri različici %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Iz različice %(old)d to %(new)d (Velikost: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Nova različica %(version)s (Velikost: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Preverjam %s ..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Nova skupina"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d nadrgqadenj na voljo.  Velikost: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Ustvarjanje seznama nadgradenj ni dovoljeno."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Za to tipko je definirana le operacija 'določi'."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "Več kot eno ime ali oznaka za to aktivnost."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "Aktivnost je že posodobljena."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Ni aktivnosti s tem imenom ali oznako."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Nadgrajujem %s ..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Pregledujem lokalne aktivnosti ..."
diff --git a/po/sugar-update-control.pot b/po/sugar-update-control.pot
index 0f08f1a..90e4ff5 100644
--- a/po/sugar-update-control.pot
+++ b/po/sugar-update-control.pot
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: sugar-update-control 0.7\n"
+"Project-Id-Version: sugar-update-control 0.17\n"
 "Report-Msgid-Bugs-To: cscott at laptop.org\n"
-"POT-Creation-Date: 2008-08-12 01:27-0400\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,179 +17,189 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: model/updater.py:54
-msgid "None"
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
 msgstr ""
 
-#: model/updater.py:57
-msgid "1 KB"
+#: src/view.py:197
+msgid "_Uncheck All"
 msgstr ""
 
-#: model/updater.py:60
-#, python-format
-msgid "%.0f KB"
+#: src/view.py:203
+msgid "_Check All"
 msgstr ""
 
-#: model/updater.py:63
-#, python-format
-msgid "%.1f MB"
+#: src/view.py:298
+msgid "Group URL:"
 msgstr ""
 
-#: model/updater.py:246
-msgid "Looking for local activities..."
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
 msgstr ""
 
-#: model/updater.py:249 model/updater.py:259
-msgid "Loading groups..."
+#: src/view.py:392
+msgid "Install selected"
 msgstr ""
 
-#: model/updater.py:269
+#: src/view.py:412
 #, python-format
-msgid "Fetching %s..."
+msgid "Download size: %s"
 msgstr ""
 
-#: model/updater.py:286
-msgid "Activity Group"
+#: src/view.py:445
+msgid "Try again"
 msgstr ""
 
-#: model/updater.py:316
-msgid "Local activities"
+#: src/view.py:477
+msgid "Cancelling..."
 msgstr ""
 
-#: model/updater.py:344
-#, python-format
-msgid "At version %s"
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
 msgstr ""
 
-#: model/updater.py:347
-#, python-format
-msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
 msgstr ""
 
-#: model/updater.py:374
-#, python-format
-msgid "New version %(version)s (Size: %(size)s)"
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
 msgstr ""
 
-#: model/updater.py:385
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
 #, python-format
-msgid "Checking %s..."
+msgid "Downloading %s..."
 msgstr ""
 
-#: model/updater.py:518
-msgid "New group"
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
 msgstr ""
 
-#: model/updater.py:667
+#: src/view.py:592 src/model.py:817
 #, python-format
-msgid "%(number)d updates available.  Size: %(size)s"
+msgid "Installing %s..."
 msgstr ""
 
-#: model/updater.py:674
-msgid "Setting the list of updates is not permitted."
+#: src/view.py:642
+msgid "Could not access the network"
 msgstr ""
 
-#: model/updater.py:679
-msgid "Only the 'set' operation for this key is defined."
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
 msgstr ""
 
-#: model/updater.py:692
-msgid "More than one match found for the given activity name or id."
+#: src/view.py:649
+msgid "Your software is up-to-date"
 msgstr ""
 
-#: model/updater.py:694
-msgid "The given activity is already up-to-date."
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
 msgstr ""
 
-#: model/updater.py:719
-msgid "No activity found with the given name or id."
+#: src/model.py:62
+msgid "1 KB"
 msgstr ""
 
-#: model/updater.py:733 view/updater.py:571
+#: src/model.py:65
 #, python-format
-msgid "Downloading %s..."
+msgid "%.0f KB"
 msgstr ""
 
-#: model/updater.py:738
+#: src/model.py:68
 #, python-format
-msgid "Upgrading %s..."
+msgid "%.1f MB"
 msgstr ""
 
-#: model/updater.py:742 view/updater.py:576
-#, python-format
-msgid "Installing %s..."
+#: src/model.py:255
+msgid "Looking for local activities and content..."
 msgstr ""
 
-#: view/updater.py:48
-msgid "Software update"
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
 msgstr ""
 
-#: view/updater.py:187
-msgid "_Uncheck All"
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
 msgstr ""
 
-#: view/updater.py:193
-msgid "_Check All"
+#: src/model.py:296
+msgid "Activity Group"
 msgstr ""
 
-#: view/updater.py:288
-msgid "Group URL:"
+#: src/model.py:326
+msgid "Local activities"
 msgstr ""
 
-#: view/updater.py:358 view/updater.py:533
-msgid "Modify activity groups"
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
 msgstr ""
 
-#: view/updater.py:382
-msgid "Install selected"
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
 msgstr ""
 
-#: view/updater.py:402
+#: src/model.py:422
 #, python-format
-msgid "Download size: %s"
+msgid "New version %(version)s (Size: %(size)s)"
 msgstr ""
 
-#: view/updater.py:435
-msgid "Try again"
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
 msgstr ""
 
-#: view/updater.py:467
-msgid "Cancelling..."
+#: src/model.py:578
+msgid "New group"
 msgstr ""
 
-#: view/updater.py:485 view/updater.py:511 view/updater.py:604
-msgid "Checking for updates..."
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
 msgstr ""
 
-#: view/updater.py:489 view/updater.py:553
-msgid "Starting download..."
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
 msgstr ""
 
-#: view/updater.py:516
-msgid ""
-"Software updates correct errors, eliminate security vulnerabilities, and "
-"provide new features."
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
 msgstr ""
 
-#: view/updater.py:551
-msgid "Downloading updates..."
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
 msgstr ""
 
-#: view/updater.py:634
-msgid "Could not access the network"
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
 msgstr ""
 
-#: view/updater.py:636
-msgid "Could not access the network to check for updates."
+#: src/model.py:795
+msgid "No activity found with the given name or id."
 msgstr ""
 
-#: view/updater.py:641
-msgid "Your software is up-to-date"
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
 msgstr ""
 
-#: view/updater.py:644
+#: src/model.py:821
 #, python-format
-msgid "You can install %s update"
-msgid_plural "You can install %s updates"
-msgstr[0] ""
-msgstr[1] ""
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..2d5b7a7
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,209 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-10-14 08:02-0400\n"
+"Last-Translator: Mattias Ohlsson <mattias_oh at yahoo.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Mjukvaruuppdatering"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Avmarkera alla"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Markera alla"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "Gruppurl:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Redigera aktivitetsgrupper"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Installera markerade"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Nedladdningsstorlek: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Försök igen"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Avbryter..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Letar efter uppdateringar..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Börjar ladda ned..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Uppdateringar rättar till fel, tätar till säkerhetshål och ger nya "
+"funktioner till dina aktiviteter."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Laddar ned uppdateringar..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Laddar ned %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Installerar %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+"Kunde inte komma åt det trådlösa nätverket. (Är du ansluten till Internet?)"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Kunde int ekomma åt Internet för att kolla efter uppdateringar."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Det finns inga nyare versioner av dina aktiviteter tillgängliga."
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Du kan installera %s uppdatering."
+msgstr[1] "Du kan installera %s uppdateringar."
+
+#: src/model.py:59
+msgid "None"
+msgstr "Inget"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Laddar grupper..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "Hämtar %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Aktivitetsgrupp"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Lokala aktiviteter"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "Versionsnummer %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Från version %(old)d till %(new)d (Storlek: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Ny version %(version)s (Storlek: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Kontrollerar %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Ny grupp"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d uppdateringar tillgängliga.  Storlek: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "Mer en en träff har det aktivitestsnamnet eller -id:t."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "Det finns ingen nyare version av den aktiviteten."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Ingen aktivitet kunde hittas med det namnet eller id:t."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Uppgraderar %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Letar efter lokala aktiviteter..."
diff --git a/po/sw.po b/po/sw.po
new file mode 100644
index 0000000..e69c0f7
--- /dev/null
+++ b/po/sw.po
@@ -0,0 +1,206 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-11-21 14:49-0500\n"
+"Last-Translator: Fanuel Kalugendo <fanosbert at yahoo.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_Ziondoe tiki zote"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Tiki zote"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "Kundi URL:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Rekebisha  vikundi kazi"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Ingiza zilizochaguliwa"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Pakua saizi: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Jaribu tena"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Inaghahirisha"
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Inatafuta bora zaidi"
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Imeanza kupakua"
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Inapakua za kisasa zaidi..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "Inapakua %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "Inaweke %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Haikuweza kuufikia mtandao"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Haikuweza kufikia mtandao kwa ajili ya kuangalia za kisasa zaidi."
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "Unaweza ingiza %s ya kisasa"
+msgstr[1] "Unaweza ingiza za kisasa"
+
+#: src/model.py:59
+msgid "None"
+msgstr "Hakuna"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Inapakia vikundi"
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Vikundi kazi"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Kazi za kienyeji"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "Kutoka toleo %(old)d kwenda %(new)d (Saizi: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Toleo jipya %(version)s %(size)s"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "Inatafuta %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Kundi jipya"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d yawakati huu inapatikana._ saizi: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Kutengeneza orodha ya vitu ya wakati huu hairusiwi."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Operesheni ya 'seti' ndio imeelezewa"
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "Kwa jina au (kitambulisho) lililotolewa  zimepatika zaidi ya kazi moja."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "Kazi ilotolewa imeshawekwa kiwakati huu"
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Hakuna kazi iliyopatikana kwa jina au (kitambulisho) lililotolewa."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "Inaongeza %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Inatafuta kazi za kinyeji"
diff --git a/po/te.po b/po/te.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/te.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/th.po b/po/th.po
new file mode 100644
index 0000000..0af7cbc
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/tpi.po b/po/tpi.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/tpi.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..e60bf6a
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,209 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-09-26 10:17-0400\n"
+"Last-Translator: abdullah kocabas <abdullah.kocabas at abcdizustu.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "Yazılım güncellemesi"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_ Hepsinin onayını kaldır"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_Hepsini onayla"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "URL Grup:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "Aktivite gruplarını değiştir"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "Seçilenleri kur"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "Yükleme boyutu: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "Tekrar Dene"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "Ä°ptal ediliyor..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "Güncellemeler aranıyor..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "Yükleme başlıyor..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+"Yazılım güncellemeleri hataları düzeltir, güvenlikle ilgili zayıflıkları "
+"giderir ve yeni özellikler kazandırır."
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "Güncellemeler yükleniyor..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "%s yükleniyor..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "%s kuruluyor..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "Ağa bağlanamıyor"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "Güncellemeleri kontrol etmek için ağa bağlanamıyor"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "Yazılımınız güncel"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "%s güncellemeyi kurabilirsiniz"
+msgstr[1] "%s güncellemeleri kurabilirsiniz"
+
+#: src/model.py:59
+msgid "None"
+msgstr "Hiçbiri"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "Gruplar yükleniyor..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "%s getiriliyor..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "Aktivite grubu"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "Yüklü aktiviteler"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "%s versiyonunda"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "%(old)d versiyonundan %(new)d versiyonuna (ebat: %(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "Yeni versiyon %(version)s (ebat: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "%s kontrol ediliyor..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "Yeni grup"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d güncelleme görünüyor._ ebat: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "Güncelleme listesinin ayarlarıyla oynayamazsınız."
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "Bu tuş için sadece 'ayar' işlemi tanımlıdır."
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "Verilen aktivite adı ya da kimliği için birden fazla eşleme bulundu."
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "Verilen aktivite önceden güncellendi."
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "Verilen ad ya da kimlikte bir aktivite bulunamadı."
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "%s güncelleniyor..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "Yüklü aktiviteler için bakılıyor..."
diff --git a/po/ur.po b/po/ur.po
new file mode 100644
index 0000000..5b3f737
--- /dev/null
+++ b/po/ur.po
@@ -0,0 +1,208 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-11-13 06:03-0500\n"
+"Last-Translator: salman minhas <sulmanminhas at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "سافٹ وئير اپ ڈيٹ"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "_سب ان چيک"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "_تمام چيک"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "گروپ URL:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "سرگرمی گروپ کو تبديل کريں"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "منتخب کو انسٹال کريں"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "ڈاون لوڈ سائيز: %s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "دوبارہ کوشش کريں"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "ختم کر رہا ہے۔۔۔"
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "اپ ڈيٹس چيک کر رہا ہے۔۔۔"
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "ڈاون لوڈ شروع کر رہا ہے۔۔۔"
+
+#: src/view.py:526
+#, fuzzy
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "سافٹ وئير اپ ڈيٹ غلطی ٹھيک کريں، اور نيئے پروگرام ہيں۔"
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "اپ ڈيٹس ڈاون لوڈ کر رہا ہے۔۔۔"
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "ڈاون لوڈنگ کر رہا ہے %s..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "انسٹال کر رہا ہے %s..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "نيٹ ورک کو نہيں ديکھہ پا رہا"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "اپ ڈيٹ چيک کرنے کے ليے نيٹ ورک نہيں مل رہا ہے۔"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "آپ کا سافٹ وئیر اپ ٹو ڈيٹ ہے"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "آپ  %sاپ ڈيٹ انسٹال کر سکتے ہو"
+msgstr[1] "آپ  %sاپ ڈيٹ انسٹال کر سکتے ہيں"
+
+#: src/model.py:59
+msgid "None"
+msgstr "کوئی نہيں"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 kB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "لوڈنگ گروپ۔۔۔"
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "اٹھا رہا ہے %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "سرکرمی گروپ"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "لوکل سرگرمی"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "پر ورژن %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "ورژن سے %(old)d  سے  %(new)d (سائز: %(size)s )"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "نيا ورژن %(version)s (سائز: %(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "ديکھنا %s..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "نیا گروپ"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "%(number)d اپ ڈیٹ موجود ہے۔  سائز: %(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "اپ ڈيٹ کی لسٹ کی سیٹنگز کی اجازت نہيں ہے۔"
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "اس کی کا صرف سيٹ آپريشن ديا ہوا ہے۔"
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "دی ہوئی سرگرمی کے ليے ايک سے زيادہ تلاش ہوئی ہے۔"
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "دی ہوئی سرگرمی پہلے سے ہی اپ ٹو ڈيٹ ہے۔"
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "دی ہوئی آئی ڈی يا نام سے کوئی سرگرمی نہيں ملی ہے۔"
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "اپ گريڈ کر رہا ہے %s..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "لوکل سرگرمی کی تلاش۔۔۔"
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000..0af7cbc
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/wa.po b/po/wa.po
new file mode 100644
index 0000000..bf7a782
--- /dev/null
+++ b/po/wa.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/yo.po b/po/yo.po
new file mode 100644
index 0000000..3a4e321
--- /dev/null
+++ b/po/yo.po
@@ -0,0 +1,204 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr ""
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr ""
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr ""
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr ""
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr ""
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr ""
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr ""
+
+#: src/view.py:445
+msgid "Try again"
+msgstr ""
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr ""
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr ""
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr ""
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr ""
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr ""
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr ""
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr ""
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr ""
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr ""
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr ""
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/model.py:59
+msgid "None"
+msgstr ""
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr ""
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr ""
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr ""
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr ""
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr ""
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr ""
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr ""
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr ""
+
+#: src/model.py:578
+msgid "New group"
+msgstr ""
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr ""
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr ""
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr ""
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr ""
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr ""
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr ""
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr ""
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..14cc819
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,206 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-11-24 22:17-0500\n"
+"Last-Translator: Alice Zhang <zhl924505 at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Pootle 1.1.0rc2\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "软件更新"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "全不选(_U)"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "全选(_C)"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "群组网址:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "更改活动群组"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "安装选中项目"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "下载大小:%s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "再试一次"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "取消中。。。"
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "检查更新中..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "开始下载..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "软件更新可更正软件错误、消除安全隐患和提供新功能。"
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "下载更新中..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "下载%s中。。。"
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "安装%s中。。。"
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "无法连上网络"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "无法连上网络检查更新。"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "您的软件已是最新版本"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "您可以安裝 %s 项更新"
+
+#: src/model.py:59
+msgid "None"
+msgstr "æ— "
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "载入组别..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "获取 %s..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "活动小组"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "本地活动"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "版本为%s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "由 %(old)d 版升級到 %(new)d 版 (大小:%(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "新版本 %(version)s (大小:%(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "检查%s中。。。"
+
+#: src/model.py:578
+msgid "New group"
+msgstr "新群组"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "目前有 %(number)d 项更新,大小为:%(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "不允许设定更新列表。"
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "该键值只有'set'操作被定义。"
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "给定的活动名称或ID有多于一项符合的资料。"
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "选定的活动已是最新版本。"
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "给定的活动名称或ID没有符合的资料。"
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "更新%s中。。。"
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "搜寻本地活动..."
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644
index 0000000..d776139
--- /dev/null
+++ b/po/zh_TW.po
@@ -0,0 +1,207 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR One Laptop per Child Association, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: cscott at laptop.org\n"
+"POT-Creation-Date: 2008-12-09 15:07-0500\n"
+"PO-Revision-Date: 2008-10-01 15:28+0100\n"
+"Last-Translator: Yuan CHAO <yuanchao at gmail.com>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Translate Toolkit 1.1.1rc4\n"
+
+#: src/__init__.py:21 src/view.py:58
+msgid "Software update"
+msgstr "軟體更新"
+
+#: src/view.py:197
+msgid "_Uncheck All"
+msgstr "全不選(_U)"
+
+#: src/view.py:203
+msgid "_Check All"
+msgstr "全選(_C)"
+
+#: src/view.py:298
+msgid "Group URL:"
+msgstr "群組網址:"
+
+#: src/view.py:368 src/view.py:543
+msgid "Modify activity groups"
+msgstr "修改活動群組"
+
+#: src/view.py:392
+msgid "Install selected"
+msgstr "安裝所選擇的項目"
+
+#: src/view.py:412
+#, python-format
+msgid "Download size: %s"
+msgstr "下載大小:%s"
+
+#: src/view.py:445
+msgid "Try again"
+msgstr "再試一次"
+
+#: src/view.py:477
+msgid "Cancelling..."
+msgstr "取消中..."
+
+#: src/view.py:495 src/view.py:521 src/view.py:612
+msgid "Checking for updates..."
+msgstr "檢查更新中..."
+
+#: src/view.py:499 src/view.py:563
+msgid "Starting download..."
+msgstr "開始下載..."
+
+#: src/view.py:526
+msgid ""
+"Software updates correct errors, eliminate security vulnerabilities, and "
+"provide new features."
+msgstr "軟體更新會更正軟體的錯誤、消除安全弱點並增加新的功能"
+
+#: src/view.py:561
+msgid "Downloading updates..."
+msgstr "下載更新中..."
+
+#: src/view.py:584 src/model.py:808
+#, python-format
+msgid "Downloading %s..."
+msgstr "下載中..."
+
+#: src/view.py:589 src/model.py:812
+#, python-format
+msgid "Examining %s..."
+msgstr ""
+
+#: src/view.py:592 src/model.py:817
+#, python-format
+msgid "Installing %s..."
+msgstr "安裝 %s 中..."
+
+#: src/view.py:642
+msgid "Could not access the network"
+msgstr "無法連上網路"
+
+#: src/view.py:644
+msgid "Could not access the network to check for updates."
+msgstr "無法連上網路檢查更新"
+
+#: src/view.py:649
+msgid "Your software is up-to-date"
+msgstr "您的軟體已是最新版本"
+
+#: src/view.py:652
+#, python-format
+msgid "You can install %s update"
+msgid_plural "You can install %s updates"
+msgstr[0] "您可以安裝 %s 項更新"
+msgstr[1] "您可以安裝 %s 項更新"
+
+#: src/model.py:59
+msgid "None"
+msgstr "ç„¡"
+
+#: src/model.py:62
+msgid "1 KB"
+msgstr "1 KB"
+
+#: src/model.py:65
+#, python-format
+msgid "%.0f KB"
+msgstr "%.0f KB"
+
+#: src/model.py:68
+#, python-format
+msgid "%.1f MB"
+msgstr "%.1f MB"
+
+#: src/model.py:255
+msgid "Looking for local activities and content..."
+msgstr ""
+
+#: src/model.py:258 src/model.py:268
+msgid "Loading groups..."
+msgstr "載入群組中..."
+
+#: src/model.py:278
+#, python-format
+msgid "Fetching %s..."
+msgstr "讀取 %s 中..."
+
+#: src/model.py:296
+msgid "Activity Group"
+msgstr "活動活動"
+
+#: src/model.py:326
+msgid "Local activities"
+msgstr "本地端的活動"
+
+#: src/model.py:367
+#, python-format
+msgid "At version %s"
+msgstr "版本為 %s"
+
+#: src/model.py:370
+#, python-format
+msgid "From version %(old)d to %(new)d (Size: %(size)s)"
+msgstr "由 %(old)d 版升級到 %(new)d 版 (大小:%(size)s)"
+
+#: src/model.py:422
+#, python-format
+msgid "New version %(version)s (Size: %(size)s)"
+msgstr "新版本 %(version)s (大小為:%(size)s)"
+
+#: src/model.py:437
+#, python-format
+msgid "Checking %s..."
+msgstr "檢查 %s 中..."
+
+#: src/model.py:578
+msgid "New group"
+msgstr "新增群組"
+
+#: src/model.py:743
+#, python-format
+msgid "%(number)d updates available.  Size: %(size)s"
+msgstr "目前有 %(number)d 項更新,大小為:%(size)s"
+
+#: src/model.py:750
+msgid "Setting the list of updates is not permitted."
+msgstr "不允許設定更新列表"
+
+#: src/model.py:755
+msgid "Only the 'set' operation for this key is defined."
+msgstr "本鍵值只能進行 'set' 動作"
+
+#: src/model.py:768
+msgid "More than one match found for the given activity name or id."
+msgstr "給定的活動名稱或ID有多於一筆符合的資料"
+
+#: src/model.py:770
+msgid "The given activity is already up-to-date."
+msgstr "選定的活動已是最新版本"
+
+#: src/model.py:795
+msgid "No activity found with the given name or id."
+msgstr "給定的活動名稱或ID沒有符合的資料"
+
+#: src/model.py:815
+#, python-format
+msgid "Upgrading %s..."
+msgstr "更新 %s 中..."
+
+#: src/model.py:821
+#, python-format
+msgid "Error installing %s."
+msgstr ""
+
+#~ msgid "Looking for local activities..."
+#~ msgstr "搜尋本地端活動中..."

commit 41b1890d30336d3060cf2b97641f5733febbfe68
Author: C. Scott Ananian <cscott at laptop.org>
Date:   Wed Dec 17 17:39:47 2008 -0500

    Add appropriate gettext domain to model as well as view.

diff --git a/model/updater.py b/model/updater.py
index 9851753..1682046 100755
--- a/model/updater.py
+++ b/model/updater.py
@@ -33,10 +33,12 @@ import socket
 import sys
 import traceback
 import zipfile
-from gettext import gettext as _
 from HTMLParser import HTMLParseError
 from urllib2 import HTTPError
 
+import gettext
+_ = lambda msg: gettext.dgettext('sugar-update-control', msg)
+
 import bitfrost.update.actinfo as actinfo
 import bitfrost.update.actutils as actutils
 import bitfrost.update.microformat as microformat

commit 9441fd66f5f73a1ac5ae7ba16a05f016d16277b2
Author: Sayamindu Dasgupta <sayamindu at laptop.org>
Date:   Fri Dec 5 23:11:43 2008 +0000

    dlo#8788: Use sugar-update-control gettext domain
    
    sugar-update-control is currently looking for its translation in
    sugar.mo, which does not have anything useful. Since it is being
    developed in a different source tree, I suggest using some different
    gettext domain.

diff --git a/view/updater.py b/view/updater.py
index 9e2d6d5..bb6f935 100755
--- a/view/updater.py
+++ b/view/updater.py
@@ -16,7 +16,9 @@ import gettext
 import os
 import re
 from threading import Thread
-from gettext import gettext as _
+import gettext
+
+_ = lambda msg: gettext.dgettext('sugar-update-control', msg)
 
 import bitfrost.update.actutils as actutils
 from sugar.graphics import style
-----------------------------------------------------------------------


--
/home/cscott/public_git/sugar-update-control


More information about the Commits mailing list