1.1 --- a/imipweb/calendar.py Wed Nov 04 23:35:16 2015 +0100
1.2 +++ b/imipweb/calendar.py Thu Nov 05 00:58:02 2015 +0100
1.3 @@ -44,6 +44,8 @@
1.4 the event page for further activity.
1.5 """
1.6
1.7 + _ = self.get_translator()
1.8 +
1.9 # Handle a submitted form.
1.10
1.11 args = self.env.get_args()
1.12 @@ -128,7 +130,7 @@
1.13 user_attr = self.get_user_attributes()
1.14
1.15 rwrite(("UID", {}, uid))
1.16 - rwrite(("SUMMARY", {}, summary or ("New event at %s" % utcnow)))
1.17 + rwrite(("SUMMARY", {}, summary or (_("New event at %s") % utcnow)))
1.18 rwrite(("DTSTAMP", {}, utcnow))
1.19 rwrite(("DTSTART", start_attr, start_value))
1.20 rwrite(("DTEND", end_attr, end_value))
1.21 @@ -212,6 +214,8 @@
1.22
1.23 "Show requests for the current user."
1.24
1.25 + _ = self.get_translator()
1.26 +
1.27 page = self.page
1.28 view_period = self.get_view_period()
1.29 duration = view_period and view_period.get_duration() or timedelta(1)
1.30 @@ -246,7 +250,7 @@
1.31 page.ul.close()
1.32
1.33 else:
1.34 - page.p("There are no pending requests.")
1.35 + page.p(_("There are no pending requests."))
1.36
1.37 page.div.close()
1.38
1.39 @@ -254,6 +258,8 @@
1.40
1.41 "Show participants for scheduling purposes."
1.42
1.43 + _ = self.get_translator()
1.44 +
1.45 page = self.page
1.46
1.47 # Show any specified participants together with controls to remove and
1.48 @@ -261,17 +267,17 @@
1.49
1.50 page.div(id="participants")
1.51
1.52 - page.p("Participants for scheduling:")
1.53 + page.p(_("Participants for scheduling:"))
1.54
1.55 for i, participant in enumerate(participants):
1.56 page.p()
1.57 page.input(name="participants", type="text", value=participant)
1.58 - page.input(name="remove-participant-%d" % i, type="submit", value="Remove")
1.59 + page.input(name="remove-participant-%d" % i, type="submit", value=_("Remove"))
1.60 page.p.close()
1.61
1.62 page.p()
1.63 page.input(name="participants", type="text")
1.64 - page.input(name="add-participant", type="submit", value="Add")
1.65 + page.input(name="add-participant", type="submit", value=_("Add"))
1.66 page.p.close()
1.67
1.68 page.div.close()
1.69 @@ -286,6 +292,8 @@
1.70 tables.
1.71 """
1.72
1.73 + _ = self.get_translator()
1.74 +
1.75 page = self.page
1.76 args = self.env.get_args()
1.77
1.78 @@ -293,12 +301,12 @@
1.79 self.control("hidebusy", "checkbox", "hide", ("hide" in args.get("hidebusy", [])), id="hidebusy", accesskey="B")
1.80
1.81 page.p(id_="calendar-controls", class_="controls")
1.82 - page.span("Select days or periods for a new event.")
1.83 - page.label("Hide busy time periods", for_="hidebusy", class_="hidebusy enable")
1.84 - page.label("Show busy time periods", for_="hidebusy", class_="hidebusy disable")
1.85 - page.label("Show empty days", for_="showdays", class_="showdays disable")
1.86 - page.label("Hide empty days", for_="showdays", class_="showdays enable")
1.87 - page.input(name="reset", type="submit", value="Clear selections", id="reset")
1.88 + page.span(_("Select days or periods for a new event."))
1.89 + page.label(_("Hide busy time periods"), for_="hidebusy", class_="hidebusy enable")
1.90 + page.label(_("Show busy time periods"), for_="hidebusy", class_="hidebusy disable")
1.91 + page.label(_("Show empty days"), for_="showdays", class_="showdays disable")
1.92 + page.label(_("Hide empty days"), for_="showdays", class_="showdays enable")
1.93 + page.input(name="reset", type="submit", value=_("Clear selections"), id="reset")
1.94 page.p.close()
1.95
1.96 def show_time_navigation(self, freebusy, view_period):
1.97 @@ -308,6 +316,8 @@
1.98 'freebusy' and for the period defined by 'view_period'.
1.99 """
1.100
1.101 + _ = self.get_translator()
1.102 +
1.103 page = self.page
1.104 view_start = view_period.get_start()
1.105 view_end = view_period.get_end()
1.106 @@ -326,13 +336,13 @@
1.107
1.108 if last_preceding:
1.109 preceding_start = last_preceding - duration
1.110 - page.label("Show earlier events", for_="earlier-events", class_="earlier-events")
1.111 + page.label(_("Show earlier events"), for_="earlier-events", class_="earlier-events")
1.112 page.input(name="earlier-events", id_="earlier-events", type="submit")
1.113 page.input(name="earlier-events-start", type="hidden", value=format_datetime(preceding_start))
1.114 page.input(name="earlier-events-end", type="hidden", value=format_datetime(last_preceding))
1.115
1.116 earlier_start = view_start - duration
1.117 - page.label("Show earlier", for_="earlier", class_="earlier")
1.118 + page.label(_("Show earlier"), for_="earlier", class_="earlier")
1.119 page.input(name="earlier", id_="earlier", type="submit")
1.120 page.input(name="earlier-start", type="hidden", value=format_datetime(earlier_start))
1.121 page.input(name="earlier-end", type="hidden", value=format_datetime(view_start))
1.122 @@ -341,14 +351,14 @@
1.123 page.input(name="end", type="hidden", value=format_datetime(view_end))
1.124
1.125 later_end = view_end + duration
1.126 - page.label("Show later", for_="later", class_="later")
1.127 + page.label(_("Show later"), for_="later", class_="later")
1.128 page.input(name="later", id_="later", type="submit")
1.129 page.input(name="later-start", type="hidden", value=format_datetime(view_end))
1.130 page.input(name="later-end", type="hidden", value=format_datetime(later_end))
1.131
1.132 if first_following:
1.133 following_end = first_following + duration
1.134 - page.label("Show later events", for_="later-events", class_="later-events")
1.135 + page.label(_("Show later events"), for_="later-events", class_="later-events")
1.136 page.input(name="later-events", id_="later-events", type="submit")
1.137 page.input(name="later-events-start", type="hidden", value=format_datetime(first_following))
1.138 page.input(name="later-events-end", type="hidden", value=format_datetime(following_end))
1.139 @@ -414,6 +424,8 @@
1.140
1.141 "Show a description of the 'view_period'."
1.142
1.143 + _ = self.get_translator()
1.144 +
1.145 page = self.page
1.146
1.147 view_start = view_period.get_start()
1.148 @@ -425,11 +437,13 @@
1.149 page.p(class_="view-period")
1.150
1.151 if view_start and view_end:
1.152 - page.add("Showing events from %s until %s" % (self.format_date(view_start, "full"), self.format_date(view_end, "full")))
1.153 + page.add(_("Showing events from %(start)s until %(end)s") % {
1.154 + "start" : self.format_date(view_start, "full"),
1.155 + "end" : self.format_date(view_end, "full")})
1.156 elif view_start:
1.157 - page.add("Showing events from %s" % self.format_date(view_start, "full"))
1.158 + page.add(_("Showing events from %s") % self.format_date(view_start, "full"))
1.159 elif view_end:
1.160 - page.add("Showing events until %s" % self.format_date(view_end, "full"))
1.161 + page.add(_("Showing events until %s") % self.format_date(view_end, "full"))
1.162
1.163 page.p.close()
1.164
1.165 @@ -440,6 +454,8 @@
1.166 collections of the given 'participants'.
1.167 """
1.168
1.169 + _ = self.get_translator()
1.170 +
1.171 # Obtain the user's timezone.
1.172
1.173 tzid = self.get_tzid()
1.174 @@ -451,7 +467,7 @@
1.175
1.176 period_groups = [request_summary, freebusy]
1.177 period_group_types = ["request", "freebusy"]
1.178 - period_group_sources = ["Pending requests", "Your schedule"]
1.179 + period_group_sources = [_("Pending requests"), _("Your schedule")]
1.180
1.181 for i, participant in enumerate(participants):
1.182 period_groups.append(self.store.get_freebusy_for_other(self.user, get_uri(participant)))
1.183 @@ -568,7 +584,9 @@
1.184
1.185 "Show the calendar for the current user."
1.186
1.187 - self.new_page(title="Calendar")
1.188 + _ = self.get_translator()
1.189 +
1.190 + self.new_page(title=_("Calendar"))
1.191 page = self.page
1.192
1.193 if self.handle_newevent():
1.194 @@ -756,6 +774,8 @@
1.195 the 'group_columns' defining the number of columns in each group.
1.196 """
1.197
1.198 + _ = self.get_translator()
1.199 +
1.200 page = self.page
1.201
1.202 # Determine the number of columns required. Where participants provide
1.203 @@ -817,13 +837,13 @@
1.204 # Show a button for scheduling a new event.
1.205
1.206 page.p(class_="newevent-with-periods")
1.207 - page.label("Summary:")
1.208 + page.label(_("Summary:"))
1.209 page.input(name="summary-%d" % i, type="text")
1.210 - page.input(name="newevent-%d" % i, type="submit", value="New event", accesskey="N")
1.211 + page.input(name="newevent-%d" % i, type="submit", value=_("New event"), accesskey="N")
1.212 page.p.close()
1.213
1.214 page.p(class_="newevent-with-periods")
1.215 - page.label("Clear selections", for_="reset", class_="reset")
1.216 + page.label(_("Clear selections"), for_="reset", class_="reset")
1.217 page.p.close()
1.218
1.219 page.div.close()
1.220 @@ -838,6 +858,8 @@
1.221 columns given by 'group_columns'.
1.222 """
1.223
1.224 + _ = self.get_translator()
1.225 +
1.226 page = self.page
1.227
1.228 # Obtain the user's timezone.
1.229 @@ -968,7 +990,7 @@
1.230 if not p.summary or \
1.231 group_type != "request" and self._have_request(p.uid, p.recurrenceid, None, True):
1.232
1.233 - page.span(p.summary or "(Participant is busy)")
1.234 + page.span(p.summary or _("(Participant is busy)"))
1.235
1.236 # Link to requests and events (including ones for
1.237 # which counter-proposals exist).
1.238 @@ -1045,11 +1067,13 @@
1.239 given 'colspan' configuring the cell's appearance.
1.240 """
1.241
1.242 + _ = self.get_translator()
1.243 +
1.244 page = self.page
1.245 page.td(class_="empty%s%s" % (point.indicator == Point.PRINCIPAL and " container" or "", at_end and " padding" or ""), colspan=colspan)
1.246 if point.indicator == Point.PRINCIPAL:
1.247 value, identifier = self._slot_value_and_identifier(point, endpoint)
1.248 - page.label("Select/deselect period", class_="newevent popup", for_=identifier)
1.249 + page.label(_("Select/deselect period"), class_="newevent popup", for_=identifier)
1.250 page.td.close()
1.251
1.252 def _day_value_and_identifier(self, day):