--- GConf-2.25.0/gconf/GConfX.idl	2009-01-09 23:55:07.000000000 -0500
+++ hacked/gconf/GConfX.idl	2009-02-15 01:03:55.000000000 -0500
@@ -16,6 +16,7 @@
   string short_desc;
   string long_desc;
   string owner;
+  string gettext_domain;
   // Work around lack of recursive data types
   string encoded_default_value;
 };
--- GConf-2.25.0/gconf/gconf-internals.c	2009-01-09 23:55:07.000000000 -0500
+++ hacked/gconf/gconf-internals.c	2009-02-15 01:06:14.000000000 -0500
@@ -513,6 +513,7 @@
   cs->short_desc = CORBA_string_dup (gconf_schema_get_short_desc (sc) ? gconf_schema_get_short_desc (sc) : "");
   cs->long_desc = CORBA_string_dup (gconf_schema_get_long_desc (sc) ? gconf_schema_get_long_desc (sc) : "");
   cs->owner = CORBA_string_dup (gconf_schema_get_owner (sc) ? gconf_schema_get_owner (sc) : "");
+  cs->gettext_domain = CORBA_string_dup (gconf_schema_get_gettext_domain (sc) ? gconf_schema_get_gettext_domain (sc) : "");
 
   {
     gchar* encoded;
@@ -600,6 +601,14 @@
         gconf_schema_set_owner(sc, cs->owner);
     }
       
+  if (*cs->gettext_domain != '\0')
+    {
+      if (!g_utf8_validate (cs->gettext_domain, -1, NULL))
+        gconf_log (GCL_ERR, _("Invalid UTF-8 in gettext domain for schema"));
+      else
+        gconf_schema_set_gettext_domain(sc, cs->gettext_domain);
+    }
+      
   {
     GConfValue* val;
 
