The elements which aren't localized are all in the UpdateManager.ui file.
I patched the gtk frontent init.py to load the localization for the ui
file. And edited the ui file to use the 'repertoire' GTK Settings
(gtk-preference) button.
I also created a new pot file.
Everything was tested with the german translation (po) file which I
created from my modified pot file. And this patch was also added to the
ZevenOS-Neptune distro (which is based upon debian squeeze/sid) and was
tested and approved there.

Feel free to change it to your liking ;)


--- __init__.py 2009-12-28 12:06:13.000000000 +0100
+++ 
/home/leszek/Downloads/neptune-gnome/debs/update-manager-0.200.4neptune1/UpdateManager/Frontend/Gtk/__init__.py
     2010-12-08 21:47:07.689646341 +0100
@@ -31,10 +31,13 @@
 pygtk.require('2.0')
 import gtk
 import gobject
+import gtk.glade
+import gettext
 
 import logging
 import os.path
 import subprocess
+import locale
 
 from gettext import gettext as _
 
@@ -62,7 +65,12 @@
     def init_gettext(self, app_name, locale_dir):
         """ Gtk/Glade gettext initialization """
         # Initializing glade gettext isn't needed for GtkBuilder anymore
-        pass
+        #pass
+        # Obviously not ! It needs the following to load the localization 
correctly somehow.
+        gtk.glade.bindtextdomain(app_name, locale_dir) 
+        gtk.glade.textdomain(app_name) 
+        gettext.bindtextdomain(app_name, locale_dir) 
+        gettext.textdomain(app_name) 
 
     def init_frontend(self):
         """ Gtk/Glade frontend initialization """
--- update-manager.pot  2009-09-23 21:49:16.000000000 +0200
+++ 
/home/leszek/Downloads/neptune-gnome/debs/update-manager-0.200.4neptune1/po/update-manager.pot
      2010-12-08 21:58:06.666855699 +0100
@@ -7,25 +7,47 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: sebastian.heinl...@web.de\n"
-"POT-Creation-Date: 2009-09-21 10:40+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-12-08 18:15+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <em...@address>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: ../UpdateManager/Application.py:127
+
+#: ../data/ui/UpdateManager.ui:808
+msgid "Chec_k"
+msgstr ""
+
+#: ../data/ui/UpdateManager.ui:388
+msgid "Description of update"
+msgstr ""
+
+#: ../data/ui/UpdateManager.ui:353
+msgid "Description"
+msgstr ""
+
+#: ../data/ui/UpdateManager.ui:250
+msgid "_Install Updates"
+msgstr ""
+
+#: ../data/ui/UpdateManager.ui:101
+msgid "U_pgrade"
+msgstr ""
+
+#: ../UpdateManager/Application.py:128
 msgid "sets the log level"
 msgstr ""
 
-#: ../UpdateManager/Application.py:130
+#: ../UpdateManager/Application.py:131
 msgid "sets the log level to debug"
 msgstr ""
 
-#: ../UpdateManager/Application.py:134
+#: ../UpdateManager/Application.py:135
 msgid "starts an update check"
 msgstr ""
 
@@ -81,30 +103,30 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../UpdateManager/Backend/PythonApt.py:675
+#: ../UpdateManager/Backend/PythonApt.py:722
 msgid "Could not download packages information."
 msgstr ""
 
-#: ../UpdateManager/Backend/PythonApt.py:809
+#: ../UpdateManager/Backend/PythonApt.py:862
 msgid ""
 "Internal error: the commit progress handler did not handle "
 "requires_removal_or_installation correctly."
 msgstr ""
 
-#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:78
-#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:85
+#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:86
+#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:93
 msgid "A fatal error has been detected in update-manager."
 msgstr ""
 
-#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:80
+#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:88
 msgid "Do you want to submit a bug report?"
 msgstr ""
 
-#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:81
+#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:89
 msgid "Selecting No will close the application."
 msgstr ""
 
-#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:86
+#: ../UpdateManager/Frontend/GtkCommon/GtkExceptionHandler.py:94
 msgid "The program will now exit."
 msgstr ""
 
@@ -128,280 +150,300 @@
 msgid "Building Updates List"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ChangelogViewer.py:84
+#: ../UpdateManager/Frontend/Gtk/ChangelogViewer.py:86
 msgid "Open Link in Browser"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ChangelogViewer.py:87
+#: ../UpdateManager/Frontend/Gtk/ChangelogViewer.py:89
 msgid "Copy Link to Clipboard"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:159
+#: ../UpdateManager/Frontend/Gtk/ui.py:160
 msgid "_Uncheck All"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:163
+#: ../UpdateManager/Frontend/Gtk/ui.py:164
 msgid "_Check all"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:258
+#: ../UpdateManager/Frontend/Gtk/ui.py:259
 #, python-format
 msgid "(Size: %s)"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:263
+#: ../UpdateManager/Frontend/Gtk/ui.py:264
 #, python-format
 msgid "From version %(old_version)s to %(new_version)s"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:267
+#: ../UpdateManager/Frontend/Gtk/ui.py:268
 #, python-format
 msgid "Version: %s"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:273
+#: ../UpdateManager/Frontend/Gtk/ui.py:274
 msgid "Requires installation of: "
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:275
-#: ../UpdateManager/Frontend/Gtk/ui.py:439
+#: ../UpdateManager/Frontend/Gtk/ui.py:276
+#: ../UpdateManager/Frontend/Gtk/ui.py:440
 msgid "None"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:286
+#: ../UpdateManager/Frontend/Gtk/ui.py:287
 msgid "Depends on: "
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:295
+#: ../UpdateManager/Frontend/Gtk/ui.py:296
 msgid "Depends on (strict): "
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:304
+#: ../UpdateManager/Frontend/Gtk/ui.py:305
 msgid "Is depended on by: "
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:314
+#: ../UpdateManager/Frontend/Gtk/ui.py:315
 msgid "Is depended on by (strict): "
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:322
+#: ../UpdateManager/Frontend/Gtk/ui.py:323
 msgid "Conflicts with: "
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:443
+#: ../UpdateManager/Frontend/Gtk/ui.py:444
 #, python-format
 msgid "Download size: %s"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:463
-#: ../UpdateManager/Frontend/Gtk/ui.py:530
+#: ../UpdateManager/Frontend/Gtk/ui.py:464
+#: ../UpdateManager/Frontend/Gtk/ui.py:531
 msgid "Downloading list of changes..."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:493
+#: ../UpdateManager/Frontend/Gtk/ui.py:494
 msgid "Downloading list of changes failed."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:585
+#: ../UpdateManager/Frontend/Gtk/ui.py:586
 #, python-format
 msgid "Version %s: "
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:776
+#: ../UpdateManager/Frontend/Gtk/ui.py:785
 msgid "Gathering information about updates..."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:802
+#: ../UpdateManager/Frontend/Gtk/ui.py:817
 msgid "Upgrading may require removal or installation of new packages."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:804
+#: ../UpdateManager/Frontend/Gtk/ui.py:819
 msgid ""
 "Do you want to perform a safe-upgrade, which does not remove packages or "
 "install new ones?"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:848
+#: ../UpdateManager/Frontend/Gtk/ui.py:864
 msgid "Your system is up-to-date"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:873
+#: ../UpdateManager/Frontend/Gtk/ui.py:888
 #, python-format
 msgid "Welcome to %s!"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:874
+#: ../UpdateManager/Frontend/Gtk/ui.py:889
 #, python-format
 msgid "These software updates have been issued since %s was released."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:883
+#: ../UpdateManager/Frontend/Gtk/ui.py:898
 msgid "Software updates are available for this computer."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/ui.py:885
+#: ../UpdateManager/Frontend/Gtk/ui.py:900
 msgid ""
 "If you don't want to install them now, choose \"Update Manager\" from the "
 "Administraion menu later."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:357
+#: ../UpdateManager/Frontend/Gtk/ui.py:921
+msgid "About Update Manager"
+msgstr ""
+
+#: ../UpdateManager/Frontend/Gtk/ui.py:923
+#: ../data/update-manager.desktop.in.h:3
+msgid "Update Manager"
+msgstr ""
+
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:359
 msgid "Progress"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:360
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:362
 msgid "Source"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:362
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:364
 msgid "Filename"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:366
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:368
 msgid "Downloaded"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:372
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:374
 msgid "Size"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:381
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:383
 msgid "Checking for updates"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:432
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:451
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:433
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:452
 msgid "Unknown"
 msgstr ""
 
 #. TRANSLATORS: This is the download rate in bytes, kilobytes
 #. or megabytes per second (hence the trailing /s).
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:471
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:472
 #, python-format
 msgid "Download rate: %s/s"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:501
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:502
 msgid "Checking for updates..."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:543
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:544
 msgid "An internal error has occured and the operation has been aborted."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:546
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:827
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:921
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:547
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:833
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:927
 msgid "Error message:"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:704
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:710
 msgid "Downloading updates"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:722
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:728
 msgid "Changes"
 msgstr ""
 
 #. ## TRANSLATORS: This is an entry in the package removal or
 #. new installation dialog's changes list.
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:728
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:734
 #, python-format
 msgid "Remove %s"
 msgstr ""
 
 #. ## TRANSLATORS: This is an entry in the package removal or
 #. new installation dialog's changes list.
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:734
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:740
 #, python-format
 msgid "Install %s"
 msgstr ""
 
 #. ... and now the dialog
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:738
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:744
 msgid "Removal or installation of packages"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:747
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:753
 msgid ""
 "Installation of the selected upgrades requires removal or installation of "
 "new packages."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:748
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:754
 msgid "You can find a list of these changes below."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:749
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:755
 msgid "Do you want to continue?"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:771
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:774
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:789
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:777
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:780
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:795
 msgid "Preparing upgrade"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:775
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:781
 msgid "This operation may take some time."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:803
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:809
 msgid "Downloading finished"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:824
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:830
 msgid "An error has occured and downloading has been aborted."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:851
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:967
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:857
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:975
 msgid "Installing updates"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:852
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:858
 msgid "Preparing installation..."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:886
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:892
 #, python-format
 msgid "Applied %d update"
 msgid_plural "Applied %d updates"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:894
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:900
 msgid "Your system is now up-to-date."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:896
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:902
 #, python-format
 msgid "There is %d more update available."
 msgid_plural "There are %d more updates available."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:900
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:906
 msgid "Software updates correct errors and eliminate security vulnerabilities."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:901
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:907
 msgid "Please consider installing all available updates."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:918
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:924
 msgid "An error has occured and installing has been aborted."
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:953
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:961
 msgid "Show progress of individual files"
 msgstr ""
 
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:966
-#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:981
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:974
+#: ../UpdateManager/Frontend/Gtk/GtkProgress.py:989
 msgid "Show terminal"
 msgstr ""
 
+#: ../UpdateManager/Frontend/Gtk/__init__.py:125
+msgid "A fatal error has been detected"
+msgstr ""
+
+#: ../UpdateManager/Frontend/Gtk/__init__.py:126
+#, python-format
+msgid ""
+"Exception:\n"
+" %s"
+msgstr ""
+
 #: ../UpdateManager/DistSpecific/__init__.py:37
 msgid "Important security updates"
 msgstr ""
@@ -501,7 +543,3 @@
 #: ../data/update-manager.desktop.in.h:2
 msgid "Software Updates"
 msgstr ""
-
-#: ../data/update-manager.desktop.in.h:3
-msgid "Update Manager"
-msgstr ""
--- UpdateManager.ui    2009-10-11 13:42:58.000000000 +0200
+++ 
/home/leszek/Downloads/neptune-gnome/debs/update-manager-0.200.4neptune1/data/ui/UpdateManager.ui
   2010-12-08 12:18:12.147991740 +0100
@@ -407,12 +407,13 @@
             <property name="spacing">12</property>
             <child>
               <object class="GtkButton" id="button_settings">
-                <property name="label" 
translatable="yes">Settings&#x2026;</property>
+                <property name="label">gtk-preferences</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
+                <property name="use_stock">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -447,8 +448,8 @@
                     <property name="can_default">True</property>
                     <property name="receives_default">False</property>
                     <property name="use_stock">True</property>
-                    <accelerator key="W" signal="clicked" 
modifiers="GDK_CONTROL_MASK"/>
                     <accelerator key="Q" signal="clicked" 
modifiers="GDK_CONTROL_MASK"/>
+                    <accelerator key="W" signal="clicked" 
modifiers="GDK_CONTROL_MASK"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>

Reply via email to