Index: mythtv/libs/libmythui/mythuitype.cpp
===================================================================
--- mythtv/libs/libmythui/mythuitype.cpp	(revision 21604)
+++ mythtv/libs/libmythui/mythuitype.cpp	(working copy)
@@ -713,6 +713,10 @@
     {
         SetDeferLoad(parseBool(element));
     }
+    else if (element.tagName() == "helptext")
+    {
+        SetHelpText(parseText(element));
+    }
     else
         return false;
 
Index: mythtv/libs/libmythui/mythuitext.cpp
===================================================================
--- mythtv/libs/libmythui/mythuitext.cpp	(revision 21604)
+++ mythtv/libs/libmythui/mythuitext.cpp	(working copy)
@@ -438,21 +438,7 @@
     }
     else if (element.tagName() == "value")
     {
-        if (element.attribute("lang","").isEmpty())
-        {
-            m_Message = qApp->translate("ThemeUI",
-                                        qPrintable(getFirstText(element)));
-        }
-        else if (element.attribute("lang","").toLower() ==
-                 GetMythUI()->GetLanguageAndVariant())
-        {
-            m_Message = getFirstText(element);
-        }
-        else if (element.attribute("lang","").toLower() ==
-                 GetMythUI()->GetLanguage())
-        {
-            m_Message = getFirstText(element);
-        }
+        m_Message = parseText(element);
 
         SetText(m_Message);
         m_DefaultMessage = m_Message;
Index: mythtv/libs/libmythui/xmlparsebase.cpp
===================================================================
--- mythtv/libs/libmythui/xmlparsebase.cpp	(revision 21604)
+++ mythtv/libs/libmythui/xmlparsebase.cpp	(working copy)
@@ -1,6 +1,7 @@
 #include <typeinfo>
 
 #include <QFile>
+#include <QApplication>
 #include <QDomDocument>
 
 #include "xmlparsebase.h"
@@ -114,6 +115,27 @@
     return parseRect(getFirstText(element), normalize);
 }
 
+QString XMLParseBase::parseText(QDomElement &element)
+{
+    if (element.attribute("lang","").isEmpty())
+    {
+        return qApp->translate("ThemeUI", 
+                               qPrintable(getFirstText(element)));
+    }
+    else if (element.attribute("lang","").toLower() == 
+             GetMythUI()->GetLanguageAndVariant())
+    {
+        return getFirstText(element);
+    }
+    else if (element.attribute("lang","").toLower() ==
+             GetMythUI()->GetLanguage())
+    {
+        return getFirstText(element);
+    }
+    
+    return qApp->translate("ThemeUI", qPrintable(getFirstText(element)));
+}
+
 int XMLParseBase::parseAlignment(const QString &text)
 {
     int alignment = 0;
Index: mythtv/libs/libmythui/xmlparsebase.h
===================================================================
--- mythtv/libs/libmythui/xmlparsebase.h	(revision 21604)
+++ mythtv/libs/libmythui/xmlparsebase.h	(working copy)
@@ -21,6 +21,7 @@
     static QSize parseSize(QDomElement &element, bool normalize = true);
     static MythRect parseRect(const QString &text, bool normalize = true);
     static MythRect parseRect(QDomElement &element, bool normalize = true);
+    static QString parseText(QDomElement &element);
     static int parseAlignment(const QString &text);
     static int parseAlignment(QDomElement &element);
 
