aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Gui/GUIBase.py
diff options
context:
space:
mode:
authorYasuhito FUTATSUKI at POEM <futatuki@poem.co.jp>2018-06-22 01:23:09 +0900
committerYasuhito FUTATSUKI at POEM <futatuki@poem.co.jp>2018-06-22 01:23:09 +0900
commit6a3bbdd20a8fac82f161f353c40604387f52cb09 (patch)
tree4d752b4a3f0f4bd3100108bc9cf584438772d778 /Mailman/Gui/GUIBase.py
parent388b4a41ece74d11298e640429bef5f903221d09 (diff)
downloadmailman2-6a3bbdd20a8fac82f161f353c40604387f52cb09.tar.gz
mailman2-6a3bbdd20a8fac82f161f353c40604387f52cb09.tar.xz
mailman2-6a3bbdd20a8fac82f161f353c40604387f52cb09.zip
enhance i18n of listinfo overview
* make sure list's description charset as its preferred_language's * get description as a string of charset caller wanted
Diffstat (limited to '')
-rw-r--r--Mailman/Gui/GUIBase.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Mailman/Gui/GUIBase.py b/Mailman/Gui/GUIBase.py
index 95d7d177..67e79036 100644
--- a/Mailman/Gui/GUIBase.py
+++ b/Mailman/Gui/GUIBase.py
@@ -138,6 +138,14 @@ class GUIBase:
def _setValue(self, mlist, property, val, doc):
# Set the value, or override to take special action on the property
if not property.startswith('_') and getattr(mlist, property) <> val:
+ if property == 'preferred_language':
+ ocs = Utils.GetCharSet(getattr(mlist, property)) or 'us-ascii'
+ ncs = Utils.GetCharSet(val) or 'us-ascii'
+ odesc = getattr(mlist, 'description')
+ if ocs != ncs and not isinstance(odesc, unicode):
+ setattr(mlist, 'description',
+ Utils.xml_to_unicode(odesc, ocs).encode(
+ ncs, 'xmlcharrefreplace'))
setattr(mlist, property, val)
def _postValidate(self, mlist, doc):