1.1 --- a/imipweb/profile.py Thu Nov 05 20:00:51 2015 +0100
1.2 +++ b/imipweb/profile.py Fri Nov 06 00:00:55 2015 +0100
1.3 @@ -21,6 +21,10 @@
1.4
1.5 from imipweb.resource import FormUtilities, ResourceClient
1.6
1.7 +# Fake gettext method for strings to be translated later.
1.8 +
1.9 +_ = lambda s: s
1.10 +
1.11 class ProfilePage(ResourceClient, FormUtilities):
1.12
1.13 "A request handler for the user profile page."
1.14 @@ -31,18 +35,18 @@
1.15 # See: docs/tools/profile_prefs.sh
1.16
1.17 pref_labels = [
1.18 - ("participating" , "Participate in the calendar system"),
1.19 - ("CN" , "Your common name"),
1.20 - ("LANG" , "Language"),
1.21 - ("TZID" , "Time zone/regime"),
1.22 - ("incoming" , "How to present incoming calendar messages"),
1.23 - ("freebusy_sharing" , "Share free/busy information"),
1.24 - ("freebusy_bundling" , "Bundle free/busy details with messages"),
1.25 - ("freebusy_publishing" , "Publish free/busy details via the Web"),
1.26 - ("freebusy_messages" , "Deliver details of received free/busy messages"),
1.27 - ("add_method_response" , "How to respond to messages adding events"),
1.28 - ("event_refreshing" , "How to handle event refresh requests"),
1.29 - ("organiser_replacement" , "Recognise whom as a new organiser of an event?"),
1.30 + ("participating" , _("Participate in the calendar system")),
1.31 + ("CN" , _("Your common name")),
1.32 + ("LANG" , _("Language")),
1.33 + ("TZID" , _("Time zone/regime")),
1.34 + ("incoming" , _("How to present incoming calendar messages")),
1.35 + ("freebusy_sharing" , _("Share free/busy information")),
1.36 + ("freebusy_bundling" , _("Bundle free/busy details with messages")),
1.37 + ("freebusy_publishing" , _("Publish free/busy details via the Web")),
1.38 + ("freebusy_messages" , _("Deliver details of received free/busy messages")),
1.39 + ("add_method_response" , _("How to respond to messages adding events")),
1.40 + ("event_refreshing" , _("How to handle event refresh requests")),
1.41 + ("organiser_replacement" , _("Recognise whom as a new organiser of an event?")),
1.42 ]
1.43
1.44 def handle_request(self):
1.45 @@ -143,7 +147,7 @@
1.46
1.47 page.tr()
1.48 page.th(class_="profileheading %s%s" % (name, errors and name in errors and " error" or ""))
1.49 - page.label(label, for_=name)
1.50 + page.label(_(label), for_=name)
1.51 page.th.close()
1.52 page.td()
1.53
1.54 @@ -156,7 +160,7 @@
1.55 # menu control.
1.56
1.57 else:
1.58 - choices = [(key, _(label)) for (key, label) in choices.items()]
1.59 + choices = [(key, _(value_label)) for (key, value_label) in choices.items()]
1.60 choices.sort()
1.61 self.menu(name, default, choices, value is not None and [value] or None, class_="preference")
1.62
1.63 @@ -170,11 +174,13 @@
1.64
1.65 "Show controls for performing actions."
1.66
1.67 + _ = self.get_translator()
1.68 +
1.69 page = self.page
1.70
1.71 page.p(class_="controls")
1.72 - page.input(name="save", type="submit", value="Save")
1.73 - page.input(name="cancel", type="submit", value="Cancel")
1.74 + page.input(name="save", type="submit", value=_("Save"))
1.75 + page.input(name="cancel", type="submit", value=_("Cancel"))
1.76 page.p.close()
1.77
1.78 # Full page output methods.
1.79 @@ -189,7 +195,9 @@
1.80 if not errors:
1.81 return True
1.82
1.83 - self.new_page(title="Profile")
1.84 + _ = self.get_translator()
1.85 +
1.86 + self.new_page(title=_("Profile"))
1.87 page.form(method="POST")
1.88 self.show_preferences(errors)
1.89 self.show_controls()