Bug#494486: Please add support for gettext

2008-08-10 Thread Chris Lamb
Chris Lamb wrote:

 Please add support for gettext. A patch is attached,

I forgot to catch any exceptions when setting the locale:

 - locale.setlocale(locale.LC_ALL, '')
 + try:
 + locale.setlocale(locale.LC_ALL, '')
 + except locale.Error:
 + pass

This change stops the program crashing when we run LANG=de_DE.UTF-8 python
debgtd.py and de_DE.UTF-8 is not configured (etc). We don't have to do
any fallback handling; it is performed by GTK.


Regards,

-- 
Chris Lamb, UK   [EMAIL PROTECTED]
GPG: 0x634F9A20


signature.asc
Description: PGP signature


Bug#494486: Please add support for gettext

2008-08-09 Thread Chris Lamb
Package: debgtd
Version: 1.2.1-1
Severity: wishlist
Tags: patch

Hi,

Please add support for gettext. A patch is attached, although I think some
of DebGTD's strings could do with some attention before anyone attempts a
serious translation.


Regards,

-- 
Chris Lamb, UK   [EMAIL PROTECTED]
GPG: 0x634F9A20
diff -urNad debgtd-1.2.1.orig/debgtd/gui.py debgtd-1.2.1/debgtd/gui.py
--- debgtd-1.2.1.orig/debgtd/gui.py 2008-08-09 22:28:39.0 +0100
+++ debgtd-1.2.1/debgtd/gui.py  2008-08-09 22:33:20.0 +0100
@@ -19,6 +19,10 @@
 import gtk.glade
 import os
 
+import locale
+import gettext
+import __builtin__
+
 import debgtd
 from debgtd.controller import Controller
 
@@ -33,10 +37,20 @@
 
if os.path.isfile(debgtd.glade):
self.gladefile = debgtd.glade
+   locale_dir = ['mo']
elif os.path.isfile(/usr/local/share/debgtd/debgtd.glade):
self.gladefile = /usr/local/share/debgtd/debgtd.glade
+   locale_dir = ['/usr/local/share/debgtd']
else:
self.gladefile = /usr/share/debgtd/debgtd.glade
+   locale_dir = []
+
+   locale.setlocale(locale.LC_ALL, '')
+   for module in gettext, gtk.glade:
+   module.bindtextdomain('debgtd', *locale_dir)
+   module.textdomain('debgtd')
+
+   __builtin__._ = gettext.gettext
 
self.wTree = gtk.glade.XML(self.gladefile,window1)
 
@@ -73,8 +87,8 @@
ignored = len(model.get_ignored_bugs())
interested = total - sleeping - ignored
 
-   label.set_text(%d bugs (%d sleeping; %d ignored) % \
-   (interested,sleeping,ignored))
+   label.set_text(_(%(interested)d bugs (%(sleeping)d sleeping; 
%(ignored)d ignored)) % \
+   ({'interested': interested, 'sleeping': sleeping, 
'ignored': ignored}))
 
def populate_treeview(self):
model = self.controller.model
@@ -82,20 +96,20 @@
treestore = gtk.TreeStore(int,str,str,str)
tree.set_model(treestore)
 
-   column = gtk.TreeViewColumn('id')
+   column = gtk.TreeViewColumn(_('id'))
tree.append_column(column)
cell = gtk.CellRendererText()
column.pack_start(cell, False)
column.add_attribute(cell, text, 0)
 
-   column = gtk.TreeViewColumn('package')
+   column = gtk.TreeViewColumn(_('package'))
tree.append_column(column)
cell = gtk.CellRendererText()
column.pack_start(cell, False)
column.add_attribute(cell, text, 1)
column.set_sort_column_id(1)
 
-   column = gtk.TreeViewColumn('severity')
+   column = gtk.TreeViewColumn(_('severity'))
tree.append_column(column)
cell = gtk.CellRendererText()
column.pack_start(cell,False)
@@ -103,7 +117,7 @@
column.set_sort_column_id(2)
treestore.set_sort_func(2, self.severity_sort_cb)
 
-   column = gtk.TreeViewColumn('subject')
+   column = gtk.TreeViewColumn(_('subject'))
tree.append_column(column)
cell = gtk.CellRendererText()
column.pack_start(cell,False)
@@ -142,7 +156,7 @@
 
def bug_added(self, bug):
treestore = self.tree.get_model()
-   self.wTree.get_widget(refresh_data_button).set_label(Update)
+   
self.wTree.get_widget(refresh_data_button).set_label(_(Update))
if not bug.sleeping() and not bug.ignoring() and not 
bug.is_done():
treestore.append(None, [bug['id'],
bug['package'],
@@ -162,7 +176,7 @@
 
def clear(self):
treestore = self.tree.get_model()
-   self.wTree.get_widget(refresh_data_button).set_label(Fetch)
+   
self.wTree.get_widget(refresh_data_button).set_label(_(Fetch))
treestore.clear()
# XXX: should clear the user too?
 
diff -urNad debgtd-1.2.1.orig/debgtd.glade debgtd-1.2.1/debgtd.glade
--- debgtd-1.2.1.orig/debgtd.glade  2008-08-09 22:28:39.0 +0100
+++ debgtd-1.2.1/debgtd.glade   2008-08-09 22:33:20.0 +0100
@@ -20,7 +20,7 @@
 child
   widget class=GtkImageMenuItem id=quit_menu_item
 property name=visibleTrue/property
-property name=label 
translatable=yesgtk-quit/property
+property name=labelgtk-quit/property
 property name=use_underlineTrue/property