summaryrefslogtreecommitdiff
path: root/Mailman/Cgi
diff options
context:
space:
mode:
authorbwarsaw2001-05-16 21:58:01 +0000
committerbwarsaw2001-05-16 21:58:01 +0000
commitc5a3c26dec4a71dc6d2de0843bd96db4abef1d69 (patch)
tree5d4c5d79c07b49f1ce9c68b54331e9b4469f978c /Mailman/Cgi
parent3678cfa7fa6d263c8adc48317aa2af5324aa99d3 (diff)
downloadmailman-c5a3c26dec4a71dc6d2de0843bd96db4abef1d69.tar.gz
mailman-c5a3c26dec4a71dc6d2de0843bd96db4abef1d69.tar.zst
mailman-c5a3c26dec4a71dc6d2de0843bd96db4abef1d69.zip
Application of SF patch #420396, submitted by Tokio Kikuchi. This
script was not setting up the i18n environment in the `blessed' way.
Diffstat (limited to 'Mailman/Cgi')
-rw-r--r--Mailman/Cgi/edithtml.py15
-rw-r--r--Mailman/Cgi/handle_opts.py17
2 files changed, 25 insertions, 7 deletions
diff --git a/Mailman/Cgi/edithtml.py b/Mailman/Cgi/edithtml.py
index ca9b738a6..712b9e404 100644
--- a/Mailman/Cgi/edithtml.py
+++ b/Mailman/Cgi/edithtml.py
@@ -27,7 +27,7 @@ from Mailman.HTMLFormatter import HTMLFormatter
from Mailman import Errors
from Mailman.Cgi import Auth
from Mailman.Logging.Syslog import syslog
-from Mailman.i18n import _
+from Mailman import i18n
@@ -44,10 +44,13 @@ def main():
('handle_opts.html', _('Changing user options results page')),
)
- import Mailman.i18n
- _ = Mailman.i18n._
-
doc = Document()
+
+ # Set up the system default language
+ _ = i18n._
+ i18n.set_language(mm_cfg.DEFAULT_SERVER_LANGUAGE)
+ doc.set_language(mm_cfg.DEFAULT_SERVER_LANGUAGE)
+
parts = Utils.GetPathPieces()
if not parts:
doc.AddItem(Header(2, _("List name is required.")))
@@ -63,7 +66,9 @@ def main():
syslog('error', _('No such list "%(listname)s": %(e)s\n'))
return
- os.environ['LANG'] = mlist.preferred_language
+ # Now that we have a valid list, set the language to its default
+ i18n.set_language(mlist.preferred_language)
+ doc.set_language(mlist.preferred_language)
# Must be authenticated to get any farther
cgidata = cgi.FieldStorage()
diff --git a/Mailman/Cgi/handle_opts.py b/Mailman/Cgi/handle_opts.py
index 0592f961d..1ec5bbd4e 100644
--- a/Mailman/Cgi/handle_opts.py
+++ b/Mailman/Cgi/handle_opts.py
@@ -27,7 +27,11 @@ from Mailman import MailList
from Mailman import Errors
from Mailman.htmlformat import *
from Mailman.Logging.Syslog import syslog
-from Mailman.i18n import _
+from Mailman import i18n
+
+# Set up i18n
+_ = i18n._
+i18n.set_language(mm_cfg.DEFAULT_SERVER_LANGUAGE)
@@ -53,6 +57,8 @@ def PrintResults(mlist, operation, doc, results, user=None, lang=None):
def main():
doc = Document()
+ doc.set_language(mm_cfg.DEFAULT_SERVER_LANGUAGE)
+
parts = Utils.GetPathPieces()
if not parts or len(parts) < 2:
doc.AddItem(Header(2, _("Error")))
@@ -72,6 +78,10 @@ def main():
syslog('error', 'No such list "%s": %s\n' % (listname, e))
return
+ # Now that we have a valid list, set the language to its default
+ i18n.set_language(mlist.preferred_language)
+ doc.set_language(mlist.preferred_language)
+
# We need a signal handler to catch the SIGTERM that can come from Apache
# when the user hits the browser's STOP button. See the comment in
# admin.py for details.
@@ -106,7 +116,10 @@ def process_form(mlist, user, doc):
operation = ""
user = Utils.LCDomain(user)
- os.environ['LANG'] = pluser = mlist.GetPreferredLanguage(user)
+ # Set the user's preferred language
+ pluser = mlist.GetPreferredLanguage(user)
+ i18n.set_language(pluser)
+ doc.set_language(pluser)
if not Utils.FindMatchingAddresses(user, mlist.members,
mlist.digest_members):