--- /dev/null
+Index: pyuic/uic/driver.py
+===================================================================
+--- pyuic/uic/driver.py.orig
++++ pyuic/uic/driver.py
+@@ -2,7 +2,19 @@ import sys
+ import logging
+
+ from PyQt4.uic import compileUi, loadUi
++from PyQt4.uic.Compiler import qtproxies
+
++original_i18n_string = qtproxies.i18n_string
++class i18n_string(qtproxies.i18n_string):
++ def __init__(self, string, disambig=None):
++ original_i18n_string.__init__(self, string, disambig)
++ def __str__(self):
++ return "i18n(%s)" % (qtproxies.as_string(self.string, encode=False),)
++
++_gettext_header = """import gettext
++__trans = gettext.translation('%s', fallback=True)
++i18n = __trans.ugettext
++"""
+
+ class Driver(object):
+ """ This encapsulates access to the pyuic functionality so that it can be
+@@ -16,6 +28,8 @@ class Driver(object):
+ name of the .ui file.
+ """
+
++ self.gettext_header = ''
++
+ if opts.debug:
+ logger = logging.getLogger(self.LOGGER_NAME)
+ handler = logging.StreamHandler()
+@@ -23,6 +37,10 @@ class Driver(object):
+ logger.addHandler(handler)
+ logger.setLevel(logging.DEBUG)
+
++ if not opts.gettext_domain == '':
++ qtproxies.i18n_string = i18n_string
++ self.gettext_header = _gettext_header % opts.gettext_domain
++
+ self._opts = opts
+ self._ui_file = ui_file
+
+@@ -60,7 +78,7 @@ class Driver(object):
+ pyfile = open(self._opts.output, 'wt', encoding='utf8')
+
+ compileUi(self._ui_file, pyfile, self._opts.execute, self._opts.indent,
+- self._opts.pyqt3_wrapper, self._opts.from_imports)
++ self._opts.pyqt3_wrapper, self._opts.from_imports, self.gettext_header)
+
+ def on_IOError(self, e):
+ """ Handle an IOError exception. """
+Index: pyuic/uic/__init__.py
+===================================================================
+--- pyuic/uic/__init__.py.orig
++++ pyuic/uic/__init__.py
+@@ -98,7 +98,7 @@ def compileUiDir(dir, recurse=False, map
+ compile_ui(dir, ui)
+
+
+-def compileUi(uifile, pyfile, execute=False, indent=4, pyqt3_wrapper=False, from_imports=False):
++def compileUi(uifile, pyfile, execute=False, indent=4, pyqt3_wrapper=False, from_imports=False, additional_text=''):
+ """compileUi(uifile, pyfile, execute=False, indent=4, pyqt3_wrapper=False, from_imports=False)
+
+ Creates a Python module from a Qt Designer .ui file.
+@@ -127,6 +127,9 @@ def compileUi(uifile, pyfile, execute=Fa
+
+ pyfile.write(_header % (uifname, ctime(), PYQT_VERSION_STR))
+
++ if not additional_text == '':
++ pyfile.write(additional_text)
++
+ winfo = compiler.UICompiler().compileUi(uifile, pyfile, from_imports)
+
+ if pyqt3_wrapper:
+Index: pyuic/uic/pyuic.py
+===================================================================
+--- pyuic/uic/pyuic.py.orig
++++ pyuic/uic/pyuic.py
+@@ -26,6 +26,8 @@ parser.add_option("-x", "--execute", des
+ help="generate extra code to test and display the class")
+ parser.add_option("-d", "--debug", dest="debug", action="store_true",
+ default=False, help="show debug output")
++parser.add_option("-g", "--use-gettext", dest="gettext_domain", action="store", type="str",
++ default='', help="use gettext for following domain")
+ parser.add_option("-i", "--indent", dest="indent", action="store", type="int",
+ default=4, metavar="N",
+ help="set indent width to N spaces, tab if N is 0 (default: 4)")