gnome-packagekit r402 - in trunk: . data src



Author: rhughes
Date: Wed Oct 29 10:44:06 2008
New Revision: 402
URL: http://svn.gnome.org/viewvc/gnome-packagekit?rev=402&view=rev

Log:
massive translation string update -- hope this helps guys

Modified:
   trunk/NEWS
   trunk/configure.ac
   trunk/data/gnome-packagekit.schemas.in
   trunk/data/gpk-backend-status.glade
   trunk/data/gpk-eula.glade
   trunk/data/gpk-log.glade
   trunk/data/gpk-prefs.glade
   trunk/data/gpk-service-pack.glade
   trunk/data/gpk-update-viewer.glade
   trunk/src/gpk-application-main.c
   trunk/src/gpk-application.c
   trunk/src/gpk-backend-status.c
   trunk/src/gpk-check-update.c
   trunk/src/gpk-client-chooser.c
   trunk/src/gpk-client-dialog.c
   trunk/src/gpk-client-run.c
   trunk/src/gpk-client-untrusted.c
   trunk/src/gpk-client.c
   trunk/src/gpk-common.c
   trunk/src/gpk-consolekit.c
   trunk/src/gpk-enum.c
   trunk/src/gpk-firmware.c
   trunk/src/gpk-hardware.c
   trunk/src/gpk-inhibit.c
   trunk/src/gpk-install-catalog.c
   trunk/src/gpk-install-local-file.c
   trunk/src/gpk-install-mime-type.c
   trunk/src/gpk-install-package-name.c
   trunk/src/gpk-install-provide-file.c
   trunk/src/gpk-log.c
   trunk/src/gpk-prefs.c
   trunk/src/gpk-repo.c
   trunk/src/gpk-service-pack.c
   trunk/src/gpk-update-icon.c
   trunk/src/gpk-update-viewer.c
   trunk/src/gpk-watch.c

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Wed Oct 29 10:44:06 2008
@@ -1,3 +1,31 @@
+Version 0.3.9
+~~~~~~~~~~~~~
+Released: 2008-10-27
+
+* Translations
+ - Added Kannada Translation (Shankar Prasad)
+ - Added Telugu translation (Krishnababu Krothapalli)
+ - Added Assamese Translation (Amitakhya Phukan)
+ - Added Malayalam translation (Ani Peter)
+ - Updated Swedish translation (Daniel Nylander)
+ - Updated Hungarian translation (Gabor Kelemen)
+ - Updated Italian translation (Gianvito Cavasoli)
+ - Updated Bengali India Translation (Runa Bhattacharjee)
+
+* New Features:
+ - Make the filter textbox in gpk-log act as search as you type, and allow
+   columns to be sorted (Richard Hughes)
+
+* Bugfix:
+ - Enforce a delay when the system state changes to fix RH#467746 (Richard Hughes)
+ - Don't show 'untitled window' when we review updates and then update them (Richard Hughes)
+ - Don't set resizable FALSE when operating in small form factor mode (Richard Hughes)
+ - When we process the update list, sort it by the package name. Fixes one
+   half of rh#467582 (Richard Hughes)
+ - Filter out the same package with multiple architectures from the security popop.
+   Fixes the second half of #467582 (Richard Hughes)
+ - Don't show the filter textbox when we show the Run UI in gpk-application (Richard Hughes)
+
 Version 0.3.8
 ~~~~~~~~~~~~~~
 Released: 2008-10-20

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Wed Oct 29 10:44:06 2008
@@ -1,6 +1,6 @@
 AC_PREREQ(2.52)
 
-AC_INIT(gnome-packagekit, 0.3.9)
+AC_INIT(gnome-packagekit, 0.3.10)
 AC_CONFIG_SRCDIR(src)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 AM_CONFIG_HEADER(config.h)
@@ -48,7 +48,7 @@
 dnl ---------------------------------------------------------------------------
 dnl - Library dependencies
 dnl ---------------------------------------------------------------------------
-PACKAGEKIT_REQUIRED=0.3.7
+PACKAGEKIT_REQUIRED=0.3.8
 GLIB_REQUIRED=2.14.0
 GTK_REQUIRED=2.12.0
 DBUS_REQUIRED=1.1.2

Modified: trunk/data/gnome-packagekit.schemas.in
==============================================================================
--- trunk/data/gnome-packagekit.schemas.in	(original)
+++ trunk/data/gnome-packagekit.schemas.in	Wed Oct 29 10:44:06 2008
@@ -68,8 +68,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>Notify the user when we have failed an update</short>
-        <long>Notify the user when we have failed an update</long>
+        <short>Notify the user for failed updates</short>
+        <long>Notify the user for failed updates</long>
       </locale>
     </schema>
 
@@ -80,8 +80,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>Notify the user when we have completed an update</short>
-        <long>Notify the user when we have completed an update</long>
+        <short>Notify the user for completed updates</short>
+        <long>Notify the user for completed updates</long>
       </locale>
     </schema>
 
@@ -92,8 +92,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>Notify the user when we have completed an update and need to restart</short>
-        <long>Notify the user when we have completed an update and need to restart</long>
+        <short>Notify the user for completed updates where the user needs to restart</short>
+        <long>Notify the user for completed updates where the user needs to restart</long>
       </locale>
     </schema>
 
@@ -104,8 +104,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>Notify the user when we have not started an auto-update on battery</short>
-        <long>Notify the user when we have not started an auto-update on battery</long>
+        <short>Notify the user when the update was not started an auto-update on battery</short>
+        <long>Notify the user when the update was not started an auto-update on battery</long>
       </locale>
     </schema>
 
@@ -116,8 +116,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>Notify the user when we have started an update</short>
-        <long>Notify the user when we have started an update</long>
+        <short>Notify the user when the update was started</short>
+        <long>Notify the user when the update was started</long>
       </locale>
     </schema>
 
@@ -128,8 +128,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>Notify the user when we have messages</short>
-        <long>Notify the user when we have messages</long>
+        <short>Notify the user for messages</short>
+        <long>Notify the user for messages</long>
       </locale>
     </schema>
 
@@ -140,8 +140,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>Notify the user when we have errors</short>
-        <long>Notify the user when we have errors</long>
+        <short>Notify the user for errors</short>
+        <long>Notify the user for errors</long>
       </locale>
     </schema>
 
@@ -212,8 +212,8 @@
       <type>int</type>
       <default>300</default>
       <locale name="C">
-        <short>The number of seconds at session startup to wait before we check for updates</short>
-        <long>The number of seconds at session startup to wait before we check for updates</long>
+        <short>The number of seconds at session startup to wait before checking for updates</short>
+        <long>The number of seconds at session startup to wait before checking for updates</long>
       </locale>
     </schema>
 
@@ -224,9 +224,9 @@
       <type>bool</type>
       <default>false</default>
       <locale name="C">
-        <short>If we should get the update list when the session starts</short>
+        <short>Get the update list when the session starts</short>
         <long>
-          If we should get the update list when the session starts, even if we are not scheduled to.
+          Get the update list when the session starts, even if not scheduled to.
           This ensures the user has up to date and valid data in the tray at startup.
         </long>
       </locale>
@@ -239,8 +239,8 @@
       <type>string</type>
       <default>daily</default>
       <locale name="C">
-        <short>How often we should check for updates</short>
-        <long>How often we should check for updates. Options are "hourly", "daily", "weekly", "never"</long>
+        <short>How often to check for updates</short>
+        <long>How often to check for updates. Options are "hourly", "daily", "weekly", "never"</long>
       </locale>
     </schema>
 
@@ -251,8 +251,8 @@
       <type>string</type>
       <default>weekly</default>
       <locale name="C">
-        <short>How often we should check for distribution upgrades</short>
-        <long>How often we should check for distribution upgrades. Options are "daily", "weekly", "never"</long>
+        <short>How often to check for distribution upgrades</short>
+        <long>How often to check for distribution upgrades. Options are "daily", "weekly", "never"</long>
       </locale>
     </schema>
 
@@ -263,8 +263,8 @@
       <type>string</type>
       <default>daily</default>
       <locale name="C">
-        <short>How often we should refresh the package cache</short>
-        <long>How often we should refresh the package cache. Options are "daily", "weekly", "never"</long>
+        <short>How often to refresh the package cache</short>
+        <long>How often to refresh the package cache. Options are "daily", "weekly", "never"</long>
       </locale>
     </schema>
 
@@ -287,8 +287,8 @@
       <type>bool</type>
       <default>false</default>
       <locale name="C">
-        <short>If we should install updates automatically when on battery power</short>
-        <long>If we should install updates automatically when on battery power</long>
+        <short>Install updates automatically when on battery power</short>
+        <long>Install updates automatically when on battery power</long>
       </locale>
     </schema>
 
@@ -299,8 +299,8 @@
       <type>bool</type>
       <default>false</default>
       <locale name="C">
-        <short>If we should filter using basename in gpk-application</short>
-        <long>If we should filter package lists using basename in gpk-application</long>
+        <short>Filter using basename in gpk-application</short>
+        <long>Filter package lists using basename in gpk-application</long>
       </locale>
     </schema>
 
@@ -311,8 +311,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>If we should filter using newest in gpk-application</short>
-        <long>If we should filter package lists using newest in gpk-application</long>
+        <short>Filter using newest in gpk-application</short>
+        <long>Filter package lists using newest in gpk-application</long>
       </locale>
     </schema>
 
@@ -323,8 +323,8 @@
       <type>bool</type>
       <default>false</default>
       <locale name="C">
-        <short>If we should show the category group menu</short>
-        <long>If we should show the category group menu. This is more complete and custom to the distribution, but takes longer to populate</long>
+        <short>Show the category group menu</short>
+        <long>Show the category group menu. This is more complete and custom to the distribution, but takes longer to populate</long>
       </locale>
     </schema>
 
@@ -335,8 +335,8 @@
       <type>bool</type>
       <default>false</default>
       <locale name="C">
-        <short>If we should show all repositories in the software source viewer</short>
-        <long>If we should show all repositories in the software source viewer</long>
+        <short>Show all repositories in the software source viewer</short>
+        <long>Show all repositories in the software source viewer</long>
       </locale>
     </schema>
 
@@ -347,8 +347,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>If we should precache all update details in the update viewer</short>
-        <long>If we should precache all update details in the update viewer</long>
+        <short>Precache all update details in the update viewer</short>
+        <long>Precache all update details in the update viewer</long>
       </locale>
     </schema>
 
@@ -359,8 +359,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>If we should allow applications to invoke the font installer</short>
-        <long>If we should allow applications to invoke the font installer</long>
+        <short>Allow applications to invoke the font installer</short>
+        <long>Allow applications to invoke the font installer</long>
       </locale>
     </schema>
 
@@ -371,8 +371,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>If we should allow applications to invoke the codec installer</short>
-        <long>If we should allow applications to invoke the codec installer</long>
+        <short>Allow applications to invoke the codec installer</short>
+        <long>Allow applications to invoke the codec installer</long>
       </locale>
     </schema>
 
@@ -383,8 +383,8 @@
       <type>bool</type>
       <default>true</default>
       <locale name="C">
-        <short>If we should allow applications to invoke the mime type installer</short>
-        <long>If we should allow applications to invoke the mime type installer</long>
+        <short>Allow applications to invoke the mime type installer</short>
+        <long>Allow applications to invoke the mime type installer</long>
       </locale>
     </schema>
 

Modified: trunk/data/gpk-backend-status.glade
==============================================================================
--- trunk/data/gpk-backend-status.glade	(original)
+++ trunk/data/gpk-backend-status.glade	Wed Oct 29 10:44:06 2008
@@ -35,22 +35,14 @@
                         <property name="column_spacing">5</property>
                         <property name="row_spacing">5</property>
                         <child>
-                          <widget class="GtkLabel" id="label19">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Backend name:</property>
-                          </widget>
-                          <packing>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label20">
+                          <widget class="GtkLabel" id="label_author">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Backend author:</property>
+                            <property name="label">Richard Hughes</property>
                           </widget>
                           <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
                             <property name="x_options">GTK_FILL</property>
@@ -71,20 +63,28 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label_author">
+                          <widget class="GtkLabel" id="label20">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
-                            <property name="label">Richard Hughes</property>
+                            <property name="label" translatable="yes">Backend author:</property>
                           </widget>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
                             <property name="x_options">GTK_FILL</property>
                             <property name="y_options"></property>
                           </packing>
                         </child>
+                        <child>
+                          <widget class="GtkLabel" id="label19">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Backend name:</property>
+                          </widget>
+                          <packing>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -124,115 +124,109 @@
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label15">
+                              <widget class="GtkLabel" id="label45">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">GetUpdates:</property>
+                                <property name="label">Resolve:</property>
                               </widget>
                               <packing>
+                                <property name="top_attach">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label16">
+                              <widget class="GtkImage" id="image_resolve">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">RefreshCache:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label17">
+                              <widget class="GtkLabel" id="label37">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">UpdateSystem:</property>
+                                <property name="label">Cancel </property>
                               </widget>
                               <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label25">
+                              <widget class="GtkImage" id="image_cancel">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">SearchName:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label26">
+                              <widget class="GtkImage" id="image_search_file">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">SearchDetails:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label27">
+                              <widget class="GtkImage" id="image_search_group">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">SearchGroup:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="top_attach">5</property>
                                 <property name="bottom_attach">6</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label28">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">SearchFile:</property>
-                              </widget>
-                              <packing>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_updates">
+                              <widget class="GtkImage" id="image_search_details">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_refresh_cache">
+                              <widget class="GtkImage" id="image_search_name">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
@@ -252,109 +246,115 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_name">
+                              <widget class="GtkImage" id="image_refresh_cache">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_details">
+                              <widget class="GtkImage" id="image_get_updates">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_group">
+                              <widget class="GtkLabel" id="label28">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">SearchFile:</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label27">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label">SearchGroup:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">5</property>
                                 <property name="bottom_attach">6</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_search_file">
+                              <widget class="GtkLabel" id="label26">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">SearchDetails:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_cancel">
+                              <widget class="GtkLabel" id="label25">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">SearchName:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label37">
+                              <widget class="GtkLabel" id="label17">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">Cancel </property>
+                                <property name="label">UpdateSystem:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_resolve">
+                              <widget class="GtkLabel" id="label16">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">RefreshCache:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label45">
+                              <widget class="GtkLabel" id="label15">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">Resolve:</property>
+                                <property name="label">GetUpdates:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
@@ -369,116 +369,109 @@
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label34">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">UpdatePackage:</property>
-                              </widget>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label33">
+                              <widget class="GtkImage" id="image_get_files">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">InstallPackage:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label32">
+                              <widget class="GtkLabel" id="label49">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">RemovePackage:</property>
+                                <property name="label">GetFiles:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="top_attach">7</property>
+                                <property name="bottom_attach">8</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label29">
+                              <widget class="GtkImage" id="image_file_install">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">GetDepends:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label30">
+                              <widget class="GtkLabel" id="label44">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">GetRequires:</property>
+                                <property name="label">InstallFile:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="top_attach">8</property>
+                                <property name="bottom_attach">9</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label31">
+                              <widget class="GtkLabel" id="label38">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">GetUpdate Detail:</property>
+                                <property name="label">GetDescription:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
-                                <property name="x_options">GTK_FILL</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_package_update">
+                              <widget class="GtkImage" id="image_get_description">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_package_install">
+                              <widget class="GtkImage" id="image_get_update_detail">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="top_attach">5</property>
+                                <property name="bottom_attach">6</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_package_remove">
+                              <widget class="GtkImage" id="image_get_requires">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
@@ -498,111 +491,118 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_requires">
+                              <widget class="GtkImage" id="image_package_remove">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_update_detail">
+                              <widget class="GtkImage" id="image_package_install">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_description">
+                              <widget class="GtkImage" id="image_package_update">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
-                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label38">
+                              <widget class="GtkLabel" id="label31">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">GetDescription:</property>
+                                <property name="label">GetUpdate Detail:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">6</property>
-                                <property name="bottom_attach">7</property>
+                                <property name="top_attach">5</property>
+                                <property name="bottom_attach">6</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label44">
+                              <widget class="GtkLabel" id="label30">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">InstallFile:</property>
+                                <property name="label">GetRequires:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_file_install">
+                              <widget class="GtkLabel" id="label29">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">GetDepends:</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label32">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label">RemovePackage:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">8</property>
-                                <property name="bottom_attach">9</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label49">
+                              <widget class="GtkLabel" id="label33">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">GetFiles:</property>
+                                <property name="label">InstallPackage:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_files">
+                              <widget class="GtkLabel" id="label34">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">UpdatePackage:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">7</property>
-                                <property name="bottom_attach">8</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                           </widget>
@@ -618,67 +618,56 @@
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label8">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">GetPackages</property>
-                              </widget>
-                              <packing>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkImage" id="image_get_packages">
+                              <widget class="GtkImage" id="image_what_provides">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label46">
+                              <widget class="GtkLabel" id="label2">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">GetRepositoryList:</property>
+                                <property name="label">WhatProvides:</property>
                               </widget>
                               <packing>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label47">
+                              <widget class="GtkImage" id="image_get_repo_list">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">RepositoryEnable:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label48">
+                              <widget class="GtkImage" id="image_repo_set_data">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">RepositorySetData:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="top_attach">2</property>
                                 <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -696,58 +685,69 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_repo_set_data">
+                              <widget class="GtkLabel" id="label48">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">RepositorySetData:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
                                 <property name="top_attach">2</property>
                                 <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_get_repo_list">
+                              <widget class="GtkLabel" id="label47">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">RepositoryEnable:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label2">
+                              <widget class="GtkLabel" id="label46">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">WhatProvides:</property>
+                                <property name="label">GetRepositoryList:</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_what_provides">
+                              <widget class="GtkImage" id="image_get_packages">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
+                            <child>
+                              <widget class="GtkLabel" id="label8">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label">GetPackages</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
+                              </packing>
+                            </child>
                           </widget>
                           <packing>
                             <property name="position">2</property>
@@ -794,99 +794,90 @@
                             <property name="column_spacing">5</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkLabel" id="label3">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">Newest:</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">6</property>
-                                <property name="right_attach">7</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkImage" id="image_newest">
+                              <widget class="GtkLabel" id="label7">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">7</property>
                                 <property name="right_attach">8</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label14">
+                              <widget class="GtkLabel" id="label1">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">GUI:</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">6</property>
+                                <property name="right_attach">7</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_gui">
+                              <widget class="GtkImage" id="image_supported">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">5</property>
+                                <property name="right_attach">6</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label12">
+                              <widget class="GtkImage" id="image_visible">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">Installed:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="y_options"></property>
+                                <property name="left_attach">5</property>
+                                <property name="right_attach">6</property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_installed">
+                              <widget class="GtkLabel" id="label5">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">Supported:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
+                                <property name="left_attach">4</property>
+                                <property name="right_attach">5</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label13">
+                              <widget class="GtkLabel" id="label4">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">Development:</property>
+                                <property name="label">Visible:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">2</property>
-                                <property name="right_attach">3</property>
+                                <property name="left_attach">4</property>
+                                <property name="right_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_devel">
+                              <widget class="GtkImage" id="image_free">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">3</property>
                                 <property name="right_attach">4</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
@@ -906,91 +897,100 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_free">
+                              <widget class="GtkImage" id="image_devel">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">3</property>
                                 <property name="right_attach">4</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label4">
+                              <widget class="GtkLabel" id="label13">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label">Visible:</property>
+                                <property name="label">Development:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">4</property>
-                                <property name="right_attach">5</property>
+                                <property name="left_attach">2</property>
+                                <property name="right_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label5">
+                              <widget class="GtkImage" id="image_installed">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label">Supported:</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">4</property>
-                                <property name="right_attach">5</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_visible">
+                              <widget class="GtkLabel" id="label12">
                                 <property name="visible">True</property>
-                                <property name="icon_name">gtk-dialog-error</property>
+                                <property name="xalign">0</property>
+                                <property name="label">Installed:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">5</property>
-                                <property name="right_attach">6</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkImage" id="image_supported">
+                              <widget class="GtkImage" id="image_gui">
                                 <property name="visible">True</property>
                                 <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">5</property>
-                                <property name="right_attach">6</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label1">
+                              <widget class="GtkLabel" id="label14">
                                 <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label">GUI:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">6</property>
-                                <property name="right_attach">7</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label7">
+                              <widget class="GtkImage" id="image_newest">
                                 <property name="visible">True</property>
+                                <property name="icon_name">gtk-dialog-error</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">7</property>
                                 <property name="right_attach">8</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label3">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label">Newest:</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">6</property>
+                                <property name="right_attach">7</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options"></property>
                               </packing>
                             </child>
                           </widget>

Modified: trunk/data/gpk-eula.glade
==============================================================================
--- trunk/data/gpk-eula.glade	(original)
+++ trunk/data/gpk-eula.glade	Wed Oct 29 10:44:06 2008
@@ -22,6 +22,46 @@
             <property name="column_spacing">9</property>
             <property name="row_spacing">12</property>
             <child>
+              <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                <property name="shadow_type">GTK_SHADOW_IN</property>
+                <child>
+                  <widget class="GtkTextView" id="textview_details">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap_mode">GTK_WRAP_WORD</property>
+                    <property name="cursor_visible">False</property>
+                    <property name="accepts_tab">False</property>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+              </widget>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkImage" id="image1">
+                <property name="visible">True</property>
+                <property name="stock">gtk-dialog-warning</property>
+                <property name="icon_size">6</property>
+              </widget>
+            </child>
+            <child>
               <widget class="GtkVBox" id="vbox3">
                 <property name="visible">True</property>
                 <property name="spacing">12</property>
@@ -61,46 +101,6 @@
                 <property name="right_attach">2</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkImage" id="image1">
-                <property name="visible">True</property>
-                <property name="stock">gtk-dialog-warning</property>
-                <property name="icon_size">6</property>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label2">
-                <property name="visible">True</property>
-              </widget>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="shadow_type">GTK_SHADOW_IN</property>
-                <child>
-                  <widget class="GtkTextView" id="textview_details">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="editable">False</property>
-                    <property name="wrap_mode">GTK_WRAP_WORD</property>
-                    <property name="cursor_visible">False</property>
-                    <property name="accepts_tab">False</property>
-                  </widget>
-                </child>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-              </packing>
-            </child>
           </widget>
           <packing>
             <property name="expand">False</property>

Modified: trunk/data/gpk-log.glade
==============================================================================
--- trunk/data/gpk-log.glade	(original)
+++ trunk/data/gpk-log.glade	Wed Oct 29 10:44:06 2008
@@ -90,7 +90,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">gtk-refresh</property>
+                <property name="label">gtk-refresh</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
               </widget>

Modified: trunk/data/gpk-prefs.glade
==============================================================================
--- trunk/data/gpk-prefs.glade	(original)
+++ trunk/data/gpk-prefs.glade	Wed Oct 29 10:44:06 2008
@@ -47,30 +47,41 @@
                             <property name="column_spacing">20</property>
                             <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkComboBox" id="combobox_upgrade">
+                              <widget class="GtkComboBox" id="combobox_check">
                                 <property name="visible">True</property>
                                 <property name="items"></property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label_upgrade">
+                              <widget class="GtkComboBox" id="combobox_install">
+                                <property name="visible">True</property>
+                                <property name="items"></property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label_install">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Check for major _upgrades:</property>
+                                <property name="label" translatable="yes">_Automatically install:</property>
                                 <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">combobox_check</property>
+                                <property name="mnemonic_widget">combobox_install</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
@@ -89,41 +100,30 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label_install">
+                              <widget class="GtkLabel" id="label_upgrade">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">_Automatically install:</property>
+                                <property name="label" translatable="yes">Check for major _upgrades:</property>
                                 <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">combobox_install</property>
+                                <property name="mnemonic_widget">combobox_check</property>
                               </widget>
                               <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="combobox_install">
-                                <property name="visible">True</property>
-                                <property name="items"></property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="y_options">GTK_FILL</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkComboBox" id="combobox_check">
+                              <widget class="GtkComboBox" id="combobox_upgrade">
                                 <property name="visible">True</property>
                                 <property name="items"></property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>

Modified: trunk/data/gpk-service-pack.glade
==============================================================================
--- trunk/data/gpk-service-pack.glade	(original)
+++ trunk/data/gpk-service-pack.glade	Wed Oct 29 10:44:06 2008
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.4 on Fri Oct 10 12:14:12 2008 -->
+<!--Generated with glade3 3.4.5 on Mon Oct 27 15:55:30 2008 -->
 <glade-interface>
   <widget class="GtkWindow" id="window_pack">
     <property name="title" translatable="yes">Service Pack Creator</property>
@@ -117,11 +117,11 @@
                     <child>
                       <widget class="GtkFileChooserButton" id="filechooserbutton_directory">
                         <property name="visible">True</property>
-                        <property name="local_only">False</property>
-                        <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
                         <property name="use_preview_label">False</property>
-                        <property name="do_overwrite_confirmation">True</property>
                         <property name="preview_widget_active">False</property>
+                        <property name="do_overwrite_confirmation">True</property>
+                        <property name="local_only">False</property>
+                        <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
                         <property name="title" translatable="yes">Save New Service Pack</property>
                       </widget>
                       <packing>
@@ -134,9 +134,9 @@
                     <child>
                       <widget class="GtkFileChooserButton" id="filechooserbutton_exclude">
                         <property name="visible">True</property>
-                        <property name="local_only">False</property>
-                        <property name="do_overwrite_confirmation">True</property>
                         <property name="preview_widget_active">False</property>
+                        <property name="do_overwrite_confirmation">True</property>
+                        <property name="local_only">False</property>
                         <property name="title" translatable="yes">Select A Package List File</property>
                       </widget>
                       <packing>
@@ -216,7 +216,6 @@
                   <widget class="GtkProgressBar" id="progressbar_percentage">
                     <property name="visible">True</property>
                     <property name="show_text">True</property>
-                    <property name="text" translatable="yes"></property>
                   </widget>
                 </child>
               </widget>
@@ -247,7 +246,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">gtk-help</property>
+                <property name="label">gtk-help</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
               </widget>
@@ -274,7 +273,7 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">gtk-close</property>
+                <property name="label">gtk-close</property>
                 <property name="use_stock">True</property>
                 <property name="response_id">0</property>
               </widget>

Modified: trunk/data/gpk-update-viewer.glade
==============================================================================
--- trunk/data/gpk-update-viewer.glade	(original)
+++ trunk/data/gpk-update-viewer.glade	Wed Oct 29 10:44:06 2008
@@ -104,19 +104,14 @@
                         <property name="column_spacing">6</property>
                         <property name="row_spacing">6</property>
                         <child>
-                          <widget class="GtkLabel" id="label_last_refresh_title">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Last refresh:</property>
-                          </widget>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label_last_update_title">
+                          <widget class="GtkLabel" id="label_last_update">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Last update:</property>
+                            <property name="label">Unknown....</property>
                           </widget>
                           <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
                           </packing>
@@ -133,18 +128,23 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label_last_update">
+                          <widget class="GtkLabel" id="label_last_update_title">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
-                            <property name="label">Unknown....</property>
+                            <property name="label" translatable="yes">Last update:</property>
                           </widget>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
                             <property name="top_attach">1</property>
                             <property name="bottom_attach">2</property>
                           </packing>
                         </child>
+                        <child>
+                          <widget class="GtkLabel" id="label_last_refresh_title">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Last refresh:</property>
+                          </widget>
+                        </child>
                       </widget>
                       <packing>
                         <property name="expand">False</property>

Modified: trunk/src/gpk-application-main.c
==============================================================================
--- trunk/src/gpk-application-main.c	(original)
+++ trunk/src/gpk-application-main.c	Wed Oct 29 10:44:06 2008
@@ -73,8 +73,10 @@
 
 	const GOptionEntry options[] = {
 		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
+		  /* TRANSLATORS: show the debug data on the console */
 		  _("Show extra debugging information"), NULL },
 		{ "version", '\0', 0, G_OPTION_ARG_NONE, &program_version,
+		  /* TRANSLATORS: show the program version */
 		  _("Show the program version and exit"), NULL },
 		{ NULL}
 	};

Modified: trunk/src/gpk-application.c
==============================================================================
--- trunk/src/gpk-application.c	(original)
+++ trunk/src/gpk-application.c	Wed Oct 29 10:44:06 2008
@@ -511,6 +511,7 @@
 
 	/* title */
 	id = pk_package_id_new_from_string (application->priv->package);
+	/* TRANSLATORS: title: how many files are installed by the application */
 	title = g_strdup_printf (ngettext ("%i file installed by %s",
 					   "%i files installed by %s",
 					   array->len), array->len, id->name);
@@ -689,7 +690,10 @@
 	list = pk_client_get_package_list (application->priv->client_files);
 	widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
 	if (pk_package_list_get_size (list) == 0) {
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("No packages"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: no packages returned */
+					_("No packages"),
+					/* TRANSLATORS: this package is not required by any others */
 					_("No other packages require this package"), NULL);
 	} else {
 		gchar *name;
@@ -700,10 +704,12 @@
 
 		length = pk_package_list_get_size (list);
 		name = gpk_dialog_package_id_name_join_locale (package_ids);
+		/* TRANSLATORS: title: how many packages require this package */
 		title = g_strdup_printf (ngettext ("%i additional package require %s",
 						   "%i additional packages require %s",
 						   length), length, name);
 
+		/* TRANSLATORS: show a list of packages for the package */
 		message = g_strdup_printf (ngettext ("Packages listed below require %s to function correctly.",
 						     "Packages listed below require %s to function correctly.",
 						     length), name);
@@ -761,7 +767,10 @@
 	list = pk_client_get_package_list (application->priv->client_files);
 	widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
 	if (pk_package_list_get_size (list) == 0) {
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("No packages"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: no packages returned */
+					_("No packages"),
+					/* TRANSLATORS: this package does not depend on any others */
 					_("This package does not depends on any others"), NULL);
 	} else {
 		gchar *name;
@@ -772,10 +781,12 @@
 
 		length = pk_package_list_get_size (list);
 		name = gpk_dialog_package_id_name_join_locale (package_ids);
+		/* TRANSLATORS: title: show the number of other packages we depend on */
 		title = g_strdup_printf (ngettext ("%i additional package is required for %s",
 						   "%i additional packages are required for %s",
 						   length), length, name);
 
+		/* TRANSLATORS: message: show the list of packages for this package */
 		message = g_strdup_printf (ngettext ("Packages listed below are required for %s to function correctly.",
 						     "Packages listed below are required for %s to function correctly.",
 						     length), name);
@@ -808,6 +819,7 @@
 	/* if no data, we can't look up in the hash table */
 	if (egg_strzero (data)) {
 		egg_warning ("no ident data");
+		/* TRANSLATORS: the repo name is invalid or not found, fall back to this */
 		return _("Invalid");
 	}
 
@@ -963,6 +975,7 @@
 
 	/* if a collection, mark as such */
 	if (egg_strequal (details->id->data, "meta"))
+		/* TRANSLATORS: the type of package is a collection (metagroup) */
 		gpk_application_add_detail_item (application, _("Type"), _("Collection"), NULL);
 
 	/* homepage */
@@ -970,11 +983,12 @@
 	if (egg_strzero (details->url) == FALSE) {
 		gtk_widget_set_sensitive (widget, TRUE);
 
-		/* set the tooltip to where we are going */
+		/* TRANSLATORS: tooltip: go to the web address */
 		text = g_strdup_printf (_("Visit %s"), details->url);
 		gtk_widget_set_tooltip_text (widget, text);
 		g_free (text);
 
+		/* TRANSLATORS: add an entry to go to the project home page */
 		gpk_application_add_detail_item (application, _("Project"), _("Homepage"), details->url);
 
 		/* save the url for the button */
@@ -988,13 +1002,13 @@
 	/* group */
 	if (details->group != PK_GROUP_ENUM_UNKNOWN) {
 		group = gpk_group_enum_to_localised_text (details->group);
+		/* TRANSLATORS: the group the package belongs in */
 		gpk_application_add_detail_item (application, _("Group"), group, NULL);
 	}
 
 	/* group */
 	if (!egg_strzero (details->license)) {
-		/* This should be a licence enum value - bad API, bad.
-		 * license = pk_license_enum_to_text (license_enum); */
+		/* TRANSLATORS: the licence string for the package */
 		gpk_application_add_detail_item (application, _("License"), details->license, NULL);
 	}
 
@@ -1009,10 +1023,13 @@
 		/* set the size */
 		value = g_format_size_for_display (details->size);
 		if (egg_strequal (details->id->data, "meta"))
+			/* TRANSLATORS: the size of the meta package */
 			gpk_application_add_detail_item (application, _("Size"), value, NULL);
 		else if (installed)
+			/* TRANSLATORS: the installed size in bytes of the package */
 			gpk_application_add_detail_item (application, _("Installed size"), value, NULL);
 		else
+			/* TRANSLATORS: the download size of the package */
 			gpk_application_add_detail_item (application, _("Download size"), value, NULL);
 		g_free (value);
 	}
@@ -1021,6 +1038,7 @@
 	if (!installed && !egg_strequal (details->id->data, "meta")) {
 		/* get the full name of the repo from the repo_id */
 		repo_name = gpk_application_get_full_repo_name (application, details->id->data);
+		/* TRANSLATORS: where the package came from, the software source name */
 		gpk_application_add_detail_item (application, _("Source"), repo_name, NULL);
 	}
 }
@@ -1170,6 +1188,7 @@
 gpk_application_suggest_better_search (GpkApplication *application)
 {
 	const gchar *message = NULL;
+	/* TRANSLATORS: no results were found for this search */
 	const gchar *title = _("No results were found.");
 	GtkTreeIter iter;
 	gchar *text;
@@ -1177,13 +1196,15 @@
 
 	if (application->priv->search_mode == PK_MODE_GROUP ||
 	    application->priv->search_mode == PK_MODE_ALL_PACKAGES) {
-		/* this shouldn't happen */
+		/* TRANSLATORS: be helpful, but this shouldn't happen */
 		message = _("Try entering a package name in the search bar.");
 	} else {
 		if (application->priv->search_type == PK_SEARCH_NAME ||
 		    application->priv->search_type == PK_SEARCH_FILE)
+			/* TRANSLATORS: tell the user to switch to details search mode */
 			message = _("Try searching package descriptions by clicking the icon next to the search text.");
 		else
+			/* TRANSLATORS: tell the user to try harder */
 			message = _("Try again with a different search term.");
 	}
 
@@ -1286,7 +1307,10 @@
 		egg_debug ("invalid input text, will fail");
 		/* TODO - make the dialog turn red... */
 		widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Invalid search text"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: invlid text in the search bar */
+					_("Invalid search text"),
+					/* TRANSLATORS: message: tell the user that's not allowed */
 					_("The search text contains invalid characters"), NULL);
 		return FALSE;
 	}
@@ -1320,7 +1344,10 @@
 
 	if (!ret) {
 		widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("The search could not be completed"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: we failed to execute the mthod */
+					_("The search could not be completed"),
+					/* TRANSLATORS: low level failure, details to follow */
 					_("Running the transaction failed"), error->message);
 		g_error_free (error);
 		return FALSE;
@@ -1361,7 +1388,10 @@
 
 	if (!ret) {
 		widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("The group could not be queried"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: could not get group data */
+					_("The group could not be queried"),
+					/* TRANSLATORS: low level failure */
 					_("Running the transaction failed"), error->message);
 		g_error_free (error);
 		return FALSE;
@@ -1434,10 +1464,13 @@
 		widget = glade_xml_get_widget (application->priv->glade_xml, "window_manager");
 		dialog = gtk_message_dialog_new (GTK_WINDOW (widget), GTK_DIALOG_MODAL,
 						 GTK_MESSAGE_WARNING, GTK_BUTTONS_CANCEL,
+						 /* TRANSLATORS: title: warn the user they are quitting with unapplied changes */
 						 "%s", _("Changes not applied"));
 		gtk_dialog_add_button (GTK_DIALOG(dialog), _("Close Anyway"), GTK_RESPONSE_OK);
 		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG(dialog),
-							  "%s\n%s", _("You have made changes that have not yet been applied."),
+							  "%s\n%s",
+							  /* TRANSLATORS: tell the user the problem */
+							  _("You have made changes that have not yet been applied."),
 							  _("These changes will be lost if you close this window."));
 		gtk_window_set_icon_name (GTK_WINDOW(dialog), GPK_ICON_SOFTWARE_INSTALLER);
 		result = gtk_dialog_run (GTK_DIALOG(dialog));
@@ -1690,6 +1723,8 @@
 	/* column for installed toggles */
 	renderer = gtk_cell_renderer_toggle_new ();
 	g_signal_connect (renderer, "toggled", G_CALLBACK (gpk_application_packages_installed_clicked_cb), application);
+
+	/* TRANSLATORS: column for installed status */
 	column = gtk_tree_view_column_new_with_attributes (_("Installed"), renderer,
 							   "active", PACKAGES_COLUMN_CHECKBOX,
 							   "visible", PACKAGES_COLUMN_CHECKBOX_ENABLE, NULL);
@@ -1705,6 +1740,7 @@
 
 	/* column for name */
 	renderer = gtk_cell_renderer_text_new ();
+	/* TRANSLATORS: column for package name */
 	column = gtk_tree_view_column_new_with_attributes (_("Name"), renderer,
 							   "markup", PACKAGES_COLUMN_TEXT, NULL);
 	gtk_tree_view_column_set_sort_column_id (column, PACKAGES_COLUMN_TEXT);
@@ -1726,6 +1762,7 @@
 
 	/* column for name */
 	renderer = gtk_cell_renderer_text_new ();
+	/* TRANSLATORS: column for group name */
 	column = gtk_tree_view_column_new_with_attributes (_("Name"), renderer,
 							   "text", GROUPS_COLUMN_NAME,
 							   "text", GROUPS_COLUMN_SUMMARY, NULL);
@@ -1974,6 +2011,7 @@
 
 	/* set the new icon */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "entry_text");
+	/* TRANSLATORS: entry tooltip: basic search */
 	gtk_widget_set_tooltip_text (widget, _("Searching by name"));
 	icon = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
 	sexy_icon_entry_set_icon (SEXY_ICON_ENTRY (widget), SEXY_ICON_ENTRY_PRIMARY, GTK_IMAGE (icon));
@@ -1995,6 +2033,7 @@
 
 	/* set the new icon */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "entry_text");
+	/* TRANSLATORS: entry tooltip: detailed search */
 	gtk_widget_set_tooltip_text (widget, _("Searching by description"));
 	icon = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU);
 	sexy_icon_entry_set_icon (SEXY_ICON_ENTRY (widget), SEXY_ICON_ENTRY_PRIMARY, GTK_IMAGE (icon));
@@ -2016,6 +2055,7 @@
 
 	/* set the new icon */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "entry_text");
+	/* TRANSLATORS: entry tooltip: file search */
 	gtk_widget_set_tooltip_text (widget, _("Searching by file"));
 	icon = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
 	sexy_icon_entry_set_icon (SEXY_ICON_ENTRY (widget), SEXY_ICON_ENTRY_PRIMARY, GTK_IMAGE (icon));
@@ -2041,6 +2081,7 @@
 	egg_debug ("icon_pos=%i", icon_pos);
 
 	if (pk_bitfield_contain (application->priv->roles, PK_ROLE_ENUM_SEARCH_NAME)) {
+		/* TRANSLATORS: context menu item for the search type icon */
 		item = gtk_image_menu_item_new_with_mnemonic (_("Search by name"));
 		image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
 		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -2050,6 +2091,7 @@
 	}
 
 	if (pk_bitfield_contain (application->priv->roles, PK_ROLE_ENUM_SEARCH_DETAILS)) {
+		/* TRANSLATORS: context menu item for the search type icon */
 		item = gtk_image_menu_item_new_with_mnemonic (_("Search by description"));
 		image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU);
 		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -2059,6 +2101,7 @@
 	}
 
 	if (pk_bitfield_contain (application->priv->roles, PK_ROLE_ENUM_SEARCH_FILE)) {
+		/* TRANSLATORS: context menu item for the search type icon */
 		item = gtk_image_menu_item_new_with_mnemonic (_("Search by file name"));
 		image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
 		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -2113,6 +2156,7 @@
 						       GTK_DIALOG_MODAL,
 						       GTK_MESSAGE_INFO,
 						       GTK_BUTTONS_OK,
+						       /* TRANSLATORS: packaging problem, failed to show link */
 						       _("Failed to show url"));
 		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (error_dialog),
 							  "%s", error->message);
@@ -2166,6 +2210,7 @@
 		   "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
 		   "02110-1301, USA.")
 	};
+	/* TRANSLATORS: put your own name here -- you deserve credit! */
 	const char  *translators = _("translator-credits");
 	char	    *license_trans;
 
@@ -2193,6 +2238,7 @@
 			       "license", license_trans,
 			       "website-label", _("PackageKit Website"),
 			       "website", "http://www.packagekit.org";,
+				/* TRANSLATORS: description of application, gpk-application that is */
 			       "comments", _("Package Manager for GNOME"),
 			       "authors", authors,
 			       "documenters", documenters,
@@ -2660,6 +2706,7 @@
 	/* column for uris */
 	renderer = gpk_cell_renderer_uri_new ();
 	g_signal_connect (renderer, "clicked", G_CALLBACK (gpk_application_treeview_renderer_clicked), application);
+	/* TRANSLATORS: single column for the package details, not visible at the moment */
 	column = gtk_tree_view_column_new_with_attributes (_("Text"), renderer,
 							   "text", DETAIL_COLUMN_TEXT,
 							   "uri", DETAIL_COLUMN_URI, NULL);
@@ -2682,8 +2729,10 @@
 
 	/* enter something nice */
 	if (pk_bitfield_contain (application->priv->roles, PK_ROLE_ENUM_SEARCH_GROUP)) {
+		/* TRANSLATORS: welcome text if we can click the group list */
 		welcome = _("Enter a package name and then click find, or click a group to get started.");
 	} else {
+		/* TRANSLATORS: welcome text if we have to search by name */
 		welcome = _("Enter a package name and then click find to get started.");
 	}
 	gtk_list_store_set (application->priv->packages_store, &iter,
@@ -2715,7 +2764,9 @@
 		gtk_tree_store_append (application->priv->groups_store, &iter, NULL);
 		icon_name = gpk_role_enum_to_icon_name (PK_ROLE_ENUM_GET_PACKAGES);
 		gtk_tree_store_set (application->priv->groups_store, &iter,
+				    /* TRANSLATORS: title: all of the packages on the system and availble in sources */
 				    GROUPS_COLUMN_NAME, _("All packages"),
+				    /* TRANSLATORS: tooltip: all packages */
 				    GROUPS_COLUMN_SUMMARY, _("Show all packages"),
 				    GROUPS_COLUMN_ID, "all-packages",
 				    GROUPS_COLUMN_ACTIVE, TRUE,
@@ -2784,7 +2835,9 @@
 		gtk_tree_store_append (application->priv->groups_store, &iter, NULL);
 		icon_name = gpk_role_enum_to_icon_name (PK_ROLE_ENUM_GET_PACKAGES);
 		gtk_tree_store_set (application->priv->groups_store, &iter,
+				    /* TRANSLATORS: title: all of the packages on the system and availble in sources */
 				    GROUPS_COLUMN_NAME, _("All packages"),
+				    /* TRANSLATORS: tooltip: all packages */
 				    GROUPS_COLUMN_SUMMARY, _("Show all packages"),
 				    GROUPS_COLUMN_ID, "all-packages",
 				    GROUPS_COLUMN_ACTIVE, TRUE,
@@ -3083,6 +3136,7 @@
 	widget = glade_xml_get_widget (application->priv->glade_xml, "button_clear");
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (gpk_application_button_clear_cb), application);
+	/* TRANSLATORS: tooltip on the clear button */
 	gtk_widget_set_tooltip_text (widget, _("Clear current selection"));
 
 	/* help */
@@ -3094,6 +3148,7 @@
 	widget = glade_xml_get_widget (application->priv->glade_xml, "button_apply");
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (gpk_application_button_apply_cb), application);
+	/* TRANSLATORS: tooltip on the apply button */
 	gtk_widget_set_tooltip_text (widget, _("Changes are not applied instantly, this button applies all changes"));
 
 	widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_about");
@@ -3115,7 +3170,8 @@
 	widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_homepage");
 	g_signal_connect (widget, "activate",
 			  G_CALLBACK (gpk_application_menu_homepage_cb), application);
-	gtk_widget_set_tooltip_text (widget, _("Visit homepage for selected package"));
+	/* TRANSLATORS: tooltip on the homepage button */
+	gtk_widget_set_tooltip_text (widget, _("Visit home page for selected package"));
 
 	widget = glade_xml_get_widget (application->priv->glade_xml, "menuitem_files");
 	g_signal_connect (widget, "activate",
@@ -3270,12 +3326,14 @@
 	widget = glade_xml_get_widget (application->priv->glade_xml, "button_find");
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (gpk_application_find_cb), application);
+	/* TRANSLATORS: tooltip on the find button */
 	gtk_widget_set_tooltip_text (widget, _("Find packages"));
 
 	/* search cancel button */
 	widget = glade_xml_get_widget (application->priv->glade_xml, "button_cancel");
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (gpk_application_cancel_cb), application);
+	/* TRANSLATORS: tooltip on the cancel button */
 	gtk_widget_set_tooltip_text (widget, _("Cancel search"));
 
 	/* the fancy text entry widget */
@@ -3377,7 +3435,7 @@
 	gtk_widget_set_sensitive (widget, FALSE);
 
 	/* set a size, if the screen allows */
-	ret = gpk_window_set_size_request (GTK_WINDOW (main_window), 100000, 500);
+	ret = gpk_window_set_size_request (GTK_WINDOW (main_window), 1000, 500);
 
 	/* we are small form factor */
 	if (!ret) {

Modified: trunk/src/gpk-backend-status.c
==============================================================================
--- trunk/src/gpk-backend-status.c	(original)
+++ trunk/src/gpk-backend-status.c	Wed Oct 29 10:44:06 2008
@@ -119,6 +119,7 @@
 	/* general stuff */
 	retval = pk_control_get_backend_detail (control, &name, &author, NULL);
 	if (FALSE == retval) {
+		/* TRANSLATORS: backend is broken, and won't tell us what it supports */
 		egg_warning (_("Exiting as backend details could not be retrieved"));
 		return 1;
 	}

Modified: trunk/src/gpk-check-update.c
==============================================================================
--- trunk/src/gpk-check-update.c	(original)
+++ trunk/src/gpk-check-update.c	Wed Oct 29 10:44:06 2008
@@ -156,6 +156,7 @@
 						       GTK_DIALOG_MODAL,
 						       GTK_MESSAGE_INFO,
 						       GTK_BUTTONS_OK,
+						       /* TRANSLATORS: normally a packaging error, cannot launch link */
 						       _("Failed to show url"));
 		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (error_dialog),
 							  "%s", error->message);
@@ -213,6 +214,7 @@
 			       "version", VERSION,
 			       "copyright", "Copyright \xc2\xa9 2007-2008 Richard Hughes",
 			       "license", license_trans,
+				/* TRANSLATORS: website label */
 			       "website-label", _("PackageKit Website"),
 			       "website", "www.packagekit.org",
 			       "comments", "PackageKit",
@@ -238,7 +240,7 @@
 
 	egg_debug ("icon right clicked");
 
-	/* Preferences */
+	/* TRANSLATORS: context menu to open the preferences */
 	item = gtk_image_menu_item_new_with_mnemonic (_("_Preferences"));
 	image = gtk_image_new_from_icon_name (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_MENU);
 	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -250,7 +252,7 @@
 	item = gtk_separator_menu_item_new ();
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
 
-	/* No help yet */
+	/* TRANSLATORS: context menu to open the offline help file */
 	item = gtk_image_menu_item_new_with_mnemonic (_("_Help"));
 	image = gtk_image_new_from_icon_name (GTK_STOCK_HELP, GTK_ICON_SIZE_MENU);
 	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -258,7 +260,7 @@
 			  G_CALLBACK (gpk_check_update_show_help_cb), icon);
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
 
-	/* About */
+	/* TRANSLATORS: context menu to show the about screen */
 	item = gtk_image_menu_item_new_with_mnemonic (_("_About"));
 	image = gtk_image_new_from_icon_name (GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU);
 	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -352,7 +354,7 @@
 
 	egg_debug ("icon left clicked");
 
-	/* show updates */
+	/* TRANSLATORS: context menu to execute the update viewer  */
 	item = gtk_image_menu_item_new_with_mnemonic (_("_Show Updates"));
 	image = gtk_image_new_from_icon_name (GPK_ICON_SOFTWARE_UPDATE, GTK_ICON_SIZE_MENU);
 	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -360,7 +362,7 @@
 			  G_CALLBACK (gpk_check_update_menuitem_show_updates_cb), icon);
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
 
-	/* update system */
+	/* TRANSLATORS: context menu to update any pending updates */
 	item = gtk_image_menu_item_new_with_mnemonic (_("_Update System Now"));
 	image = gtk_image_new_from_icon_name (GPK_ICON_SOFTWARE_UPDATE_AVAILABLE, GTK_ICON_SIZE_MENU);
 	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -470,11 +472,12 @@
 		g_ptr_array_add (cupdate->priv->important_updates_array, g_strdup (package_id));
 	}
 
-	/* format title */
+	/* TRANSLATORS: title in the libnotify popup */
 	title = ngettext ("Security update available", "Security updates available", array->len);
 
 	/* format message text */
 	string = g_string_new ("");
+	/* TRANSLATORS: message when there are security updates */
 	g_string_append (string, ngettext ("The following important update is available for your computer:",
 					   "The following important updates are available for your computer:", array->len));
 	g_string_append (string, "\n\n");
@@ -496,10 +499,13 @@
 	notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_CRITICAL);
 	notify_notification_add_action (notification, "update-just-security",
-					_("Install security updates"), gpk_check_update_libnotify_cb, cupdate, NULL);
+					/* TRANSLATORS: button: only security updates */
+					_("Install only security updates"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	notify_notification_add_action (notification, "update-all-packages",
+					/* TRANSLATORS: button: all pending updates */
 					_("Install all updates"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	notify_notification_add_action (notification, "do-not-show-notify-critical",
+					/* TRANSLATORS: button: hide forever */
 					_("Do not show this again"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	ret = notify_notification_show (notification, &error);
 	if (!ret) {
@@ -608,14 +614,17 @@
 		return FALSE;
 	}
 
-	/* do the bubble */
+	/* TRANSLATORS: policy says update, but we are on battery and so prompt */
 	message = _("Automatic updates are not being installed as the computer is on battery power");
+	/* TRANSLATORS: informs user will not install by default */
 	notification = notify_notification_new (_("Will not install updates"), message, "help-browser", NULL);
 	notify_notification_set_timeout (notification, 15000);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	notify_notification_add_action (notification, "do-not-show-update-not-battery",
+					/* TRANSLATORS: hide this warning type forever */
 					_("Do not show this warning again"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	notify_notification_add_action (notification, "update-all-packages",
+					/* TRANSLATORS: to hell with my battery life, just do it */
 					_("Do the updates anyway"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	ret = notify_notification_show (notification, &error);
 	if (!ret) {
@@ -731,6 +740,7 @@
 		/* don't have a huge notification that won't fit on the screen */
 		if (security_array->len > GPK_CHECK_UPDATE_MAX_NUMBER_SECURITY_ENTRIES) {
 			more = length - security_array->len;
+			/* TRANSLATORS: we have a notification that won't fit, so append on how many other we are not showing */
 			g_string_append_printf (status_security, ngettext ("and %d other security update",
 									   "and %d other security updates", more), more);
 			g_string_append (status_security, "...\n");
@@ -753,6 +763,7 @@
 	/* make tooltip */
 	if (status_security->len != 0)
 		g_string_set_size (status_security, status_security->len-1);
+	/* TRANSLATORS: tooltip: how many updates are waiting to be applied */
 	g_string_append_printf (status_tooltip, ngettext ("There is %d update pending",
 							  "There are %d updates pending", length), length);
 	gtk_status_icon_set_tooltip (GTK_STATUS_ICON (cupdate->priv->sicon), status_tooltip->str);
@@ -981,7 +992,7 @@
 	if (string->len != 0)
 		g_string_set_size (string, string->len-1);
 
-	/* do the bubble */
+	/* TRANSLATORS: a distro update is available, e.g. Fedora 8 to Fedora 9 */
 	title = _("Distribution upgrades available");
 	notification = notify_notification_new (title, string->str, "help-browser", NULL);
 	if (notification == NULL) {
@@ -991,8 +1002,10 @@
 	notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_NORMAL);
 	notify_notification_add_action (notification, "upgrade-info",
+					/* TRANSLATORS: provides more information about the upgrade */
 					_("More information"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	notify_notification_add_action (notification, "do-not-show-upgrade-available",
+					/* TRANSLATORS: hides forever */
 					_("Do not show this again"), gpk_check_update_libnotify_cb, cupdate, NULL);
 	ret = notify_notification_show (notification, &error);
 	if (!ret) {

Modified: trunk/src/gpk-client-chooser.c
==============================================================================
--- trunk/src/gpk-client-chooser.c	(original)
+++ trunk/src/gpk-client-chooser.c	Wed Oct 29 10:44:06 2008
@@ -125,12 +125,14 @@
 	/* image */
 	renderer = gtk_cell_renderer_pixbuf_new ();
         g_object_set (renderer, "stock-size", GTK_ICON_SIZE_DIALOG, NULL);
+	/* TRANSLATORS: column for the application icon */
 	column = gtk_tree_view_column_new_with_attributes (_("Icon"), renderer,
 							   "icon-name", GPK_CHOOSER_COLUMN_ICON, NULL);
 	gtk_tree_view_append_column (treeview, column);
 
 	/* column for text */
 	renderer = gtk_cell_renderer_text_new ();
+	/* TRANSLATORS: column for the application name */
 	column = gtk_tree_view_column_new_with_attributes (_("Package"), renderer,
 							   "markup", GPK_CHOOSER_COLUMN_TEXT, NULL);
 	gtk_tree_view_column_set_sort_column_id (column, GPK_CHOOSER_COLUMN_TEXT);
@@ -149,6 +151,7 @@
 	PolKitAction *pk_action;
 	pk_action = polkit_action_new ();
 	polkit_action_set_action_id (pk_action, "org.freedesktop.packagekit.package-install");
+	/* TRANSLATORS: button label, install the selected package */
 	button_action = polkit_gnome_action_new_default ("install", pk_action, _("_Install"), NULL);
 	g_object_set (button_action,
 		      "no-icon-name", GTK_STOCK_FLOPPY,

Modified: trunk/src/gpk-client-dialog.c
==============================================================================
--- trunk/src/gpk-client-dialog.c	(original)
+++ trunk/src/gpk-client-dialog.c	Wed Oct 29 10:44:06 2008
@@ -659,6 +659,7 @@
 
 	/* column for name */
 	renderer = gtk_cell_renderer_text_new ();
+	/* TRANSLATORS: column for the package name */
 	column = gtk_tree_view_column_new_with_attributes (_("Name"), renderer,
 							   "markup", GPK_CLIENT_DIALOG_STORE_TEXT, NULL);
 	gtk_tree_view_column_set_sort_column_id (column, GPK_CLIENT_DIALOG_STORE_TEXT);
@@ -876,7 +877,7 @@
 	gpk_client_dialog_set_title (dialog, "Button press test with a really really long title");
 	gpk_client_dialog_set_message (dialog, "Please press Uninstall\n\nThis is a really really, really,\nreally long title <i>with formatting</i>");
 	gpk_client_dialog_set_image (dialog, "dialog-information");
-	gpk_client_dialog_set_action (dialog, _("Uninstall"));
+	gpk_client_dialog_set_action (dialog, "Uninstall");
 	gpk_client_dialog_show_page (dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, 0, 0);
 	button = gpk_client_dialog_run (dialog);
 	if (button == GTK_RESPONSE_OK)
@@ -924,7 +925,7 @@
 	gpk_client_dialog_set_title (dialog, "Button press test");
 	gpk_client_dialog_set_message (dialog, "Please press Install if you can see the package list");
 	gpk_client_dialog_set_image (dialog, "dialog-information");
-	gpk_client_dialog_set_action (dialog, _("Install"));
+	gpk_client_dialog_set_action (dialog, "Install");
 	gpk_client_dialog_show_page (dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, GPK_CLIENT_DIALOG_PACKAGE_LIST, 0);
 	button = gpk_client_dialog_run (dialog);
 	if (button == GTK_RESPONSE_OK)

Modified: trunk/src/gpk-client-run.c
==============================================================================
--- trunk/src/gpk-client-run.c	(original)
+++ trunk/src/gpk-client-run.c	Wed Oct 29 10:44:06 2008
@@ -132,6 +132,7 @@
 				        gint int1, gint int2, gpointer user_data)
 {
 	if (egg_strequal (name, "button_action"))
+		/* TRANSLATORS: button: execute the application */
 		return gtk_button_new_with_mnemonic (_("_Run"));
 	egg_warning ("name unknown=%s", name);
 	return NULL;
@@ -149,12 +150,14 @@
 	/* image */
 	renderer = gtk_cell_renderer_pixbuf_new ();
         g_object_set (renderer, "stock-size", GTK_ICON_SIZE_DIALOG, NULL);
+	/* TRANSLATORS: column for the application icon */
 	column = gtk_tree_view_column_new_with_attributes (_("Icon"), renderer,
 							   "icon-name", GPK_CHOOSER_COLUMN_ICON, NULL);
 	gtk_tree_view_append_column (treeview, column);
 
 	/* column for text */
 	renderer = gtk_cell_renderer_text_new ();
+	/* TRANSLATORS: column for the package name */
 	column = gtk_tree_view_column_new_with_attributes (_("Package"), renderer,
 							   "markup", GPK_CHOOSER_COLUMN_TEXT, NULL);
 	gtk_tree_view_column_set_sort_column_id (column, GPK_CHOOSER_COLUMN_TEXT);
@@ -327,6 +330,7 @@
 	/* set icon name */
 	widget = glade_xml_get_widget (glade_xml, "window_simple");
 	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_INSTALLER);
+	/* TRANSLATORS: window title: do we want to execute a program we just installed? */
 	gtk_window_set_title (GTK_WINDOW (widget), _("Run new application?"));
 
 	/* create list stores */

Modified: trunk/src/gpk-client-untrusted.c
==============================================================================
--- trunk/src/gpk-client-untrusted.c	(original)
+++ trunk/src/gpk-client-untrusted.c	Wed Oct 29 10:44:06 2008
@@ -88,7 +88,9 @@
 
 	/* message */
 	message = g_strdup_printf ("%s\n%s",
+				   /* TRANSLATORS: this is untrusted -- warn the user */
 				   _("Malicious software can damage your computer or cause other harm."),
+				   /* TRANSLATORS: ask if they are absolutely sure they want to do this */
 				   _("Are you <b>sure</b> you want to install this package?"));
 	widget = glade_xml_get_widget (glade_xml, "label_message");
 	gtk_label_set_markup (GTK_LABEL (widget), message);
@@ -102,7 +104,9 @@
 	pk_action = polkit_action_new ();
 	polkit_action_set_action_id (pk_action, "org.freedesktop.packagekit.package-install-untrusted");
 	update_system_action = polkit_gnome_action_new_default ("package-install-untrusted", pk_action,
+								/* TRANSLATORS: button label, force the install, even though it's untrusted */
 								_("_Force install"),
+								/* TRANSLATORS: button tooltip */
 								_("Force installing package"));
 	g_object_set (update_system_action,
 		      "no-icon-name", GTK_STOCK_APPLY,

Modified: trunk/src/gpk-client.c
==============================================================================
--- trunk/src/gpk-client.c	(original)
+++ trunk/src/gpk-client.c	Wed Oct 29 10:44:06 2008
@@ -196,6 +196,7 @@
 		egg_debug ("set %s to FALSE", GPK_CONF_NOTIFY_UPDATE_STARTED);
 		gconf_client_set_bool (gclient->priv->gconf_client, GPK_CONF_NOTIFY_UPDATE_STARTED, FALSE, NULL);
 	} else if (egg_strequal (action, "show-error-details")) {
+		/* TRANSLATORS: detailed text about the error */
 		gpk_error_dialog (_("Error details"), _("Package Manager error details"), gclient->priv->error_details);
 	} else if (egg_strequal (action, "cancel")) {
 		/* try to cancel */
@@ -260,8 +261,9 @@
 
 	/* notify the user if there were skipped entries */
 	if (skipped_number > 0) {
-		message = ngettext (_("One package was skipped:"),
-				    _("Some packages were skipped:"), skipped_number);
+		/* TRANSLATORS: we did the update, but some updates were skipped and not applied */
+		message = ngettext ("One package was skipped:",
+				    "Some packages were skipped:", skipped_number);
 		g_string_prepend (message_text, message);
 		g_string_append_c (message_text, '\n');
 	}
@@ -290,17 +292,20 @@
 		return;
 	}
 
-	/* do the bubble */
+	/* TRANSLATORS: title: system update completed all okay */
 	notification = notify_notification_new (_("The system update has completed"), message_text->str, "help-browser", NULL);
 	notify_notification_set_timeout (notification, 15000);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	if (restart == PK_RESTART_ENUM_SYSTEM) {
 		notify_notification_add_action (notification, "restart",
+						/* TRANSLATORS: restart computer as system packages need update */
 						_("Restart computer now"), gpk_client_libnotify_cb, gclient, NULL);
 		notify_notification_add_action (notification, "do-not-show-complete-restart",
+						/* TRANSLATORS: don't show this option again (for restart) */
 						_("Do not show this again"), gpk_client_libnotify_cb, gclient, NULL);
 	} else {
 		notify_notification_add_action (notification, "do-not-show-complete",
+						/* TRANSLATORS: don't show this option again (when finished)  */
 						_("Do not show this again"), gpk_client_libnotify_cb, gclient, NULL);
 	}
 	ret = notify_notification_show (notification, &error);
@@ -343,6 +348,7 @@
 
 	if (exit == PK_EXIT_ENUM_SUCCESS && gclient->priv->show_finished) {
 		list = pk_client_get_package_list (client);
+		/* TRANSLATORS: list the packages we just installed */
 		gpk_client_dialog_set_message (gclient->priv->dialog, _("The following packages were installed:"));
 		gpk_client_dialog_set_package_list (gclient->priv->dialog, list);
 		gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
@@ -493,6 +499,7 @@
 	notify_notification_set_timeout (notification, 15000);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	notify_notification_add_action (notification, "show-error-details",
+					/* TRANSLATORS: button: show details about the error */
 					_("Show details"), gpk_client_libnotify_cb, gclient, NULL);
 	ret = notify_notification_show (notification, &error);
 	if (!ret) {
@@ -600,7 +607,8 @@
 gpk_client_error_msg (GpkClient *gclient, const gchar *title, GError *error)
 {
 	GtkWindow *window;
-	const gchar *message = _("Unknown error. Please refer to the detailed report and report in bugzilla.");
+	/* TRANSLATORS: default fallback error -- this should never happen */
+	const gchar *message = _("Unknown error. Please refer to the detailed report and report in your distribution bugtracker.");
 	const gchar *details = NULL;
 
 	if (!gclient->priv->show_warning)
@@ -610,9 +618,11 @@
 	if (error != NULL) {
 		if (error->code == PK_CLIENT_ERROR_FAILED_AUTH ||
 		    g_str_has_prefix (error->message, "org.freedesktop.packagekit.")) {
+			/* TRANSLATORS: failed authentication */
 			message = _("You don't have the necessary privileges to perform this action.");
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-permissions");
 		} else if (error->code == PK_CLIENT_ERROR_CANNOT_START_DAEMON) {
+			/* TRANSLATORS: could not start system service */
 			message = _("The packagekitd service could not be started.");
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-no-service");
 		} else if (error->code == PK_CLIENT_ERROR_INVALID_INPUT) {
@@ -698,7 +708,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		return FALSE;
@@ -710,6 +721,7 @@
 		return TRUE;
 
 	length = g_strv_length (files_rel);
+	/* TRANSLATORS: title: detailed internal error why the file install failed */
 	title = ngettext ("Failed to install file", "Failed to install files", length);
 	gpk_client_error_msg (gclient, title, error_local);
 	gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
@@ -867,10 +879,12 @@
 
 	/* optional */
 	if (gclient->priv->show_confirm && array_missing->len > 0) {
-		title = ngettext (_("Do you want to copy this file?"),
-				  _("Do you want to copy these files?"), array_missing->len);
-		message_part = ngettext (_("One package file has to be copied to a non-private location so it can be installed:"),
-					 _("Some package files have to be copied to a non-private location so they can be installed:"),
+		/* TRANSLATORS: title: we have to copy the private files to a public location */
+		title = ngettext ("Do you want to copy this file?",
+				  "Do you want to copy these files?", array_missing->len);
+		/* TRANSLATORS: message: explain to the user what we are doing */
+		message_part = ngettext ("One package file has to be copied to a non-private location so it can be installed:",
+					 "Some package files have to be copied to a non-private location so they can be installed:",
 					 array_missing->len);
 		message = _g_ptr_array_to_bullets (array_missing, message_part);
 
@@ -878,6 +892,7 @@
 		gpk_client_dialog_set_title (gclient->priv->dialog, title);
 		gpk_client_dialog_set_message (gclient->priv->dialog, message);
 		gpk_client_dialog_set_image (gclient->priv->dialog, "dialog-warning");
+		/* TRANSLATORS: button: copy file from one directory to another */
 		gpk_client_dialog_set_action (gclient->priv->dialog, _("Copy file"));
 		gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-installing-private-files");
 		g_free (message);
@@ -945,8 +960,9 @@
 
 	/* did we fail to copy the files */
 	if (!ret) {
-		title = ngettext (_("The file could not be copied"),
-				  _("The files could not be copied"), array_missing->len);
+		/* TRANSLATORS: title: tell the user we failed */
+		title = ngettext ("The file could not be copied",
+				  "The files could not be copied", array_missing->len);
 
 		/* show UI */
 		gpk_client_dialog_set_title (gclient->priv->dialog, title);
@@ -979,13 +995,15 @@
 	gchar *message;
 	gboolean ret = TRUE;
 
-	title = ngettext (_("Do you want to install this file?"),
-			  _("Do you want to install these files?"), array->len);
+	/* TRANSLATORS: title: confirm the user want's to install a local file */
+	title = ngettext ("Do you want to install this file?",
+			  "Do you want to install these files?", array->len);
 	message = _g_ptr_array_to_bullets (array, NULL);
 
 	/* show UI */
 	gpk_client_dialog_set_title (gclient->priv->dialog, title);
 	gpk_client_dialog_set_message (gclient->priv->dialog, message);
+	/* TRANSLATORS: title: installing local files */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-install-files");
 	gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, 0, gclient->priv->timestamp);
@@ -994,8 +1012,9 @@
 
 	/* did we click no or exit the window? */
 	if (button != GTK_RESPONSE_OK) {
-		title = ngettext (_("The file was not installed"),
-				  _("The files were not installed"), array->len);
+		/* TRANSLATORS: title: the user cancelled the action */
+		title = ngettext ("The file was not installed",
+				  "The files were not installed", array->len);
 		gpk_client_dialog_set_title (gclient->priv->dialog, title);
 		gpk_client_dialog_set_message (gclient->priv->dialog, "");
 		gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
@@ -1040,11 +1059,13 @@
 	/* warn, set error and quit */
 	ret = TRUE;
 	if (array_missing->len > 0) {
-		title = ngettext (_("File was not found!"),
-				  _("Files were not found!"), array_missing->len);
-
-		message_part = ngettext (_("The following file was not found:"),
-					 _("The following files were not found:"), array_missing->len);
+		/* TRANSLATORS: title: we couldn't find the file -- very hard to get this */
+		title = ngettext ("File was not found!",
+				  "Files were not found!", array_missing->len);
+
+		/* TRANSLATORS: message: explain what went wrong */
+		message_part = ngettext ("The following file was not found:",
+					 "The following files were not found:", array_missing->len);
 		message = _g_ptr_array_to_bullets (array_missing, message_part);
 
 		/* show UI */
@@ -1081,7 +1102,7 @@
 	if (gclient->priv->parent_title != NULL)
 		title_name = g_strdup_printf ("%s %s", gclient->priv->parent_title, title);
 	else {
-		/* translator comment -- string is an action, e.g. "wants to install a codec" */
+		/* TRANSLATORS: string is an action, e.g. "wants to install a codec" */
 		title_name = g_strdup_printf (_("A program %s"), title);
 	}
 
@@ -1148,7 +1169,7 @@
 	if (!ret)
 		goto out;
 
-	/* set title */
+	/* TRANSLATORS: title: installing a local file */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Install local file"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 	if (gclient->priv->show_progress)
@@ -1217,7 +1238,7 @@
 		goto skip_checks;
 	}
 
-	/* get the packages we depend on */
+	/* TRANSLATORS: title: getting a list of other packages that depend on this one */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Finding packages we require"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-finding-requires");
 
@@ -1228,7 +1249,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_resolve, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
+		/* TRANSLATORS: this is an internal error, and should not be seen */
+		gpk_client_error_msg (gclient, _("Failed to reset client used for searching"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -1237,6 +1259,7 @@
 	/* find out if this would force removal of other packages */
 	ret = pk_client_get_requires (gclient->priv->client_resolve, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), package_ids, TRUE, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: we could not work out what other packages have to be removed to remove this package */
 		gpk_client_error_msg (gclient, _("Could not work out what packages would also be removed"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -1255,7 +1278,7 @@
 	/* sort by package_id */
 	pk_package_list_sort (list);
 
-	/* title */
+	/* TRANSLATORS: title: to remove this package we also have to remove others */
 	title = g_strdup_printf (ngettext ("%i additional package also has to be removed",
 					   "%i additional packages also have to be removed",
 					   length), length);
@@ -1263,6 +1286,7 @@
 	/* message */
 	name = gpk_dialog_package_id_name_join_locale (package_ids);
 	length = g_strv_length (package_ids);
+	/* TRANSLATORS: message: describe in detail why it must happen */
 	message = g_strdup_printf (ngettext ("To remove %s other packages that depend on it must also be removed.",
 					     "To remove %s other packages that depend on them must also be removed.",
 					     length), name);
@@ -1272,6 +1296,7 @@
 	gpk_client_dialog_set_package_list (gclient->priv->dialog, list);
 	gpk_client_dialog_set_title (gclient->priv->dialog, title);
 	gpk_client_dialog_set_message (gclient->priv->dialog, message);
+	/* TRANSLATORS: title: removing packages */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Remove"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-remove-other-packages");
 	gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, GPK_CLIENT_DIALOG_PACKAGE_LIST, gclient->priv->timestamp);
@@ -1288,7 +1313,7 @@
 	}
 
 skip_checks:
-	/* set title */
+	/* TRANSLATORS: title removing packages */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Remove packages"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 	gpk_client_dialog_set_message (gclient->priv->dialog, "");
@@ -1300,7 +1325,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -1309,6 +1335,7 @@
 	/* try to remove the package_ids */
 	ret = pk_client_remove_packages (gclient->priv->client_action, package_ids, TRUE, FALSE, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: error: failed to remove the package we tried to remove */
 		gpk_client_error_msg (gclient, _("Failed to remove package"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -1367,8 +1394,8 @@
 		goto skip_checks;
 	}
 
-	/* set title */
-	gpk_client_dialog_set_title (gclient->priv->dialog, _("Finding packages we depend on"));
+	/* TRANSLATORS: finding a list of packages that we would also need to download */
+	gpk_client_dialog_set_title (gclient->priv->dialog, _("Finding other packages we require"));
 	gpk_client_dialog_set_message (gclient->priv->dialog, "");
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-finding-depends");
 
@@ -1379,7 +1406,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_resolve, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
+		/* TRANSLATORS: this is an internal error, and should not be seen */
+		gpk_client_error_msg (gclient, _("Failed to reset client used for searching"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -1388,6 +1416,7 @@
 	/* find out if this would drag in other packages */
 	ret = pk_client_get_depends (gclient->priv->client_resolve, pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED), package_ids, TRUE, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: error: could not get the extra package list when installing a package */
 		gpk_client_error_msg (gclient, _("Could not work out what packages would be also installed"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -1401,13 +1430,14 @@
 	if (length == 0 && ret)
 		goto skip_checks;
 
-	/* title */
+	/* TRANSLATORS: title: tell the user we have to install additional packages */
 	title = g_strdup_printf (ngettext ("%i additional package also has to be installed",
 					   "%i additional packages also have to be installed",
 					   length), length);
 
 	/* message */
 	name = gpk_dialog_package_id_name_join_locale (package_ids);
+	/* TRANSLATORS: message: explain to the user what we are doing in more detail */
 	message = g_strdup_printf (ngettext ("To install %s, an additional package also has to be downloaded.",
 					     "To install %s, additional packages also have to be downloaded.",
 					     length), name);
@@ -1416,6 +1446,7 @@
 	gpk_client_dialog_set_package_list (gclient->priv->dialog, list);
 	gpk_client_dialog_set_title (gclient->priv->dialog, title);
 	gpk_client_dialog_set_message (gclient->priv->dialog, message);
+	/* TRANSLATORS: title: installing package */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-install-other-packages");
 	gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, GPK_CLIENT_DIALOG_PACKAGE_LIST, gclient->priv->timestamp);
@@ -1430,7 +1461,7 @@
 	}
 
 skip_checks:
-	/* try to install the package_id */
+	/* TRANSLATORS: title: installing packages */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Installing packages"));
 	gpk_client_dialog_set_message (gclient->priv->dialog, "");
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
@@ -1440,7 +1471,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -1448,6 +1480,7 @@
 
 	ret = pk_client_install_packages (gclient->priv->client_action, package_ids, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: error: failed to install, detailed error follows */
 		gpk_client_error_msg (gclient, _("Failed to install package"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -1511,10 +1544,17 @@
 	text = g_string_free (string, FALSE);
 
 	/* check user wanted operation */
-	message = g_strdup_printf ("%s\n\n%s\n%s", _("An additional file is required"),
-				   text, _("Do you want to search for this file now?"));
+	message = g_strdup_printf ("%s\n\n%s\n%s",
+				   /* TRANSLATORS: a program needs a package, for instance openoffice-clipart */
+				   _("An additional package is required"),
+				   text,
+				   /* TRANSLATORS: ask the user if it's okay to search */
+				   _("Do you want to search for this file now?"));
+	/* TRANSLATORS: title:  */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Package installer"));
+	/* TRANSLATORS: title: we want to install a package */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
+	/* TRANSLATORS: generic confirm, use the application name if we can */
 	ret = gpk_client_confirm_action (gclient, _("wants to install packages"), message);
 	g_free (text);
 	g_free (message);
@@ -1525,7 +1565,7 @@
 	}
 
 skip_checks:
-	/* set title */
+	/* TRANSLATORS: title, searching */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for packages"));
 	gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-finding-packages");
@@ -1535,7 +1575,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_resolve, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
+		/* TRANSLATORS: this is an internal error, and should not be seen */
+		gpk_client_error_msg (gclient, _("Failed to reset client used for searching"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -1544,6 +1585,7 @@
 	/* find out if we can find a package */
 	ret = pk_client_resolve (gclient->priv->client_resolve, PK_FILTER_ENUM_NONE, packages, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Incorrect response from search"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -1557,11 +1599,14 @@
 		if (gclient->priv->show_warning) {
 			//FIXME: shows package_id in UI
 			text = pk_package_ids_to_text (packages);
+			/* TRANSLATORS: couldn't resolve name to package */
 			title = g_strdup_printf (_("Could not find %s"), text);
 			info_url = gpk_vendor_get_not_found_url (gclient->priv->vendor, GPK_VENDOR_URL_TYPE_DEFAULT);
-			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find package"));
+			gpk_client_dialog_set_title (gclient->priv->dialog, title);
+			/* TRANSLATORS: message: could not find */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("The packages could not be found in any software source"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
+			/* TRANSLATORS: button: a link to the help file */
 			gpk_client_dialog_set_action (gclient->priv->dialog, _("More information"));
 
 			/* only show the "more info" button if there is a valid link */
@@ -1598,8 +1643,10 @@
 		if (gclient->priv->show_warning) {
 			//FIXME: shows package_id in UI
 			text = pk_package_ids_to_text (packages);
+			/* TRANSLATORS: title: package is already installed */
 			title = g_strdup_printf (_("Failed to install %s"), text);
-			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install package"));
+			gpk_client_dialog_set_title (gclient->priv->dialog, title);
+			/* TRANSLATORS: message: package is already installed */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("The package is already installed"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 			gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
@@ -1615,7 +1662,9 @@
 	/* got junk? */
 	if (id == NULL) {
 		if (gclient->priv->show_warning) {
+			/* TRANSLATORS: failed to install, shouldn't be shown */
 			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install package"));
+			/* TRANSLATORS: the search gave us the wrong result. internal error. barf. */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("Incorrect response from search"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 			gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
@@ -1682,10 +1731,17 @@
 	}
 
 	/* check user wanted operation */
-	message = g_strdup_printf ("%s\n\nâ %s\n\n%s", _("The following file is required:"),
-				   full_path, _("Do you want to search for this now?"));
+	message = g_strdup_printf ("%s\n\nâ %s\n\n%s",
+				   /* TRANSLATORS: a program wants to install a file, e.g. /lib/moo.so */
+				   _("The following file is required:"),
+				   full_path,
+				   /* TRANSLATORS: confirm with the user */
+				   _("Do you want to search for this now?"));
+	/* TRANSLATORS: title */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("File installer"));
+	/* TRANSLATORS: button: install package that provides a file */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
+	/* TRANSLATORS: generic confirm, use the application name if we can */
 	ret = gpk_client_confirm_action (gclient, _("wants to install a file"), message);
 	g_free (message);
 	if (!ret) {
@@ -1695,14 +1751,15 @@
 	}
 
 skip_checks:
-	/* set title */
+	/* TRANSLATORS: searching for the package that provides the file */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for file"));
 	gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
 
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_resolve, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
+		/* TRANSLATORS: this is an internal error, and should not be seen */
+		gpk_client_error_msg (gclient, _("Failed to reset client used for searching"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -1711,6 +1768,7 @@
 	/* do search */
 	ret = pk_client_search_file (gclient->priv->client_resolve, PK_FILTER_ENUM_NONE, full_path, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Failed to search for file"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -1723,7 +1781,9 @@
 	if (len == 0) {
 		if (gclient->priv->show_warning) {
 			info_url = gpk_vendor_get_not_found_url (gclient->priv->vendor, GPK_VENDOR_URL_TYPE_DEFAULT);
+			/* TRANSLATORS: failed to fild the package for thefile */
 			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find package"));
+			/* TRANSLATORS: nothing found */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("The file could not be found in any packages"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
 			/* only show the "more info" button if there is a valid link */
@@ -1756,7 +1816,9 @@
 	/* already installed? */
 	if (already_installed) {
 		if (gclient->priv->show_warning) {
+			/* TRANSLATORS: we've already got a package that provides this file */
 			text = g_strdup_printf (_("The %s package already provides the file %s"), id->name, full_path);
+			/* TRANSLATORS: title */
 			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install file"));
 			gpk_client_dialog_set_message (gclient->priv->dialog, text);
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
@@ -1801,6 +1863,7 @@
 		return NULL;
 
 	codec_name_formatted = g_strdup_printf ("<i>%s</i>", codec_name);
+	/* TRANSLATORS: title, searching for codecs */
 	title = g_strdup_printf (_("Searching for plugin: %s"), codec_name_formatted);
 	gpk_client_dialog_set_message (gclient->priv->dialog, title);
 	g_free (title);
@@ -1853,7 +1916,9 @@
 	const gchar *message;
 
 	len = g_strv_length (codec_name_strings);
+	/* TRANSLATORS: title: we need a codec */
 	title = ngettext ("An additional plugin is required to play this content", "Additional plugins are required to play this content", len);
+	/* TRANSLATORS: we are listing the plugins in a box */
 	message = ngettext ("The following plugin is required:", "The following plugins are required:", len);
 
 	string = g_string_new ("");
@@ -1864,7 +1929,7 @@
 		g_strfreev (parts);
 	}
 
-	/* trailer */
+	/* TRANSLATORS: ask for confirmation */
 	message = ngettext ("Do you want to search for this now?", "Do you want to search for these now?", len);
 	g_string_append_printf (string, "\n%s\n", message);
 
@@ -1874,8 +1939,11 @@
 	/* display messagebox  */
 	text = g_string_free (string, FALSE);
 
+	/* TRANSLATORS: title: codec installer */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Plugin installer"));
+	/* TRANSLATORS: button: search for a codec */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Search"));
+	/* TRANSLATORS: generic confirm, use the application name if we can */
 	ret = gpk_client_confirm_action (gclient, _("requires additional plugins"), text);
 	g_free (text);
 
@@ -1931,7 +1999,7 @@
 	}
 
 skip_checks:
-	/* set title */
+	/* TRANSLATORS: search for codec */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for plugins"));
 	gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
 	gpk_client_dialog_set_message (gclient->priv->dialog, "");
@@ -1955,7 +2023,9 @@
 		if (obj_new == NULL) {
 			if (gclient->priv->show_warning) {
 				info_url = gpk_vendor_get_not_found_url (gclient->priv->vendor, GPK_VENDOR_URL_TYPE_CODEC);
+				/* TRANSLATORS: failed to search for codec */
 				gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to search for plugin"));
+				/* TRANSLATORS: no software sources have the wanted codec */
 				gpk_client_dialog_set_message (gclient->priv->dialog, _("Could not find plugin in any configured software source"));
 				gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
 				/* only show the "more info" button if there is a valid link */
@@ -1999,6 +2069,7 @@
 	gpk_client_dialog_set_title (gclient->priv->dialog, title);
 	gpk_client_dialog_set_message (gclient->priv->dialog, message);
 	gpk_client_dialog_set_image (gclient->priv->dialog, "dialog-information");
+	/* TRANSLATORS: button: install codecs */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 	gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, GPK_CLIENT_DIALOG_PACKAGE_LIST, gclient->priv->timestamp);
@@ -2069,10 +2140,16 @@
 
 	/* make sure the user wants to do action */
 	message = g_strdup_printf ("%s\n\nâ %s\n\n%s",
+				    /* TRANSLATORS: message: mime type opener required */
 				   _("An additional program is required to open this type of file:"),
-				   mime_type, _("Do you want to search for a program to open this file type now?"));
+				   mime_type,
+				   /* TRANSLATORS: message: confirm with the user */
+				   _("Do you want to search for a program to open this file type now?"));
+	/* TRANSLATORS: title */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("File type installer"));
+	/* TRANSLATORS: button: search for mime installer */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Search"));
+	/* TRANSLATORS: generic confirm, use the application name if we can */
 	ret = gpk_client_confirm_action (gclient, _("requires a new mime type"), message);
 	g_free (message);
 	if (!ret) {
@@ -2082,7 +2159,7 @@
 	}
 
 skip_checks:
-	/* set title */
+	/* TRANSLATORS: title: searching for mime type handlers */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for file handlers"));
 	gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-finding-packages");
@@ -2094,7 +2171,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_resolve, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
+		/* TRANSLATORS: this is an internal error, and should not be seen */
+		gpk_client_error_msg (gclient, _("Failed to reset client used for searching"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -2104,6 +2182,7 @@
 	ret = pk_client_what_provides (gclient->priv->client_resolve, pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
 				       PK_PROVIDES_ENUM_MIMETYPE, mime_type, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Failed to search for provides"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -2116,7 +2195,9 @@
 	if (len == 0) {
 		if (gclient->priv->show_warning) {
 			info_url = gpk_vendor_get_not_found_url (gclient->priv->vendor, GPK_VENDOR_URL_TYPE_MIME);
+			/* TRANSLATORS: title */
 			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find software"));
+			/* TRANSLATORS: nothing found in the software sources that helps */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("No new applications can be found to handle this type of file"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
 			/* only show the "more info" button if there is a valid link */
@@ -2136,12 +2217,15 @@
 
 	/* populate a chooser */
 	window = gpk_client_dialog_get_window (gclient->priv->dialog);
+	/* TRANSLATORS: this is the list of packages that can open this file */
 	package_id = gpk_client_chooser_show (window, list, _("Applications that can open this type of file"));
 
 	/* selected nothing */
 	if (package_id == NULL) {
 		if (gclient->priv->show_warning) {
+			/* TRANSLATORS: we failed to install */
 			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to install software"));
+			/* TRANSLATORS: we didn't select any applications that were returned */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("No applications were chosen to be installed"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 			gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_WARNING, 0, 0);
@@ -2203,10 +2287,16 @@
 	}
 
 	/* check user wanted operation */
-	message = g_strdup_printf ("%s\n\n%s", _("An additional font is required to view this file correctly"),
+	message = g_strdup_printf ("%s\n\n%s",
+				   /* TRANSLATORS: we need to download a new font package to display a document */
+				   _("An additional font is required to view this file correctly"),
+				   /* TRANSLATORS: confirm with user */
 				   _("Do you want to search for a suitable font now?"));
+	/* TRANSLATORS: title: font installer */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Font installer"));
+	/* TRANSLATORS: buttton: search for font */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Search"));
+	/* TRANSLATORS: generic confirm, use the application name if we can */
 	ret = gpk_client_confirm_action (gclient, _("wants to install a font"), message);
 	g_free (message);
 	if (!ret) {
@@ -2216,7 +2306,7 @@
 	}
 
 skip_checks:
-	/* set title */
+	/* TRANSLATORS: title: we are now searching */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Searching for fonts"));
 	gpk_client_dialog_set_image_status (gclient->priv->dialog, PK_STATUS_ENUM_WAIT);
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-finding-packages");
@@ -2228,7 +2318,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_resolve, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset resolve client"), error_local);
+		/* TRANSLATORS: this is an internal error, and should not be seen */
+		gpk_client_error_msg (gclient, _("Failed to reset client used for searching"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -2238,6 +2329,7 @@
 	ret = pk_client_what_provides (gclient->priv->client_resolve, pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
 				       PK_PROVIDES_ENUM_FONT, font_desc, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Failed to search for provides"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -2250,7 +2342,9 @@
 	if (len == 0) {
 		if (gclient->priv->show_warning) {
 			info_url = gpk_vendor_get_not_found_url (gclient->priv->vendor, GPK_VENDOR_URL_TYPE_FONT);
+			/* TRANSLATORS: title: cannot find in sources */
 			gpk_client_dialog_set_title (gclient->priv->dialog, _("Failed to find font"));
+			/* TRANSLATORS: message: tell the user we suck */
 			gpk_client_dialog_set_message (gclient->priv->dialog, _("No new fonts can be found for this document"));
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-package-not-found");
 			/* only show the "more info" button if there is a valid link */
@@ -2275,9 +2369,12 @@
 	}
 
 	gpk_client_dialog_set_package_list (gclient->priv->dialog, list);
+	/* TRANSLATORS: title: show a list of fonts */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Install the following fonts"));
+	/* TRANSLATORS: confirm */
 	gpk_client_dialog_set_message (gclient->priv->dialog, _("Do you want to install these packages now?"));
 	gpk_client_dialog_set_image (gclient->priv->dialog, "dialog-information");
+	/* TRANSLATORS: button: install a font */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 	gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, GPK_CLIENT_DIALOG_PACKAGE_LIST, gclient->priv->timestamp);
@@ -2315,13 +2412,16 @@
 
 	g_return_if_fail (GPK_IS_CLIENT (gclient));
 
-	if (mode == PK_CATALOG_PROGRESS_PACKAGES)
+	if (mode == PK_CATALOG_PROGRESS_PACKAGES) {
+		/* TRANSLATORS: finding the package names for a catalog */
 		message = g_strdup_printf (_("Finding package name: %s"), text);
-	else if (mode == PK_CATALOG_PROGRESS_FILES)
+	} else if (mode == PK_CATALOG_PROGRESS_FILES) {
+		/* TRANSLATORS: finding a package for a file for a catalog */
 		message = g_strdup_printf (_("Finding file name: %s"), text);
-	else if (mode == PK_CATALOG_PROGRESS_PROVIDES)
+	} else if (mode == PK_CATALOG_PROGRESS_PROVIDES) {
+		/* TRANSLATORS: finding a package which can provide a virtual provide */
 		message = g_strdup_printf (_("Finding a package to provide: %s"), text);
-
+	}
 	gpk_client_set_status (gclient, PK_STATUS_ENUM_QUERY);
 	gpk_client_dialog_set_message (gclient->priv->dialog, message);
 	g_free (message);
@@ -2354,13 +2454,14 @@
 		goto skip_checks;
 	}
 
-	title = ngettext (_("Do you want to install this catalog?"),
-			  _("Do you want to install these catalogs?"), len);
+	title = ngettext ("Do you want to install this catalog?",
+			  "Do you want to install these catalogs?", len);
 	message = g_strjoinv ("\n", filenames);
 
 	/* show UI */
 	gpk_client_dialog_set_title (gclient->priv->dialog, title);
 	gpk_client_dialog_set_message (gclient->priv->dialog, message);
+	/* TRANSLATORS: button: install catalog */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-install-catalogs");
 	gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, 0, gclient->priv->timestamp);
@@ -2372,7 +2473,7 @@
 		return FALSE;
 
 skip_checks:
-	/* set title */
+	/* TRANSLATORS: title: install package catalogs, that is, instructions for installing */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Install catalogs"));
 	gpk_client_set_status (gclient, PK_STATUS_ENUM_WAIT);
 
@@ -2391,6 +2492,7 @@
 	if (len == 0) {
 		/* show UI */
 		if (gclient->priv->show_warning) {
+			/* TRANSLATORS: title: we've already got all these packages installed */
 			gpk_client_dialog_set_title (gclient->priv->dialog, _("No packages need to be installed"));
 			gpk_client_dialog_set_message (gclient->priv->dialog, "");
 			gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-catalog-none-required");
@@ -2408,9 +2510,11 @@
 		goto skip_checks2;
 	}
 
-	/* process package list */
+	/* TRANSLATORS: display a list of packages to install */
 	string = g_string_new (_("The following packages are marked to be installed from the catalog:"));
 	g_string_append (string, "\n\n");
+
+	/* process package list */
 	for (i=0; i<len; i++) {
 		obj = pk_package_list_get_obj (list, i);
 		text = gpk_package_id_format_oneline (obj->id, obj->summary);
@@ -2423,10 +2527,11 @@
 	/* display messagebox  */
 	text = g_string_free (string, FALSE);
 
-	/* show UI */
+	/* TRANSLATORS: title: allow user to confirm */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Install packages in catalog?"));
 	gpk_client_dialog_set_message (gclient->priv->dialog, text);
 	gpk_client_dialog_set_image (gclient->priv->dialog, "dialog-question");
+	/* TRANSLATORS: button: install packages in catalog */
 	gpk_client_dialog_set_action (gclient->priv->dialog, _("Install"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 	gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_CONFIRM, 0, gclient->priv->timestamp);
@@ -2470,13 +2575,14 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
 	}
 
-	/* set title */
+	/* TRANSLATORS: title: update all pending updates */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("System update"));
 	gpk_client_dialog_set_message (gclient->priv->dialog, "");
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-update-system");
@@ -2484,7 +2590,7 @@
 	/* wrap update, but handle all the GPG and EULA stuff */
 	ret = pk_client_update_system (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		/* display and set */
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Failed to update system"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -2499,13 +2605,17 @@
 	ret = gconf_client_get_bool (gclient->priv->gconf_client, GPK_CONF_NOTIFY_CRITICAL, NULL);
 	if (!gclient->priv->show_progress && ret) {
 		/* do the bubble */
+		/* TRANSLATORS: title: notification when we scheduled an automatic update */
 		notification = notify_notification_new (_("Updates are being installed"),
+							/* TRANSLATORS: tell the user why the hard disk is grinding... */
 							_("Updates are being automatically installed on your computer"),
 							"software-update-urgent", NULL);
 		notify_notification_set_timeout (notification, 15000);
 		notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
+		/* TRANSLATORS: button: cancel the update system */
 		notify_notification_add_action (notification, "cancel",
 						_("Cancel update"), gpk_client_libnotify_cb, gclient, NULL);
+		/* TRANSLATORS: button: don't show this again */
 		notify_notification_add_action (notification, "do-not-show-update-started",
 						_("Do not show this again"), gpk_client_libnotify_cb, gclient, NULL);
 		ret = notify_notification_show (notification, &error_local);
@@ -2543,20 +2653,21 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
 	}
 
-	/* set title */
+	/* TRANSLATORS: title: refresh the lists of packages */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Refresh package lists"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-refresh");
 
 	/* wrap update, but handle all the GPG and EULA stuff */
 	ret = pk_client_refresh_cache (gclient->priv->client_action, TRUE, &error_local);
 	if (!ret) {
-		/* display and set */
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Failed to update package lists"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -2594,7 +2705,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
@@ -2603,6 +2715,7 @@
 	/* wrap update, but handle all the GPG and EULA stuff */
 	ret = pk_client_get_updates (gclient->priv->client_action, PK_FILTER_ENUM_NONE, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Failed to get updates"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
@@ -2611,7 +2724,8 @@
 
 	/* ignore this if it's uninteresting */
 	if (gclient->priv->show_progress) {
-		gpk_client_dialog_set_title (gclient->priv->dialog, _("Getting update lists"));
+		/* TRANSLATORS: title: getting the list of updates */
+		gpk_client_dialog_set_title (gclient->priv->dialog, _("Getting list of updates"));
 		gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 		gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, 0, 0);
 	}
@@ -2645,7 +2759,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		return NULL;
@@ -2660,13 +2775,14 @@
 	/* wrap update, but handle all the GPG and EULA stuff */
 	ret = pk_client_get_distro_upgrades (gclient->priv->client_action, &error_local);
 	if (!ret) {
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Getting update lists failed"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
 	}
 
-	/* setup the UI */
+	/* TRANSLATORS: get if we can go from one distro release to another */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Getting distribution upgrade information"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-get-upgrades");
 	if (gclient->priv->show_progress)
@@ -2693,7 +2809,8 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		return NULL;
@@ -2704,13 +2821,14 @@
 	ret = pk_client_get_files (gclient->priv->client_action, package_ids, &error_local);
 	g_strfreev (package_ids);
 	if (!ret) {
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Getting file list failed"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		return NULL;
 	}
 
-	/* setup the UI */
+	/* TRANSLATORS: title: getting the files that are contained in a package */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Getting file lists"));
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, NULL);
 	if (gclient->priv->show_progress)
@@ -2748,31 +2866,28 @@
 	/* reset */
 	ret = pk_client_reset (gclient->priv->client_action, &error_local);
 	if (!ret) {
-		gpk_client_error_msg (gclient, _("Failed to reset action client"), error_local);
+		/* TRANSLATORS: this should never happen, low level failure */
+		gpk_client_error_msg (gclient, _("Failed to reset client to perform action"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
 	}
 
-	/* set title */
-	gpk_client_dialog_set_title (gclient->priv->dialog, _("Update packages"));
-	gpk_client_dialog_set_message (gclient->priv->dialog, "");
-	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-update-packages");
-
 	/* wrap update, but handle all the GPG and EULA stuff */
 	ret = pk_client_update_packages (gclient->priv->client_action, package_ids, &error_local);
 	if (!ret) {
-		/* display and set */
+		/* TRANSLATORS: we failed to find the package, this shouldn't happen */
 		gpk_client_error_msg (gclient, _("Failed to update packages"), error_local);
 		gpk_client_error_set (error, GPK_CLIENT_ERROR_FAILED, error_local->message);
 		g_error_free (error_local);
 		goto out;
 	}
 
-	/* setup the UI */
+	/* TRANSLATORS: title: update specific packages */
 	gpk_client_dialog_set_title (gclient->priv->dialog, _("Update packages"));
 	gpk_client_dialog_set_message (gclient->priv->dialog, "");
 	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-update-packages");
+	gpk_client_dialog_set_help_id (gclient->priv->dialog, "dialog-update-packages");
 	if (gclient->priv->show_progress)
 		gpk_client_dialog_show_page (gclient->priv->dialog, GPK_CLIENT_DIALOG_PAGE_PROGRESS, GPK_CLIENT_DIALOG_PACKAGE_PADDING, 0);
 
@@ -2812,7 +2927,10 @@
 	ret = pk_client_reset (gclient->priv->client_secondary, &error);
 	if (!ret) {
 		widget = GTK_WIDGET (gpk_client_dialog_get_window (gclient->priv->dialog));
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to install signature"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: failed to install package GPG signature */
+					_("Failed to install signature"),
+					/* TRANSLATORS: internal error */
 					_("The client could not be reset"), error->message);
 		g_error_free (error);
 		return;
@@ -2823,7 +2941,10 @@
 	gclient->priv->using_secondary_client = ret;
 	if (!ret) {
 		widget = GTK_WIDGET (gpk_client_dialog_get_window (gclient->priv->dialog));
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to install signature"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: failed to install package GPG signature */
+					_("Failed to install signature"),
+					/* TRANSLATORS: method: for some reason we refused this, error follows */
 					_("The method failed"), error->message);
 		g_error_free (error);
 	}
@@ -2848,11 +2969,14 @@
 	if (!ret)
 		return;
 
-	/* install signature */
+	/* install EULA */
 	egg_debug ("accept EULA %s", eula_id);
 	ret = pk_client_reset (gclient->priv->client_secondary, &error);
 	if (!ret) {
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to accept EULA"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: failed to accept licence */
+					_("Failed to accept license agreement"),
+					/* TRANSLATORS: internal error */
 					_("The client could not be reset"), error->message);
 		g_error_free (error);
 		return;
@@ -2861,7 +2985,10 @@
 	/* this is asynchronous, else we get into livelock */
 	ret = pk_client_accept_eula (gclient->priv->client_secondary, eula_id, &error);
 	if (!ret) {
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to accept EULA"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: failed to accept licence */
+					_("Failed to accept license agreement"),
+					/* TRANSLATORS: method: for some reason we refused this, error follows */
 					_("The method failed"), error->message);
 		g_error_free (error);
 	}
@@ -2889,8 +3016,11 @@
 	ret = pk_client_requeue (gclient->priv->client_action, &error);
 	if (!ret) {
 		widget = GTK_WIDGET (gpk_client_dialog_get_window (gclient->priv->dialog));
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to install"),
-					_("The install task could not be requeued"), error->message);
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: title: failed to do initial error */
+					_("Failed to install"),
+					/* TRANSLATORS: we could not requeue the transaction  */
+					_("The install task could not be repeated"), error->message);
 		g_error_free (error);
 	}
 

Modified: trunk/src/gpk-common.c
==============================================================================
--- trunk/src/gpk-common.c	(original)
+++ trunk/src/gpk-common.c	Wed Oct 29 10:44:06 2008
@@ -47,12 +47,16 @@
 gpk_window_set_size_request (GtkWindow *window, guint width, guint height)
 {
 	GdkScreen *screen;
+	guint screen_w;
+	guint screen_h;
 
 	/* check for tiny screen, like for instance a OLPC or EEE */
 	screen = gdk_screen_get_default ();
-	if (gdk_screen_get_width (screen) < width ||
-	    gdk_screen_get_height (screen) < height) {
-		egg_debug ("using small form factor mode");
+	screen_w = gdk_screen_get_width (screen);
+	screen_h = gdk_screen_get_height (screen);
+	if (screen_w < width || screen_h < height) {
+		egg_error ("using small form factor mode as %ix%i and requested %ix%i",
+			   screen_w, screen_h, width, height);
 		gtk_window_maximize (window);
 		return FALSE;
 	}
@@ -176,11 +180,15 @@
 	uid = getuid ();
 	if (uid == 0) {
 		if (application_name == NULL)
+			/* TRANSLATORS: these tools cannot run as root (unknown name) */
 			title = g_strdup (_("This application is running as a privileged user"));
 		else
+			/* TRANSLATORS: cannot run as root user, and we display the applicaiton name */
 			title = g_strdup_printf (_("%s is running as a privileged user"), application_name);
 		message = g_strjoin ("\n",
+				     /* TRANSLATORS: tell the user off */
 				     _("Running graphical applications as a privileged user should be avoided for security reasons."),
+				     /* TRANSLATORS: and explain why */
 				     _("Package management applications are security sensitive and therefore this application will now close."), NULL);
 		gpk_error_dialog (title, message, "");
 		g_free (title);
@@ -196,11 +204,15 @@
 	ret = egg_console_kit_is_local (ck);
 	if (!ret) {
 		if (application_name == NULL)
+			/* TRANSLATORS: the user is not sitting in front of the keyboard */
 			title = g_strdup (_("This application is running when the session is not local"));
 		else
+			/* TRANSLATORS: same, but we know the application name */
 			title = g_strdup_printf (_("%s is running when the session is not local"), application_name);
 		message = g_strjoin ("\n",
+				     /* TRANSLATORS: tell the user off */
 				     _("These applications should be run only when on local console."),
+				     /* TRANSLATORS: explain what to do */
 				     _("This normally indicates a bug with ConsoleKit or with the way your session has started."), NULL);
 		gpk_error_dialog (title, message, "");
 		g_free (title);
@@ -213,11 +225,15 @@
 	ret = egg_console_kit_is_active (ck);
 	if (!ret) {
 		if (application_name == NULL)
+			/* TRANSLATORS: the user is not active, i.e. is idle */
 			title = g_strdup (_("This application is running when the session is not active"));
 		else
+			/* TRANSLATORS: same, but we know the application name */
 			title = g_strdup_printf (_("%s is running when the session is not active"), application_name);
 		message = g_strjoin ("\n",
+				     /* TRANSLATORS: tell the user off */
 				     _("These applications should be run only when on active console."),
+				     /* TRANSLATORS: explain what to do */
 				     _("This normally indicates a bug with your remote desktop implementation."), NULL);
 		gpk_error_dialog (title, message, "");
 		g_free (title);
@@ -315,6 +331,7 @@
 
 	/* is valid? */
 	if (time_secs == 0) {
+		/* TRANSLATORS: The actions has just literally happened */
 		timestring = g_strdup_printf (_("Now"));
 		return timestring;
 	}
@@ -324,6 +341,7 @@
 
 	/* less than a minute */
 	if (seconds < 60) {
+		/* TRANSLATORS: time */
 		timestring = g_strdup_printf (ngettext ("%i second",
 							"%i seconds",
 							seconds), seconds);
@@ -354,6 +372,7 @@
 	hours = minutes / 60;
 	minutes = minutes % 60;
 	if (minutes == 0) {
+		/* TRANSLATORS: time */
 		timestring = g_strdup_printf (ngettext (
 				"%i hour",
 				"%i hours",
@@ -502,7 +521,7 @@
 	 ************************************************************/
 	egg_test_title (test, "time zero");
 	text = gpk_time_to_localised_string (0);
-	if (text != NULL && strcmp (text, _("Now")) == 0)
+	if (text != NULL && strcmp (text, "Now") == 0)
 		egg_test_success (test, NULL);
 	else
 		egg_test_failed (test, "failed, got %s", text);
@@ -511,7 +530,7 @@
 	/************************************************************/
 	egg_test_title (test, "time 1s");
 	text = gpk_time_to_localised_string (1);
-	if (text != NULL && strcmp (text, _("1 second")) == 0) {
+	if (text != NULL && strcmp (text, "1 second") == 0) {
 		egg_test_success (test, NULL);
 	} else {
 		egg_test_failed (test, "failed, got %s", text);
@@ -521,7 +540,7 @@
 	/************************************************************/
 	egg_test_title (test, "time 1m");
 	text = gpk_time_to_localised_string (1*60);
-	if (text != NULL && strcmp (text, _("1 minute")) == 0) {
+	if (text != NULL && strcmp (text, "1 minute") == 0) {
 		egg_test_success (test, NULL);
 	} else {
 		egg_test_failed (test, "failed, got %s", text);
@@ -531,7 +550,7 @@
 	/************************************************************/
 	egg_test_title (test, "time 1h");
 	text = gpk_time_to_localised_string (1*60*60);
-	if (text != NULL && strcmp (text, _("1 hour")) == 0) {
+	if (text != NULL && strcmp (text, "1 hour") == 0) {
 		egg_test_success (test, NULL);
 	} else {
 		egg_test_failed (test, "failed, got %s", text);
@@ -541,7 +560,7 @@
 	/************************************************************/
 	egg_test_title (test, "time 30s");
 	text = gpk_time_to_localised_string (30);
-	if (text != NULL && strcmp (text, _("30 seconds")) == 0) {
+	if (text != NULL && strcmp (text, "30 seconds") == 0) {
 		egg_test_success (test, NULL);
 	} else {
 		egg_test_failed (test, "failed, got %s", text);
@@ -551,7 +570,7 @@
 	/************************************************************/
 	egg_test_title (test, "time 30m");
 	text = gpk_time_to_localised_string (30*60);
-	if (text != NULL && strcmp (text, _("30 minutes")) == 0) {
+	if (text != NULL && strcmp (text, "30 minutes") == 0) {
 		egg_test_success (test, NULL);
 	} else {
 		egg_test_failed (test, "failed, got %s", text);
@@ -561,7 +580,7 @@
 	/************************************************************/
 	egg_test_title (test, "time 30m1s");
 	text = gpk_time_to_localised_string (30*60+1);
-	if (text != NULL && strcmp (text, _("30 minutes 1 second")) == 0) {
+	if (text != NULL && strcmp (text, "30 minutes 1 second") == 0) {
 		egg_test_success (test, NULL);
 	} else {
 		egg_test_failed (test, "failed, got %s", text);
@@ -571,7 +590,7 @@
 	/************************************************************/
 	egg_test_title (test, "time 30m10s");
 	text = gpk_time_to_localised_string (30*60+10);
-	if (text != NULL && strcmp (text, _("30 minutes 10 seconds")) == 0) {
+	if (text != NULL && strcmp (text, "30 minutes 10 seconds") == 0) {
 		egg_test_success (test, NULL);
 	} else {
 		egg_test_failed (test, "failed, got %s", text);

Modified: trunk/src/gpk-consolekit.c
==============================================================================
--- trunk/src/gpk-consolekit.c	(original)
+++ trunk/src/gpk-consolekit.c	Wed Oct 29 10:44:06 2008
@@ -173,7 +173,9 @@
 				polkit_action_set_action_id (action2,
 							     "org.freedesktop.consolekit.system.restart-multiple-users");
 				if (polkit_action_equal (action, action2)) {
+					/* TRANSLATORS: could not restart the computer */
 					gpk_error_dialog (_("Failed to restart"),
+							  /* TRANSLATORS: more than one user is using this computer */
 							  _("You are not allowed to restart the computer "
 							    "because multiple users are logged in"), NULL);
 				}

Modified: trunk/src/gpk-enum.c
==============================================================================
--- trunk/src/gpk-enum.c	(original)
+++ trunk/src/gpk-enum.c	Wed Oct 29 10:44:06 2008
@@ -854,24 +854,31 @@
 	gchar *text = NULL;
 	switch (info) {
 	case PK_INFO_ENUM_LOW:
+		/* TRANSLATORS: type of update */
 		text = g_strdup_printf (ngettext ("%i trivial update", "%i trivial updates", number), number);
 		break;
 	case PK_INFO_ENUM_NORMAL:
+		/* TRANSLATORS: type of update in the case that we don't have any data */
 		text = g_strdup_printf (ngettext ("%i update", "%i updates", number), number);
 		break;
 	case PK_INFO_ENUM_IMPORTANT:
+		/* TRANSLATORS: type of update */
 		text = g_strdup_printf (ngettext ("%i important update", "%i important updates", number), number);
 		break;
 	case PK_INFO_ENUM_SECURITY:
+		/* TRANSLATORS: type of update */
 		text = g_strdup_printf (ngettext ("%i security update", "%i security updates", number), number);
 		break;
 	case PK_INFO_ENUM_BUGFIX:
+		/* TRANSLATORS: type of update */
 		text = g_strdup_printf (ngettext ("%i bug fix update", "%i bug fix updates", number), number);
 		break;
 	case PK_INFO_ENUM_ENHANCEMENT:
+		/* TRANSLATORS: type of update */
 		text = g_strdup_printf (ngettext ("%i enhancement update", "%i enhancement updates", number), number);
 		break;
 	case PK_INFO_ENUM_BLOCKED:
+		/* TRANSLATORS: number of updates that cannot be installed due to deps */
 		text = g_strdup_printf (ngettext ("%i blocked update", "%i blocked updates", number), number);
 		break;
 	default:

Modified: trunk/src/gpk-firmware.c
==============================================================================
--- trunk/src/gpk-firmware.c	(original)
+++ trunk/src/gpk-firmware.c	Wed Oct 29 10:44:06 2008
@@ -195,11 +195,14 @@
 	egg_debug ("need to install:");
 	egg_str_list_print (array);
 
+	/* TRANSLATORS: we need another package to keep udev quiet */
 	message = _("Additional firmware is required to make hardware in this computer function correctly.");
+	/* TRANSLATORS: title of libnotify bubble */
 	notification = notify_notification_new (_("Additional firmware required"), message, "help-browser", NULL);
 	notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	notify_notification_add_action (notification, "install-firmware",
+					/* TRANSLATORS: button label */
 					_("Install firmware"), gpk_firmware_libnotify_cb, firmware, NULL);
 	notify_notification_add_action (notification, "do-not-show-prompt-firmware",
 					_("Do not show this again"), gpk_firmware_libnotify_cb, firmware, NULL);

Modified: trunk/src/gpk-hardware.c
==============================================================================
--- trunk/src/gpk-hardware.c	(original)
+++ trunk/src/gpk-hardware.c	Wed Oct 29 10:44:06 2008
@@ -158,14 +158,18 @@
 	hardware->priv->package_ids = pk_package_list_to_strv (list);
 
 	/* TODO: tell the user what hardware, NOT JUST A UDI */
-	message = g_strdup_printf ("%s\n\t%s", _("Do you want to install needed drivers?"), package);
+	/* TRANSLATORS: we can install an extra package so this hardware works, e.g. firmware */
+	message = g_strdup_printf ("%s\n\t%s", _("Additional packages can be installed to support this hardware"), package);
+	/* TRANSLATORS: a new bit of hardware has been plugged in */
 	body = g_strdup_printf ("%s", _("New hardware attached"));
 	notification = notify_notification_new (body, message, "help-browser", NULL);
 	notify_notification_set_timeout (notification, NOTIFY_EXPIRES_NEVER);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	notify_notification_add_action (notification, GPK_HARDWARE_INSTALL_ACTION,
+	/* TRANSLATORS: button text, install the packages needed for the hardware to work */
 			_("Install package"), gpk_hardware_libnotify_cb, hardware, NULL);
 	notify_notification_add_action (notification, GPK_HARDWARE_DONT_PROMPT_ACTION,
+					/* TRANSLATORS: don't pop-up the same message twice */
 					_("Do not show this again"), gpk_hardware_libnotify_cb, hardware, NULL);
 	ret = notify_notification_show (notification, &error);
 	if (!ret) {
@@ -204,8 +208,7 @@
 	/* we get multiple hal signals for one device plugin. Ignore all but first one.
 	   TODO: should we act on a different one ?
 	*/
-	if (hardware->priv->udi == NULL)
-	{
+	if (hardware->priv->udi == NULL) {
 		hardware->priv->udi = g_strdup (udi);
 		g_timeout_add_seconds (GPK_HARDWARE_MULTIPLE_HAL_SIGNALS_DELAY,
 				       gpk_hardware_device_added_timeout, hardware);

Modified: trunk/src/gpk-inhibit.c
==============================================================================
--- trunk/src/gpk-inhibit.c	(original)
+++ trunk/src/gpk-inhibit.c	Wed Oct 29 10:44:06 2008
@@ -95,7 +95,9 @@
 
 	/* coldplug the battery state */
 	ret = dbus_g_proxy_call (inhibit->priv->proxy_gpm, "Inhibit", &error,
+				/* TRANSLATORS: the program name that inhibited the suspend */
 				 G_TYPE_STRING, _("Software Update Applet"),
+				/* TRANSLATORS: the reason why we've inhibited it */
 				 G_TYPE_STRING, _("A transaction that cannot be interrupted is running"),
 				 G_TYPE_INVALID,
 				 G_TYPE_UINT, &inhibit->priv->cookie,

Modified: trunk/src/gpk-install-catalog.c
==============================================================================
--- trunk/src/gpk-install-catalog.c	(original)
+++ trunk/src/gpk-install-catalog.c	Wed Oct 29 10:44:06 2008
@@ -49,7 +49,8 @@
 		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
 		  _("Show extra debugging information"), NULL },
 		{ G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &files,
-		  "catalogs to install", NULL },
+		/* TRANSLATORS: command line option: a list of catalogs to install */
+		  _("Catalogs files to install"), NULL },
 		{ NULL}
 	};
 
@@ -63,6 +64,7 @@
 		g_thread_init (NULL);
 	g_type_init ();
 
+	/* TRANSLATORS: program name: application to install a catalog of software */
 	g_set_application_name (_("Catalog Installer"));
 	context = g_option_context_new ("gpk-install-catalog");
 	g_option_context_set_summary (context, _("Catalog Installer"));
@@ -80,7 +82,8 @@
 
 	if (files == NULL) {
 		gpk_error_dialog (_("Failed to install catalog"),
-				  _("You need to specify a file to install"), NULL);
+				  /* TRANSLATORS: no filename was supplied */
+				  _("You need to specify a file name to install"), NULL);
 		return 1;
 	}
 

Modified: trunk/src/gpk-install-local-file.c
==============================================================================
--- trunk/src/gpk-install-local-file.c	(original)
+++ trunk/src/gpk-install-local-file.c	Wed Oct 29 10:44:06 2008
@@ -49,7 +49,8 @@
 		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
 		  _("Show extra debugging information"), NULL },
 		{ G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &files,
-		  "files to install", NULL },
+		  /* TRANSLATORS: command line option: a list of files to install */
+		  _("Files to install"), NULL },
 		{ NULL}
 	};
 
@@ -63,6 +64,7 @@
 		g_thread_init (NULL);
 	g_type_init ();
 
+	/* TRANSLATORS: program name: application to install a package to provide a file */
 	g_set_application_name (_("PackageKit File Installer"));
 	context = g_option_context_new ("gpk-install-file");
 	g_option_context_set_summary (context, _("PackageKit File Installer"));
@@ -73,13 +75,15 @@
 	egg_debug_init (verbose);
 	gtk_init (&argc, &argv);
 
-	/* are we running privileged */
+	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
 	ret = gpk_check_privileged_user (_("Local file installer"));
 	if (!ret)
 		return 1;
 
 	if (files == NULL) {
-		gpk_error_dialog (_("Failed to install local file"),
+		/* TRANSLATORS: could not install a package that contained the file we wanted */
+		gpk_error_dialog (_("Failed to install a package to provide a file"),
+				  /* TRANSLATORS: nothing selected */
 				  _("You need to specify a file to install"), NULL);
 		return 1;
 	}

Modified: trunk/src/gpk-install-mime-type.c
==============================================================================
--- trunk/src/gpk-install-mime-type.c	(original)
+++ trunk/src/gpk-install-mime-type.c	Wed Oct 29 10:44:06 2008
@@ -60,6 +60,7 @@
 		g_thread_init (NULL);
 	g_type_init ();
 
+	/* TRANSLATORS: program name: application to install a package to provide a mime type */
 	g_set_application_name (_("Mime Type Installer"));
 	context = g_option_context_new ("gpk-install-mime-type");
 	g_option_context_set_summary (context, _("Mime Type Installer"));
@@ -70,18 +71,22 @@
 	egg_debug_init (verbose);
 	gtk_init (&argc, &argv);
 
-	/* are we running privileged */
+	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
 	ret = gpk_check_privileged_user (_("Mime type installer"));
 	if (!ret)
 		return 1;
 
 	if (argc < 2) {
-		gpk_error_dialog (_("Failed to install file handler"),
+		/* TRANSLATORS: could not install program supporting this type */
+		gpk_error_dialog (_("Failed to install a program to handle this file type"),
+				  /* TRANSLATORS: no type given */
 				  _("You need to specify a mime-type to install"), NULL);
 		return 1;
 	}
 	if (argc > 2) {
-		gpk_error_dialog (_("Failed to install file handler"),
+		/* TRANSLATORS: could not install program supporting this type */
+		gpk_error_dialog (_("Failed to install a program to handle this file type"),
+				  /* TRANSLATORS: more than one type given */
 				  _("You can only specify one mime-type to install"), NULL);
 		return 1;
 	}

Modified: trunk/src/gpk-install-package-name.c
==============================================================================
--- trunk/src/gpk-install-package-name.c	(original)
+++ trunk/src/gpk-install-package-name.c	Wed Oct 29 10:44:06 2008
@@ -49,7 +49,7 @@
 		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
 		  _("Show extra debugging information"), NULL },
 		{ G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &packages,
-		  "packages to install", NULL },
+		  _("Packages to install"), NULL },
 		{ NULL}
 	};
 
@@ -63,9 +63,10 @@
 		g_thread_init (NULL);
 	g_type_init ();
 
-	g_set_application_name (_("Package Installer"));
+	/* TRANSLATORS: program name: installs a package (or packages) by name */
+	g_set_application_name (_("Package Name Installer"));
 	context = g_option_context_new ("gpk-install-package");
-	g_option_context_set_summary (context, _("Package Installer"));
+	g_option_context_set_summary (context, _("Package Name Installer"));
 	g_option_context_add_main_entries (context, options, NULL);
 	g_option_context_parse (context, &argc, &argv, NULL);
 	g_option_context_free (context);
@@ -73,13 +74,15 @@
 	egg_debug_init (verbose);
 	gtk_init (&argc, &argv);
 
-	/* are we running privileged */
+	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
 	ret = gpk_check_privileged_user (_("Package name installer"));
 	if (!ret)
 		return 1;
 
 	if (packages == NULL) {
+		/* TRANSLATORS: failed */
 		gpk_error_dialog (_("Failed to install package from name"),
+				  /* TRANSLATORS: nothing was specified */
 				  _("You need to specify a package to install"), NULL);
 		return 1;
 	}

Modified: trunk/src/gpk-install-provide-file.c
==============================================================================
--- trunk/src/gpk-install-provide-file.c	(original)
+++ trunk/src/gpk-install-provide-file.c	Wed Oct 29 10:44:06 2008
@@ -60,9 +60,10 @@
 		g_thread_init (NULL);
 	g_type_init ();
 
-	g_set_application_name (_("Filename Installer"));
+	/* TRANSLATORS: program name, an application to install files that are provided by packages */
+	g_set_application_name (_("File Provide Installer"));
 	context = g_option_context_new ("gpk-install-filename");
-	g_option_context_set_summary (context, _("Filename Installer"));
+	g_option_context_set_summary (context, _("File Provide Installer"));
 	g_option_context_add_main_entries (context, options, NULL);
 	g_option_context_parse (context, &argc, &argv, NULL);
 	g_option_context_free (context);
@@ -70,18 +71,22 @@
 	egg_debug_init (verbose);
 	gtk_init (&argc, &argv);
 
-	/* are we running privileged */
+	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
 	ret = gpk_check_privileged_user (_("Provide file installer"));
 	if (!ret)
 		return 1;
 
 	if (argc < 2) {
+		/* TRANSLATORS: nothing done */
 		gpk_error_dialog (_("Failed to install a package to provide a file"),
+				  /* TRANSLATORS: nothig was specified */
 				  _("You need to specify a filename to install"), NULL);
 		return 1;
 	}
 	if (argc > 2) {
+		/* TRANSLATORS: nothing done */
 		gpk_error_dialog (_("Failed to install packages to provide files"),
+				  /* TRANSLATORS: more than one thing was specified */
 				  _("You can only specify one filename to install"), NULL);
 		return 1;
 	}

Modified: trunk/src/gpk-log.c
==============================================================================
--- trunk/src/gpk-log.c	(original)
+++ trunk/src/gpk-log.c	Wed Oct 29 10:44:06 2008
@@ -107,6 +107,7 @@
 	date = g_date_new ();
 	g_date_set_time_val (date, &timeval);
 
+	/* TRANSLATORS: strftime formatted please */
 	g_date_strftime (buffer, 100, _("%A, %d %B %Y"), date);
 	g_date_free (date);
 	return g_strdup (buffer);
@@ -209,6 +210,7 @@
 	/* --- column for date --- */
 	renderer = gtk_cell_renderer_text_new ();
 	g_object_set (renderer, "yalign", 0.0, NULL);
+	/* TRANSLATORS: column for the date */
 	column = gtk_tree_view_column_new_with_attributes (_("Date"), renderer,
 							   "markup", GPK_LOG_COLUMN_DATE, NULL);
 	gtk_tree_view_append_column (treeview, column);
@@ -217,6 +219,7 @@
 
 	/* --- column for image and text --- */
 	column = gtk_tree_view_column_new ();
+	/* TRANSLATORS: column for what was done, e.g. update-system */
 	gtk_tree_view_column_set_title (column, _("Action"));
 
 	/* image */
@@ -242,6 +245,7 @@
 	g_object_set (renderer, "yalign", 0.0, NULL);
 	g_object_set(renderer, "wrap-mode", PANGO_WRAP_WORD, NULL);
 	g_object_set(renderer, "wrap-width", 400, NULL);
+	/* TRANSLATORS: column for what packages were upgraded */
 	column = gtk_tree_view_column_new_with_attributes (_("Details"), renderer,
 							   "markup", GPK_LOG_COLUMN_DETAILS, NULL);
 	gtk_tree_view_append_column (treeview, column);
@@ -296,6 +300,7 @@
 	PolKitAction *pk_action;
 	pk_action = polkit_action_new ();
 	polkit_action_set_action_id (pk_action, "org.freedesktop.packagekit.system-rollback");
+	/* TRANSLATORS: button label, roll back to a previous system snapshot */
 	button_action = polkit_gnome_action_new_default ("rollback", pk_action, _("_Rollback"), NULL);
 	g_object_set (button_action,
 		      "no-icon-name", "gtk-go-back-ltr",
@@ -565,6 +570,7 @@
 		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
 		  N_("Show extra debugging information"), NULL },
 		{ "filter", 'f', 0, G_OPTION_ARG_STRING, &filter,
+		  /* TRANSLATORS: preset the GtktextBox with this filter text */
 		  N_("Set the filter to this value"), NULL },
 		{ NULL}
 	};

Modified: trunk/src/gpk-prefs.c
==============================================================================
--- trunk/src/gpk-prefs.c	(original)
+++ trunk/src/gpk-prefs.c	Wed Oct 29 10:44:06 2008
@@ -40,13 +40,20 @@
 #include "egg-unique.h"
 #include "gpk-enum.h"
 
+/* TRANSLATORS: check once an hour */
 #define PK_FREQ_HOURLY_TEXT		_("Hourly")
+/* TRANSLATORS: check once a day */
 #define PK_FREQ_DAILY_TEXT		_("Daily")
+/* TRANSLATORS: check once a week */
 #define PK_FREQ_WEEKLY_TEXT		_("Weekly")
+/* TRANSLATORS: never check for updates/upgrades */
 #define PK_FREQ_NEVER_TEXT		_("Never")
 
+/* TRANSLATORS: update everything */
 #define PK_UPDATE_ALL_TEXT		_("All updates")
+/* TRANSLATORS: update just security updates */
 #define PK_UPDATE_SECURITY_TEXT		_("Only security updates")
+/* TRANSLATORS: don't update anything */
 #define PK_UPDATE_NONE_TEXT		_("Nothing")
 
 static GladeXML *glade_xml = NULL;
@@ -366,6 +373,7 @@
 	g_type_init ();
 
 	context = g_option_context_new (NULL);
+	/* TRANSLATORS: program name, an application to set per-user policy for updates */
 	g_option_context_set_summary(context, _("Software Update Preferences"));
 	g_option_context_add_main_entries (context, options, NULL);
 	g_option_context_parse (context, &argc, &argv, NULL);

Modified: trunk/src/gpk-repo.c
==============================================================================
--- trunk/src/gpk-repo.c	(original)
+++ trunk/src/gpk-repo.c	Wed Oct 29 10:44:06 2008
@@ -152,6 +152,7 @@
 	renderer = gtk_cell_renderer_toggle_new ();
 	g_signal_connect (renderer, "toggled", G_CALLBACK (pk_misc_installed_toggled), model);
 
+	/* TRANSLATORS: column if the source is enabled */
 	column = gtk_tree_view_column_new_with_attributes (_("Enabled"), renderer,
 							   "active", REPO_COLUMN_ENABLED, NULL);
 	gtk_tree_view_append_column (treeview, column);
@@ -159,6 +160,7 @@
 
 	/* column for text */
 	renderer = gtk_cell_renderer_text_new ();
+	/* TRANSLATORS: column for the source description */
 	column = gtk_tree_view_column_new_with_attributes (_("Software Source"), renderer,
 							   "markup", REPO_COLUMN_TEXT, NULL);
 	gtk_tree_view_column_set_sort_column_id (column, REPO_COLUMN_TEXT);
@@ -232,6 +234,7 @@
 {
 	GtkWidget *widget;
 	widget = glade_xml_get_widget (glade_xml, "window_repo");
+	/* TRANSLATORS: for one reason or another, we could not enable or disable a software source */
 	gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to change status"),
 				gpk_error_enum_to_localised_text (code), details);
 }
@@ -356,7 +359,7 @@
 	egg_debug_init (verbose);
 	gtk_init (&argc, &argv);
 
-	/* are we running privileged */
+	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
 	ret = gpk_check_privileged_user (_("Software source viewer"));
 	if (!ret) {
 		return 1;

Modified: trunk/src/gpk-service-pack.c
==============================================================================
--- trunk/src/gpk-service-pack.c	(original)
+++ trunk/src/gpk-service-pack.c	Wed Oct 29 10:44:06 2008
@@ -243,14 +243,18 @@
 	/* display errors if not exactly one match */
 	if (len == 0) {
 		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		/* TRANSLATORS: message details when there were no packages found of that name */
 		text = g_strdup_printf (_("No package '%s' found!"), package);
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), text, NULL);
+		/* TRANSLATORS: did not create pack file */
+		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to create"), text, NULL);
 		g_free (text);
 		goto out;
 	} else if (len > 1) {
 		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		/* TRANSLATORS: more than one match for the package name */
 		text = g_strdup_printf (_("More than one possible package '%s' found!"), package);
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), text, NULL);
+		/* TRANSLATORS: did not create pack file */
+		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Failed to create"), text, NULL);
 		g_free (text);
 		goto out;
 	}
@@ -317,7 +321,7 @@
 
 	ret = pk_client_get_packages (client, pk_bitfield_value (PK_FILTER_ENUM_INSTALLED), &error_local);
 	if (!ret) {
-		*error = g_error_new (0, 0, _("Could not get package list: %s"), error_local->message);
+		*error = g_error_new (0, 0, _("Could not get list of installed packages: %s"), error_local->message);
 		g_error_free (error_local);
 		goto out;
 	}
@@ -325,9 +329,10 @@
 	/* get the deps */
 	list = pk_client_get_package_list (client);
 
-	/* write new file */
+	/* write new file : FIXME: return a GError */
 	ret = pk_obj_list_to_file (PK_OBJ_LIST(list), filename);
 	if (!ret) {
+		/* TRANSLATORS: we could not write to the destination directory for some reason */
 		*error = g_error_new (0, 0, _("Could not write package list"));
 		goto out;
 	}
@@ -372,6 +377,7 @@
 		ret = gpk_pack_copy_package_lists (filename, &error);
 		if (!ret) {
 			widget = glade_xml_get_widget (glade_xml, "window_pack");
+			/* TRANSLATORS: Could not create package list */
 			gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("Cannot copy system package list"), error->message);
 			g_error_free (error);
 		}
@@ -390,6 +396,7 @@
 		package = gtk_entry_get_text (GTK_ENTRY(widget));
 		if (egg_strzero (package)) {
 			widget = glade_xml_get_widget (glade_xml, "window_pack");
+			/* TRANSLATORS: Could not create package list */
 			gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("No package name selected"), NULL);
 			goto out;
 		}
@@ -404,6 +411,7 @@
 	ret = pk_obj_list_from_file (PK_OBJ_LIST(list), exclude);
 	if (!ret) {
 		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		/* TRANSLATORS: we could not read the file list for the destination computer */
 		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("Cannot read destination package list"), NULL);
 		goto out;
 	}
@@ -422,6 +430,7 @@
 		ret = pk_service_pack_create_for_package_ids (pack, package_ids, &error);
 	if (!ret) {
 		widget = glade_xml_get_widget (glade_xml, "window_pack");
+		/* TRANSLATORS: we could not create the pack file, generic error */
 		gpk_error_dialog_modal (GTK_WINDOW (widget), _("Create error"), _("Cannot create service pack"), error->message);
 		g_error_free (error);
 	}
@@ -528,12 +537,16 @@
 		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
 		  _("Show extra debugging information"), NULL },
 		{ "option", 'o', 0, G_OPTION_ARG_STRING, &option,
-		  _("Preselect the option, allowable values are list, updates and package"), NULL },
+		  /* TRANSLATORS: the constants should not be translated */
+		  _("Set the option, allowable values are 'list', 'updates' and 'package'"), NULL },
 		{ "package", 'p', 0, G_OPTION_ARG_STRING, &package,
+		  /* TRANSLATORS: this refers to the GtkTextEntry in gpk-service-pack */
 		  _("Add the package name to the text entry box"), NULL },
 		{ "with-list", 'p', 0, G_OPTION_ARG_STRING, &with_list,
+		  /* TRANSLATORS: this is the destination computer package list */
 		  _("Set the remote package list filename"), NULL },
 		{ "output", 'p', 0, G_OPTION_ARG_STRING, &output,
+		  /* TRANSLATORS: this is the file output directory */
 		  _("Set the default output directory"), NULL },
 		{ NULL}
 	};
@@ -550,7 +563,8 @@
 	g_type_init ();
 
 	context = g_option_context_new (NULL);
-	g_option_context_set_summary(context, _("Software Update Preferences"));
+	/* TRANSLATORS: program description, an application to create service packs */
+	g_option_context_set_summary(context, _("Service Pack Creator"));
 	g_option_context_add_main_entries (context, options, NULL);
 	g_option_context_parse (context, &argc, &argv, NULL);
 	g_option_context_free (context);
@@ -583,12 +597,14 @@
 
 	widget = glade_xml_get_widget (glade_xml, "filechooserbutton_exclude");
 	filter = gtk_file_filter_new ();
+	/* TRANSLATORS: file search type, lists of packages */
 	gtk_file_filter_set_name (filter, _("Package list files"));
 	gtk_file_filter_add_pattern (filter, "*.package-list");
 	gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(widget), filter);
 
 	widget = glade_xml_get_widget (glade_xml, "filechooserbutton_directory");
 	filter = gtk_file_filter_new ();
+	/* TRANSLATORS: file search type, service pack destination file type */
 	gtk_file_filter_set_name (filter, _("Service pack files"));
 	gtk_file_filter_add_pattern (filter, "*.servicepack");
 	gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(widget), filter);

Modified: trunk/src/gpk-update-icon.c
==============================================================================
--- trunk/src/gpk-update-icon.c	(original)
+++ trunk/src/gpk-update-icon.c	Wed Oct 29 10:44:06 2008
@@ -145,6 +145,7 @@
 	g_type_init ();
 	notify_init ("gpk-update-icon");
 
+	/* TRANSLATORS: program name, a session wide daemon to watch for updates and changing system state */
 	g_set_application_name (_("Update Applet"));
 	context = g_option_context_new (NULL);
 	g_option_context_set_summary (context, _("Update Applet"));
@@ -160,7 +161,7 @@
 	egg_debug_init (verbose);
 	gtk_init (&argc, &argv);
 
-	/* are we running privileged */
+	/* TRANSLATORS: title to pass to to the user if there are not enough privs */
 	ret = gpk_check_privileged_user (_("Update applet"));
 	if (!ret)
 		return 1;

Modified: trunk/src/gpk-update-viewer.c
==============================================================================
--- trunk/src/gpk-update-viewer.c	(original)
+++ trunk/src/gpk-update-viewer.c	Wed Oct 29 10:44:06 2008
@@ -241,7 +241,9 @@
 	/* we have no checkboxes selected */
 	if (!selected_any) {
 		widget = glade_xml_get_widget (glade_xml, "window_updates");
-		gpk_error_dialog_modal (GTK_WINDOW (widget), _("No updates selected"),
+		gpk_error_dialog_modal (GTK_WINDOW (widget),
+					/* TRANSLATORS: we clicked apply, but had no packages selected */
+					_("No updates selected"),
 					_("No updates are selected"), NULL);
 		return;
 	}
@@ -333,6 +335,7 @@
 	gpk_animated_icon_enable_animation (GPK_ANIMATED_ICON (widget), TRUE);
 	gtk_widget_show (widget);
 
+	/* TRANSLATORS: getting information about the update -- can take some time */
 	text_bold = g_strdup_printf ("<b>%s</b>", _("Getting Description..."));
 	widget = glade_xml_get_widget (glade_xml, "label_animation_description");
 	gtk_label_set_label (GTK_LABEL (widget), text_bold);
@@ -484,6 +487,7 @@
 
 	length = pk_package_list_get_size (list);
 	if (length == 0) {
+		/* TRANSLATORS: no updates available for the user */
 		gpk_update_viewer_add_preview_item ("dialog-information", _("There are no updates available"), TRUE);
 		widget = glade_xml_get_widget (glade_xml, "button_close3");
 		gtk_widget_grab_default (widget);
@@ -893,20 +897,20 @@
 		info = PK_INFO_ENUM_NORMAL;
 
 	info_text = gpk_info_enum_to_localised_text (info);
-	/* translators: this is the update type, e.g. security */
+	/* TRANSLATORS: this is the update type, e.g. security */
 	gpk_update_viewer_add_description_item (_("Type"), info_text, NULL);
 
 	/* state */
 	if (obj->state != PK_UPDATE_STATE_ENUM_UNKNOWN) {
 		info_text = gpk_update_state_enum_to_localised_text (obj->state);
-		/* translators: this is the stability status of the update */
+		/* TRANSLATORS: this is the stability status of the update */
 		gpk_update_viewer_add_description_item (_("State"), info_text, NULL);
 	}
 
 	/* issued */
 	if (obj->issued != NULL) {
 		line = pk_iso8601_from_date (obj->issued);
-		/* translators: this is when the update was issued */
+		/* TRANSLATORS: this is when the update was issued */
 		gpk_update_viewer_add_description_item (_("Issued"), line, NULL);
 		g_free (line);
 	}
@@ -914,20 +918,20 @@
 	/* updated */
 	if (obj->updated != NULL) {
 		line = pk_iso8601_from_date (obj->updated);
-		/* translators: this is when (if?) the update was updated */
+		/* TRANSLATORS: this is when (if?) the update was updated */
 		gpk_update_viewer_add_description_item (_("Updated"), line, NULL);
 		g_free (line);
 	}
 
 	package_pretty = gpk_package_id_name_version (obj->id);
-	/* translators: this is the package version */
+	/* TRANSLATORS: this is the package version */
 	gpk_update_viewer_add_description_item (_("New version"), package_pretty, NULL);
 	g_free (package_pretty);
 
 	/* split and add */
 	package_pretty = gpk_update_viewer_get_pretty_from_composite (obj->updates);
 	if (package_pretty != NULL) {
-		/* translators: this is a list of packages that are updated */
+		/* TRANSLATORS: this is a list of packages that are updated */
 		gpk_update_viewer_add_description_item (_("Updates"), package_pretty, NULL);
 	}
 	g_free (package_pretty);
@@ -935,39 +939,39 @@
 	/* split and add */
 	package_pretty = gpk_update_viewer_get_pretty_from_composite (obj->obsoletes);
 	if (package_pretty != NULL) {
-		/* translators: this is a list of packages that are obsoleted */
+		/* TRANSLATORS: this is a list of packages that are obsoleted */
 		gpk_update_viewer_add_description_item (_("Obsoletes"), package_pretty, NULL);
 	}
 	g_free (package_pretty);
 
-	/* translators: this is the repository the package has come from */
+	/* TRANSLATORS: this is the repository the package has come from */
 	gpk_update_viewer_add_description_item (_("Repository"), obj->id->data, NULL);
 
 	if (!egg_strzero (obj->update_text)) {
 		/* convert the bullets */
 		line = gpk_update_viewer_pretty_description (obj->update_text);
-		/* translators: this is the package description */
+		/* TRANSLATORS: this is the package description */
 		gpk_update_viewer_add_description_item (_("Description"), line, NULL);
 		g_free (line);
 	}
 
 	/* changelog */
 	if (!egg_strzero (obj->changelog)) {
-		/* translators: this is a list of CVE (security) URLs */
+		/* TRANSLATORS: this is a list of CVE (security) URLs */
 		gpk_update_viewer_add_description_item (_("Changes"), obj->changelog, NULL);
 	}
 
 	/* add all the links */
 	if (!egg_strzero (obj->vendor_url)) {
-		/* translators: this is a list of vendor URLs */
+		/* TRANSLATORS: this is a list of vendor URLs */
 		gpk_update_viewer_add_description_link_item (_("Vendor"), obj->vendor_url);
 	}
 	if (!egg_strzero (obj->bugzilla_url)) {
-		/* translators: this is a list of bugzilla URLs */
+		/* TRANSLATORS: this is a list of bugzilla URLs */
 		gpk_update_viewer_add_description_link_item (_("Bugzilla"), obj->bugzilla_url);
 	}
 	if (!egg_strzero (obj->cve_url)) {
-		/* translators: this is a list of CVE (security) URLs */
+		/* TRANSLATORS: this is a list of CVE (security) URLs */
 		gpk_update_viewer_add_description_link_item (_("CVE"), obj->cve_url);
 	}
 
@@ -975,7 +979,7 @@
 	if (obj->restart == PK_RESTART_ENUM_SESSION ||
 	    obj->restart == PK_RESTART_ENUM_SYSTEM) {
 		info_text = gpk_restart_enum_to_localised_text (obj->restart);
-		/* translators: this is a notice a restart might be required */
+		/* TRANSLATORS: this is a notice a restart might be required */
 		gpk_update_viewer_add_description_item (_("Notice"), info_text, NULL);
 	}
 }
@@ -1037,6 +1041,7 @@
 	/* image */
 	renderer = gtk_cell_renderer_pixbuf_new ();
 	g_object_set (renderer, "stock-size", GTK_ICON_SIZE_DIALOG, NULL);
+	/* TRANSLATORS: a column that has how serious the update is */
 	column = gtk_tree_view_column_new_with_attributes (_("Severity"), renderer,
 							   "icon-name", PACKAGES_COLUMN_ICON, NULL);
 	gtk_tree_view_column_set_sort_column_id (column, PACKAGES_COLUMN_INFO);
@@ -1044,6 +1049,7 @@
 
 	/* column for text */
 	renderer = gtk_cell_renderer_text_new ();
+	/* TRANSLATORS: a column that has name of the package that will be updated */
 	column = gtk_tree_view_column_new_with_attributes (_("Software"), renderer,
 							   "markup", PACKAGES_COLUMN_TEXT, NULL);
 	gtk_tree_view_column_set_sort_column_id (column, PACKAGES_COLUMN_TEXT);
@@ -1079,6 +1085,7 @@
 	/* column for uris */
 	renderer = gpk_cell_renderer_uri_new ();
 	g_signal_connect (renderer, "clicked", G_CALLBACK (gpk_update_viewer_treeview_renderer_clicked), NULL);
+	/* TRANSLATORS: The information about the update, not currently shown */
 	column = gtk_tree_view_column_new_with_attributes (_("Text"), renderer,
 							   "text", DESC_COLUMN_TEXT,
 							   "uri", DESC_COLUMN_URI, NULL);
@@ -1203,6 +1210,7 @@
 pk_update_get_approx_time (guint time)
 {
 	if (time < 60)
+		/* TRANSLATORS: less than 60 seconds, a short time */
 		return _("Less than a minute ago");
 	else if (time < 60*60)
 		return _("Less than an hour ago");
@@ -1313,6 +1321,7 @@
 	/* set the widget text */
 	if (exists) {
 		widget = glade_xml_get_widget (glade_xml, "label_update_title");
+		/* TRANSLATORS: some updates the user selected could not be installed */
 		title_bold = g_strdup_printf ("<b>%s</b>", _("Some updates were not installed"));
 		gtk_label_set_markup (GTK_LABEL (widget), title_bold);
 		g_free (title_bold);
@@ -1322,6 +1331,7 @@
 		gtk_widget_show (widget);
 	} else {
 		widget = glade_xml_get_widget (glade_xml, "label_update_title");
+		/* TRANSLATORS: everything updates okay */
 		title_bold = g_strdup_printf ("<b>%s</b>", _("System update completed"));
 		gtk_label_set_markup (GTK_LABEL (widget), title_bold);
 		g_free (title_bold);
@@ -1445,12 +1455,15 @@
 	/* hide buttons if we are updating */
 	if (pk_task_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_SYSTEM) ||
 	    pk_task_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_PACKAGES)) {
+		/* TRANSLATORS: either this current user, or another user is already updating the system */
 		gpk_update_viewer_preview_set_animation (_("A system update is already in progress"));
 
 	} else if (pk_task_list_contains_role (tlist, PK_ROLE_ENUM_GET_UPDATES)) {
+		/* TRANSLATORS: we are getting the list of updates from the server */
 		gpk_update_viewer_preview_set_animation (_("Getting updates"));
 
 	} else if (pk_task_list_contains_role (tlist, PK_ROLE_ENUM_REFRESH_CACHE)) {
+		/* TRANSLATORS: we are refreshing the package lists and the update lists */
 		gpk_update_viewer_preview_set_animation (_("Refreshing package cache"));
 
 	} else {
@@ -1584,6 +1597,7 @@
 	gpk_update_viewer_get_checked_status (&all_checked, &none_checked);
 
 	if (!all_checked) {
+		/* TRANSLATORS: right click menu, select all the updates */
 		menuitem = gtk_menu_item_new_with_label (_("Select all"));
 		g_signal_connect (menuitem, "activate",
 				  G_CALLBACK (gpk_update_viewer_detail_popup_menu_select_all), treeview);
@@ -1591,12 +1605,14 @@
 	}
 
 	if (!none_checked) {
+		/* TRANSLATORS: right click menu, unselect all the updates */
 		menuitem = gtk_menu_item_new_with_label (_("Unselect all"));
 		g_signal_connect (menuitem, "activate",
 				  G_CALLBACK (gpk_update_viewer_detail_popup_menu_select_none), treeview);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
 	}
 
+	/* TRANSLATORS: right click option, ignore this package name, not currently used */
 	menuitem = gtk_menu_item_new_with_label (_("Ignore this package"));
 	gtk_widget_set_sensitive (GTK_WIDGET (menuitem), FALSE);
 	g_signal_connect (menuitem, "activate",
@@ -1727,7 +1743,9 @@
 	pk_action = polkit_action_new ();
 	polkit_action_set_action_id (pk_action, "org.freedesktop.packagekit.system-sources-refresh");
 	refresh_action = polkit_gnome_action_new_default ("refresh", pk_action,
+							  /* TRANSLATORS: button label, refresh the package lists */
 							  _("Refresh"),
+							  /* TRANSLATORS: button tooltip */
 							  _("Refreshing is not normally required but will retrieve the latest application and update lists"));
 	g_object_set (refresh_action, "auth-icon-name", NULL, NULL);
 	polkit_action_unref (pk_action);
@@ -1736,6 +1754,7 @@
 	pk_action = polkit_action_new ();
 	polkit_action_set_action_id (pk_action, "org.freedesktop.consolekit.system.restart");
 	restart_action = polkit_gnome_action_new_default ("restart-system", pk_action,
+							  /* TRANSLATORS: button label */
 							  _("_Restart computer now"), NULL);
 	g_object_set (restart_action,
 		      "no-icon-name", GTK_STOCK_REFRESH,
@@ -1751,7 +1770,9 @@
 	pk_action = polkit_action_new ();
 	polkit_action_set_action_id (pk_action, "org.freedesktop.packagekit.system-update");
 	update_packages_action = polkit_gnome_action_new_default ("update-package", pk_action,
+								  /* TRANSLATORS: button label, apply all pending updates the user has selected */
 								  _("_Apply Updates"),
+								  /* TRANSLATORS: button tooltip */
 								  _("Apply the selected updates"));
 	g_object_set (update_packages_action,
 		      "no-icon-name", GTK_STOCK_APPLY,
@@ -1765,7 +1786,9 @@
 	pk_action = polkit_action_new ();
 	polkit_action_set_action_id (pk_action, "org.freedesktop.packagekit.system-update");
 	update_system_action = polkit_gnome_action_new_default ("update-system", pk_action,
+								/* TRANSLATORS: button label, update all packages pending */
 								_("_Update System"),
+								/* TRANSLATORS: button tooltip */
 								_("Apply all updates"));
 	g_object_set (update_system_action,
 		      "no-icon-name", GTK_STOCK_APPLY,
@@ -1824,6 +1847,7 @@
 	g_type_init ();
 
 	context = g_option_context_new (NULL);
+	/* TRANSLATORS: program name, a simple app to view pending updates */
 	g_option_context_set_summary (context, _("Software Update Viewer"));
 	g_option_context_add_main_entries (context, options, NULL);
 	g_option_context_parse (context, &argc, &argv, NULL);
@@ -1939,16 +1963,19 @@
 	widget = glade_xml_get_widget (glade_xml, "button_review");
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (gpk_update_viewer_review_cb), NULL);
+	/* TRANSLATORS: tooltip on the review button */
 	gtk_widget_set_tooltip_text(widget, _("Review the update list"));
 
 	widget = glade_xml_get_widget (glade_xml, "button_overview");
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (gpk_update_viewer_overview_cb), NULL);
+	/* TRANSLATORS: tooltip on the back button (from the detailed view) */
 	gtk_widget_set_tooltip_text(widget, _("Back to overview"));
 
 	widget = glade_xml_get_widget (glade_xml, "button_overview2");
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (pk_button_more_installs_cb), NULL);
+	/* TRANSLATORS: tooltip on the back button (from finished view) */
 	gtk_widget_set_tooltip_text (widget, _("Back to overview"));
 
 	widget = glade_xml_get_widget (glade_xml, "button_help");

Modified: trunk/src/gpk-watch.c
==============================================================================
--- trunk/src/gpk-watch.c	(original)
+++ trunk/src/gpk-watch.c	Wed Oct 29 10:44:06 2008
@@ -131,6 +131,7 @@
 		}
 		/* don't fill the screen with a giant tooltip */
 		if (i > GPK_WATCH_MAXIMUM_TOOLTIP_LINES) {
+			/* TRANSLATORS: if the menu won't fit, inform the user there are a few more things waiting */
 			g_string_append_printf (status, _("(%i more tasks)"),
 						i - GPK_WATCH_MAXIMUM_TOOLTIP_LINES);
 			g_string_append_c (status, '\n');
@@ -276,7 +277,8 @@
 		gconf_client_set_bool (watch->priv->gconf_client, GPK_CONF_NOTIFY_COMPLETED, FALSE, NULL);
 
 	} else if (egg_strequal (action, "show-error-details")) {
-		gpk_error_dialog (_("Error details"), _("Package Manager error details"), watch->priv->error_details);
+		/* TRANSLATORS: The detailed error if the user clicks "more info" */
+		gpk_error_dialog (_("Error details"), _("Package manager error details"), watch->priv->error_details);
 
 	} else {
 		egg_warning ("unknown action id: %s", action);
@@ -356,17 +358,20 @@
 	}
 
 	if (role == PK_ROLE_ENUM_REMOVE_PACKAGES)
+		/* TRANSLATORS: This is the message in the libnotify body */
 		message = g_strdup_printf (_("Package '%s' has been removed"), text);
 	else if (role == PK_ROLE_ENUM_INSTALL_PACKAGES)
+		/* TRANSLATORS: This is the message in the libnotify body */
 		message = g_strdup_printf (_("Package '%s' has been installed"), text);
 	else if (role == PK_ROLE_ENUM_UPDATE_SYSTEM)
-		message = g_strdup ("System has been updated");
+		/* TRANSLATORS: This is the message in the libnotify body */
+		message = g_strdup (_("System has been updated"));
 
 	/* nothing of interest */
 	if (message == NULL)
 		goto out;
 
-	/* do the bubble */
+	/* TRANSLATORS: title: an action has finished, and we are showing the libnotify bubble */
 	notification = notify_notification_new (_("Task completed"), message, "help-browser", NULL);
 	notify_notification_set_timeout (notification, 5000);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
@@ -438,6 +443,7 @@
 	notify_notification_set_timeout (notification, 15000);
 	notify_notification_set_urgency (notification, NOTIFY_URGENCY_LOW);
 	notify_notification_add_action (notification, "show-error-details",
+					/* TRANSLATORS: This is a link in a libnotify bubble that shows the detailed error */
 					_("Show details"), gpk_watch_libnotify_cb, watch, NULL);
 
 	ret = notify_notification_show (notification, &error);
@@ -524,6 +530,7 @@
 	g_free (cmdline);
 
 	if (!ret) {
+		/* TRANSLATORS: We couldn't launch the tool, normally a packaging problem */
 		gpk_error_dialog (_("Internal error"), _("Failed to show url"), error->message);
 		g_error_free (error);
 	}
@@ -606,7 +613,7 @@
 	g_return_if_fail (GPK_IS_WATCH (watch));
 	egg_debug ("icon right clicked");
 
-	/* About */
+	/* TRANSLATORS: this is the right click menu item */
 	item = gtk_image_menu_item_new_with_mnemonic (_("_About"));
 	image = gtk_image_new_from_icon_name (GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU);
 	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -770,7 +777,7 @@
 		widget = gtk_separator_menu_item_new ();
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), widget);
 
-		/* don't know if we want this */
+		/* TRANSLATORS: This is a right click menu item, and will refresh all the package lists */
 		widget = gtk_image_menu_item_new_with_mnemonic (_("_Refresh Software List"));
 		image = gtk_image_new_from_icon_name ("view-refresh", GTK_ICON_SIZE_MENU);
 		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (widget), image);
@@ -821,7 +828,7 @@
 	widget = gtk_action_create_menu_item (GTK_ACTION (watch->priv->restart_action));
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), widget);
 
-	/* hide this option */
+	/* TRANSLATORS: This hides the 'restart required' icon */
 	widget = gtk_image_menu_item_new_with_mnemonic (_("_Hide this icon"));
 	image = gtk_image_new_from_icon_name ("dialog-information", GTK_ICON_SIZE_MENU);
 	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (widget), image);
@@ -1114,6 +1121,7 @@
 	polkit_action_set_action_id (pk_action, "org.freedesktop.consolekit.system.restart");
 
 	restart_action = polkit_gnome_action_new_default ("restart-system", pk_action,
+							  /* TRANSLATORS: This button restarts the computer after an update */
 							  _("_Restart computer"), NULL);
 	g_object_set (restart_action,
 		      "no-icon-name", "gnome-shutdown",



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]