update ganttcalendar.
@@ -62,7 +62,7 @@ | ||
62 | 62 | req.redirect(req.href.admin(cat, page)) |
63 | 63 | |
64 | 64 | elif req.args.get('create_table'): |
65 | - (loc,enc) = locale.getlocale() | |
65 | + (loc,enc) = locale.getdefaultlocale() | |
66 | 66 | |
67 | 67 | self.log.info("loc:"+loc) |
68 | 68 | if (loc.find("ko_")==0) or (loc.find("Korean_")==0): |
@@ -123,7 +123,7 @@ | ||
123 | 123 | |
124 | 124 | #: ganttcalendar/templates/calendar.html:113 |
125 | 125 | #: ganttcalendar/templates/gantt.html:194 |
126 | -msgid "Config" | |
126 | +msgid "Options" | |
127 | 127 | msgstr "" |
128 | 128 | |
129 | 129 | #: ganttcalendar/templates/calendar.html:119 |
@@ -135,12 +135,12 @@ | ||
135 | 135 | |
136 | 136 | #: ganttcalendar/templates/calendar.html:124 |
137 | 137 | #: ganttcalendar/templates/gantt.html:231 |
138 | -msgid "Show only your ticket" | |
138 | +msgid "Show only my tickets" | |
139 | 139 | msgstr "" |
140 | 140 | |
141 | 141 | #: ganttcalendar/templates/calendar.html:126 |
142 | 142 | #: ganttcalendar/templates/gantt.html:232 |
143 | -msgid "Include closed ticket" | |
143 | +msgid "Include closed tickets" | |
144 | 144 | msgstr "" |
145 | 145 | |
146 | 146 | #: ganttcalendar/templates/calendar.html:129 |
@@ -282,7 +282,7 @@ | ||
282 | 282 | msgstr "" |
283 | 283 | |
284 | 284 | #: ganttcalendar/templates/gantt.html:234 |
285 | -msgid "Show ticket title" | |
285 | +msgid "Show ticket summary" | |
286 | 286 | msgstr "" |
287 | 287 | |
288 | 288 | #: ganttcalendar/templates/gantt.html:235 |
@@ -352,3 +352,39 @@ | ||
352 | 352 | |
353 | 353 | msgid "'%s' is invalid value. It must be integer in the range from 0 to 100." |
354 | 354 | msgstr "" |
355 | + | |
356 | +msgid "January" | |
357 | +msgstr "" | |
358 | + | |
359 | +msgid "February" | |
360 | +msgstr "" | |
361 | + | |
362 | +msgid "March" | |
363 | +msgstr "" | |
364 | + | |
365 | +msgid "April" | |
366 | +msgstr "" | |
367 | + | |
368 | +msgid "May" | |
369 | +msgstr "" | |
370 | + | |
371 | +msgid "June" | |
372 | +msgstr "" | |
373 | + | |
374 | +msgid "July" | |
375 | +msgstr "" | |
376 | + | |
377 | +msgid "August" | |
378 | +msgstr "" | |
379 | + | |
380 | +msgid "September" | |
381 | +msgstr "" | |
382 | + | |
383 | +msgid "October" | |
384 | +msgstr "" | |
385 | + | |
386 | +msgid "November" | |
387 | +msgstr "" | |
388 | + | |
389 | +msgid "December" | |
390 | +msgstr "" |
@@ -109,39 +109,7 @@ | ||
109 | 109 | msgid "Create table and insert some holidays." |
110 | 110 | msgstr "" |
111 | 111 | |
112 | -#: ganttcalendar/templates/calendar.html:113 | |
113 | -msgid "설정" | |
114 | -msgstr "" | |
115 | - | |
116 | -#: ganttcalendar/templates/calendar.html:118 | |
117 | -msgid "마일스톤" | |
118 | -msgstr "" | |
119 | - | |
120 | -#: ganttcalendar/templates/calendar.html:123 | |
121 | -msgid "자신의 티켓만 조회" | |
122 | -msgstr "" | |
123 | - | |
124 | -#: ganttcalendar/templates/calendar.html:124 | |
125 | -msgid "close한 티켓 포함" | |
126 | -msgstr "close한 티켓 포함" | |
127 | - | |
128 | -#: ganttcalendar/templates/calendar.html:142 | |
129 | -msgid "년" | |
130 | -msgstr "" | |
131 | - | |
132 | -#: ganttcalendar/templates/calendar.html:147 | |
133 | -msgid "월" | |
134 | -msgstr "" | |
135 | - | |
136 | 112 | #: ganttcalendar/templates/calendar.html:159 |
137 | -msgid "소요시간 합계:" | |
138 | -msgstr "" | |
139 | - | |
140 | -#: ganttcalendar/templates/calendar.html:159 | |
141 | -msgid "h / 추정시간 합계:" | |
142 | -msgstr "" | |
143 | - | |
144 | -#: ganttcalendar/templates/calendar.html:159 | |
145 | 113 | #: ganttcalendar/templates/calendar.html:193 |
146 | 114 | #: ganttcalendar/templates/gantt.html:337 |
147 | 115 | #: ganttcalendar/templates/gantt.html:341 |
@@ -224,7 +192,7 @@ | ||
224 | 192 | msgstr "" |
225 | 193 | |
226 | 194 | #: ganttcalendar/templates/gantt.html:194 |
227 | -msgid "Config" | |
195 | +msgid "Options" | |
228 | 196 | msgstr "설정" |
229 | 197 | |
230 | 198 | #: ganttcalendar/templates/gantt.html:198 |
@@ -256,15 +224,15 @@ | ||
256 | 224 | msgstr "" |
257 | 225 | |
258 | 226 | #: ganttcalendar/templates/gantt.html:231 |
259 | -msgid "Show only your ticket" | |
227 | +msgid "Show only my tickets" | |
260 | 228 | msgstr "자신의 티켓만 조회" |
261 | 229 | |
262 | 230 | #: ganttcalendar/templates/gantt.html:232 |
263 | -msgid "Include closed ticket" | |
231 | +msgid "Include closed tickets" | |
264 | 232 | msgstr "close한 티켓 포함" |
265 | 233 | |
266 | 234 | #: ganttcalendar/templates/gantt.html:234 |
267 | -msgid "Show ticket title" | |
235 | +msgid "Show ticket summary" | |
268 | 236 | msgstr "티켓 제목 표시" |
269 | 237 | |
270 | 238 | #: ganttcalendar/templates/gantt.html:235 |
@@ -271,12 +239,6 @@ | ||
271 | 239 | msgid "Show ticket status" |
272 | 240 | msgstr "티켓 상태 표시" |
273 | 241 | |
274 | -#: ganttcalendar/templates/gantt.html:247 | |
275 | -#: ganttcalendar/templates/gantt.html:260 | |
276 | -#: ganttcalendar/templates/gantt.html:276 | |
277 | -msgid "Month" | |
278 | -msgstr "월" | |
279 | - | |
280 | 242 | #: ganttcalendar/templates/gantt.html:255 |
281 | 243 | msgid "Year" |
282 | 244 | msgstr "년" |
@@ -295,12 +257,12 @@ | ||
295 | 257 | |
296 | 258 | #: ganttcalendar/templates/gantt.html:282 |
297 | 259 | msgid "Total Hours" |
298 | -msgstr "소요시간 합계" | |
260 | +msgstr "소요시간" | |
299 | 261 | |
300 | 262 | #: ganttcalendar/templates/gantt.html:282 |
301 | 263 | #: ganttcalendar/templates/gantt.html:403 |
302 | 264 | msgid "Estimated Hours" |
303 | -msgstr "추정시간 합계" | |
265 | +msgstr "추정시간" | |
304 | 266 | |
305 | 267 | #: ganttcalendar/templates/gantt.html:378 |
306 | 268 | #: ganttcalendar/templates/gantt.html:400 |
@@ -375,10 +337,10 @@ | ||
375 | 337 | msgstr "'%s' 은 잘못된 날짜 형식입니다. %s 형식으로 입력해 주십시오." |
376 | 338 | |
377 | 339 | msgid "Start date" |
378 | -msgstr "완료기한" | |
340 | +msgstr "시작일" | |
379 | 341 | |
380 | 342 | msgid "End date" |
381 | -msgstr "시작일" | |
343 | +msgstr "완료기한" | |
382 | 344 | |
383 | 345 | msgid "%s '%s' must be after %s '%s'." |
384 | 346 | msgstr "%s '%s' 은 %s '%s' 보다 이전일 수 없습니다." |
@@ -388,3 +350,39 @@ | ||
388 | 350 | |
389 | 351 | msgid "Progress" |
390 | 352 | msgstr "진척율" |
353 | + | |
354 | +msgid "January" | |
355 | +msgstr "1월" | |
356 | + | |
357 | +msgid "February" | |
358 | +msgstr "2월" | |
359 | + | |
360 | +msgid "March" | |
361 | +msgstr "3월" | |
362 | + | |
363 | +msgid "April" | |
364 | +msgstr "4월" | |
365 | + | |
366 | +msgid "May" | |
367 | +msgstr "5월" | |
368 | + | |
369 | +msgid "June" | |
370 | +msgstr "6월" | |
371 | + | |
372 | +msgid "July" | |
373 | +msgstr "7월" | |
374 | + | |
375 | +msgid "August" | |
376 | +msgstr "8월" | |
377 | + | |
378 | +msgid "September" | |
379 | +msgstr "9월" | |
380 | + | |
381 | +msgid "October" | |
382 | +msgstr "10월" | |
383 | + | |
384 | +msgid "November" | |
385 | +msgstr "11월" | |
386 | + | |
387 | +msgid "December" | |
388 | +msgstr "12월" |
@@ -196,7 +196,7 @@ | ||
196 | 196 | msgstr "" |
197 | 197 | |
198 | 198 | #: ganttcalendar/templates/gantt.html:194 |
199 | -msgid "Config" | |
199 | +msgid "Options" | |
200 | 200 | msgstr "設定" |
201 | 201 | |
202 | 202 | #: ganttcalendar/templates/gantt.html:198 |
@@ -228,15 +228,15 @@ | ||
228 | 228 | msgstr "" |
229 | 229 | |
230 | 230 | #: ganttcalendar/templates/gantt.html:231 |
231 | -msgid "Show only your ticket" | |
232 | -msgstr "あなたのチケットのみ表示" | |
231 | +msgid "Show only my tickets" | |
232 | +msgstr "自分のチケットのみ表示" | |
233 | 233 | |
234 | 234 | #: ganttcalendar/templates/gantt.html:232 |
235 | -msgid "Include closed ticket" | |
235 | +msgid "Include closed tickets" | |
236 | 236 | msgstr "クローズしたチケットを含める" |
237 | 237 | |
238 | 238 | #: ganttcalendar/templates/gantt.html:234 |
239 | -msgid "Show ticket title" | |
239 | +msgid "Show ticket summary" | |
240 | 240 | msgstr "チケットの概要を表示" |
241 | 241 | |
242 | 242 | #: ganttcalendar/templates/gantt.html:235 |
@@ -243,12 +243,6 @@ | ||
243 | 243 | msgid "Show ticket status" |
244 | 244 | msgstr "チケットのステータスを表示" |
245 | 245 | |
246 | -#: ganttcalendar/templates/gantt.html:247 | |
247 | -#: ganttcalendar/templates/gantt.html:260 | |
248 | -#: ganttcalendar/templates/gantt.html:276 | |
249 | -msgid "Month" | |
250 | -msgstr "月" | |
251 | - | |
252 | 246 | #: ganttcalendar/templates/gantt.html:255 |
253 | 247 | msgid "Year" |
254 | 248 | msgstr "年" |
@@ -360,3 +354,39 @@ | ||
360 | 354 | |
361 | 355 | msgid "Progress" |
362 | 356 | msgstr "進捗率" |
357 | + | |
358 | +msgid "January" | |
359 | +msgstr "1月" | |
360 | + | |
361 | +msgid "February" | |
362 | +msgstr "2月" | |
363 | + | |
364 | +msgid "March" | |
365 | +msgstr "3月" | |
366 | + | |
367 | +msgid "April" | |
368 | +msgstr "4月" | |
369 | + | |
370 | +msgid "May" | |
371 | +msgstr "5月" | |
372 | + | |
373 | +msgid "June" | |
374 | +msgstr "6月" | |
375 | + | |
376 | +msgid "July" | |
377 | +msgstr "7月" | |
378 | + | |
379 | +msgid "August" | |
380 | +msgstr "8月" | |
381 | + | |
382 | +msgid "September" | |
383 | +msgstr "9月" | |
384 | + | |
385 | +msgid "October" | |
386 | +msgstr "10月" | |
387 | + | |
388 | +msgid "November" | |
389 | +msgstr "11月" | |
390 | + | |
391 | +msgid "December" | |
392 | +msgstr "12月" |
@@ -18,6 +18,20 @@ | ||
18 | 18 | _, tag_, N_, add_domain = domain_functions('ganttcalendar', |
19 | 19 | '_', 'tag_', 'N_', 'add_domain') |
20 | 20 | |
21 | +month_tbl = { | |
22 | + 1: 'January', | |
23 | + 2: 'February', | |
24 | + 3: 'March', | |
25 | + 4: 'April', | |
26 | + 5: 'May', | |
27 | + 6: 'June', | |
28 | + 7: 'July', | |
29 | + 8: 'August', | |
30 | + 9: 'September', | |
31 | + 10: 'October', | |
32 | + 11: 'November', | |
33 | + 12: 'December' | |
34 | +} | |
21 | 35 | |
22 | 36 | class TicketCalendarPlugin(Component): |
23 | 37 | implements(INavigationContributor, IRequestHandler, ITemplateProvider) |
@@ -70,7 +84,7 @@ | ||
70 | 84 | first_wkday = weekdays[first_day % 7] |
71 | 85 | # first_wkday= 0: monday 1: tuesday 2: wednesday 3: thursday 4: friday 5: saturday 6: sunday (default) |
72 | 86 | |
73 | - dateFormat = self.config['ganttcalendar'].get('format', default='%Y/%m/%d') or '%Y/%m/%d' | |
87 | + dateFormat = str(self.config['ganttcalendar'].get('format', default='%Y/%m/%d') or '%Y/%m/%d') | |
74 | 88 | |
75 | 89 | # cal next month |
76 | 90 | nmonth = cday.replace(day=1).__add__(timedelta(days=32)).replace(day=1) |
@@ -213,7 +227,7 @@ | ||
213 | 227 | 'tickets':tickets, 'milestones':milestones,'days':days, |
214 | 228 | 'sum_estimatedhours':sum_estimatedhours, 'sum_totalhours':sum_totalhours, |
215 | 229 | 'show_my_ticket': show_my_ticket, 'show_closed_ticket': show_closed_ticket, 'selected_milestone': selected_milestone, |
216 | - '_':_,'dateFormat':dateFormat, 'holidays':holidays} | |
230 | + '_':_,'dateFormat':dateFormat, 'holidays':holidays, 'month_tbl': month_tbl} | |
217 | 231 | |
218 | 232 | return 'calendar.html', data, None |
219 | 233 |
@@ -23,6 +23,20 @@ | ||
23 | 23 | _, tag_, N_, add_domain = domain_functions('ganttcalendar', |
24 | 24 | '_', 'tag_', 'N_', 'add_domain') |
25 | 25 | |
26 | +month_tbl = { | |
27 | + 1: 'January', | |
28 | + 2: 'February', | |
29 | + 3: 'March', | |
30 | + 4: 'April', | |
31 | + 5: 'May', | |
32 | + 6: 'June', | |
33 | + 7: 'July', | |
34 | + 8: 'August', | |
35 | + 9: 'September', | |
36 | + 10: 'October', | |
37 | + 11: 'November', | |
38 | + 12: 'December' | |
39 | +} | |
26 | 40 | |
27 | 41 | class TicketGanttChartPlugin(Component): |
28 | 42 | implements(INavigationContributor, IRequestHandler, ITemplateProvider) |
@@ -619,7 +633,7 @@ | ||
619 | 633 | except: |
620 | 634 | pass |
621 | 635 | |
622 | - data = {'baseday': baseday, 'current':cday, 'prev':pmonth, 'next':nmonth} | |
636 | + data = {'baseday': baseday, 'current':cday, 'prev':pmonth, 'next':nmonth, 'month_tbl': month_tbl} | |
623 | 637 | data.update({'show_my_ticket': show_my_ticket, 'show_closed_ticket': show_closed_ticket, 'sorted_field': sorted_field}) |
624 | 638 | data.update({'show_ticket_summary': show_ticket_summary, 'show_ticket_status': show_ticket_status, 'ti_mrgn': ticket_margin}) |
625 | 639 | data.update({'selected_milestone':selected_milestone,'selected_component': selected_component}) |
@@ -191,7 +191,7 @@ | ||
191 | 191 | </table> |
192 | 192 | </fieldset> |
193 | 193 | <fieldset id="options" style="font-size:100%"> |
194 | - <legend class="foldable">${_('Config')}</legend> | |
194 | + <legend class="foldable">${_('Options')}</legend> | |
195 | 195 | <table class="list"> |
196 | 196 | <tr> |
197 | 197 | <td> |
@@ -228,10 +228,10 @@ | ||
228 | 228 | </tr> |
229 | 229 | <tr> |
230 | 230 | <td> |
231 | - <input type="checkbox" name="show_my_ticket" checked="$show_my_ticket" />${_('Show only your ticket')} | |
232 | - <input type="checkbox" name="show_closed_ticket" checked="$show_closed_ticket" />${_('Include closed ticket')} | |
231 | + <input type="checkbox" name="show_my_ticket" checked="$show_my_ticket" />${_('Show only my tickets')} | |
232 | + <input type="checkbox" name="show_closed_ticket" checked="$show_closed_ticket" />${_('Include closed tickets')} | |
233 | 233 | |
234 | - <input type="checkbox" name="show_ticket_summary" checked="$show_ticket_summary" />${_('Show ticket title')} | |
234 | + <input type="checkbox" name="show_ticket_summary" checked="$show_ticket_summary" />${_('Show ticket summary')} | |
235 | 235 | <input type="checkbox" name="show_ticket_status" checked="$show_ticket_status" />${_('Show ticket status')}<br/> |
236 | 236 | |
237 | 237 | </td> |
@@ -244,7 +244,7 @@ | ||
244 | 244 | <table class="list"> |
245 | 245 | <tr> |
246 | 246 | <td> |
247 | - <input type="button" value="<< ${prev.month}${_('Month')}" ACCESSKEY="J" onclick="form.year.value = ${prev.year}; form.month.value = ${prev.month}; form.submit();"/> | |
247 | + <input type="button" value="<< ${_(month_tbl[prev.month])}" ACCESSKEY="J" onclick="form.year.value = ${prev.year}; form.month.value = ${prev.month}; form.submit();"/> | |
248 | 248 | </td> |
249 | 249 | <td align="center"> |
250 | 250 | <select name="year"> |
@@ -255,9 +255,8 @@ | ||
255 | 255 | ${_('Year')} |
256 | 256 | <select name="month"> |
257 | 257 | <option py:for="m in [1,2,3,4,5,6,7,8,9,10,11,12]" |
258 | - value="$m" selected="${m==current.month or None}">$m</option> | |
258 | + value="$m" selected="${m==current.month or None}">${_(month_tbl[m])}</option> | |
259 | 259 | </select> |
260 | - ${_('Month')} | |
261 | 260 | <input type="submit" value="${_('Update')}" /> |
262 | 261 | <label ACCESSKEY="M" onclick="form.year.value = ${date.today().year}; form.month.value = ${date.today().month}; form.submit();"/> |
263 | 262 | <py:choose> |
@@ -273,7 +272,7 @@ | ||
273 | 272 | <input name="zoom" type="hidden" value="${zoom}" /> |
274 | 273 | </td> |
275 | 274 | <td align="right"> |
276 | - <input type="button" value="${next.month}${_('Month')} >>" ACCESSKEY="L" onclick="form.year.value = ${next.year}; form.month.value = ${next.month}; form.submit();"/> | |
275 | + <input type="button" value="${_(month_tbl[next.month])} >>" ACCESSKEY="L" onclick="form.year.value = ${next.year}; form.month.value = ${next.month}; form.submit();"/> | |
277 | 276 | </td> |
278 | 277 | </tr> |
279 | 278 | </table> |
@@ -331,7 +330,7 @@ | ||
331 | 330 | <py:with vars="tic_due='(%d/%d ~ %d/%d)' % (t['due_assign'].month, t['due_assign'].day, t['due_close'].month, t['due_close'].day ); |
332 | 331 | tic_tip='%s#%d: %s - %s %s%s' % (t['type'], t['id'], t['summary'], format_author(t['owner']), tic_due, (t['estimatedhours']!=None and ' '+ str(t['estimatedhours']) +'h' or '') );"> |
333 | 332 | <div py:if="show_ticket_summary == 'on'" py:attrs="{'title': |
334 | - _('Ticket') + ': %s' % (t['description'] )}" class="tic_summary" style="left:${int(s*px_dw+1)+2}px;top:${px_ti*cnt+px_hd+(px_ti-px_ch)/2+(ti_mrgn/2+1)}px;"> | |
333 | + _('Description') + ': %s' % (t['description'] )}" class="tic_summary" style="left:${int(s*px_dw+1)+2}px;top:${px_ti*cnt+px_hd+(px_ti-px_ch)/2+(ti_mrgn/2+1)}px;"> | |
335 | 334 | <a href="${req.href.ticket()}/${t['id']}"> |
336 | 335 | <s py:strip="t['status']!='closed'">${t['type']}#${t['id']}</s>: ${t['summary'][0:20]}<span py:if="len(t['summary'])>20">...</span> |
337 | 336 | ${tic_due}<span py:if="t['estimatedhours']!=None"> ${t['estimatedhours']}h</span> |
@@ -386,21 +385,21 @@ | ||
386 | 385 | <div class="stripe" style="top: ${cnt*px_ti+px_top}px;width: ${px_w}px; height: ${px_ti}px;"></div> |
387 | 386 | </py:if> |
388 | 387 | <div class="bdy_elem" style="top: ${cnt*px_ti+px_top}px;left: ${px_left-1}px;width: ${px_w-2}px;"> |
389 | - <a class="tip" href="${req.href.ticket()}/${t['id']}"><s py:strip="t['status']!='closed'">#${t['id']}</s>:${t['summary'][0:10]}<span py:if="len(t['summary'])>10">...</span> | |
388 | + <a class="tip" href="${req.href.ticket()}/${t['id']}"><s py:strip="t['status']!='closed'">#${t['id']}</s>:${t['summary'][0:14]}<span py:if="len(t['summary'])>14">...</span> | |
390 | 389 | <span class="popup"> |
391 | 390 | <br/> |
392 | - <s py:strip="t['status']!='closed'"> <span class="type">${t['type']}</span>#${t['id']}</s>: ${t['summary']}<br/> | |
391 | + <s py:strip="t['status']!='closed'"> ${t['type']}#${t['id']}</s>: ${t['summary']}<br/> | |
393 | 392 | <br/> |
394 | - <strong>${_('Start date')}</strong> : | |
393 | + <strong>${_('Start date')}</strong>: | |
395 | 394 | ${t['due_assign'].strftime(dateFormat)} |
396 | - <span py:if="t['status']!='closed'">(<span class="status">${t['status']}</span> ${t['complete']}%)</span><br/> | |
395 | + <span py:if="t['status']!='closed'">(${t['status']} ${t['complete']}%)</span><br/> | |
397 | 396 | <strong>${_('End date')}</strong>: |
398 | 397 | ${t['due_close'].strftime(dateFormat)} |
399 | - <span py:if="t['status']=='closed'">(<span class="status">${t['status']}</span>: <span class="resolution">${t['resolution']}</span>)</span><br/> | |
400 | - <strong>${_('Owner')}</strong> : ${format_author(t['owner'])}<br/> | |
401 | - <strong>${_('Priority')}</strong>: <span class="priority">${t['priority']}</span><br/> | |
398 | + <span py:if="t['status']=='closed'">(${t['status']}: ${t['resolution']})</span><br/> | |
399 | + <strong>${_('Owner')}</strong>: ${format_author(t['owner'])}<br/> | |
400 | + <strong>${_('Priority')}</strong>: ${t['priority']}<br/> | |
402 | 401 | <py:if test="t['estimatedhours']!=None"> |
403 | - <strong>${_('Total time')}</strong>: ${t['totalhours']}h / <strong>${_('Estimated Hours')}</strong>: ${t['estimatedhours']}h<br/> | |
402 | + <strong>${_('Total Hours')}</strong>: ${t['totalhours']}h / <strong>${_('Estimated Hours')}</strong>: ${t['estimatedhours']}h<br/> | |
404 | 403 | </py:if> |
405 | 404 | <pre> ${t['description']}</pre> |
406 | 405 | </span> |
@@ -421,7 +420,7 @@ | ||
421 | 420 | <br/> |
422 | 421 | <img src="${href.chrome('tc/img/package.png')}" />${t['milestone']}<br/> |
423 | 422 | <br/> |
424 | - <strong>${_('End date')}</strong>: <span py:if="m['due'] != | |
423 | + <strong>${_('Due')}</strong>: <span py:if="m['due'] != | |
425 | 424 | None">${m['due'].strftime(dateFormat)}</span><br/> |
426 | 425 | <pre> ${m['description']}</pre> |
427 | 426 | </span> |
@@ -110,7 +110,7 @@ | ||
110 | 110 | <body> |
111 | 111 | <form> |
112 | 112 | <fieldset id="options"> |
113 | - <legend class="foldable">${_('Config')}</legend> | |
113 | + <legend class="foldable">${_('Options')}</legend> | |
114 | 114 | <table class="list"> |
115 | 115 | <tr> |
116 | 116 | <td> |
@@ -121,9 +121,9 @@ | ||
121 | 121 | <option py:for="m in milestones" value="${m.name}" selected="${selected_milestone==m.name or None}">${m.name}</option> |
122 | 122 | </select> |
123 | 123 | <input type="checkbox" name="show_my_ticket" checked="$show_my_ticket" |
124 | - />${_('Show only your ticket')} | |
124 | + />${_('Show only my tickets')} | |
125 | 125 | <input type="checkbox" name="show_closed_ticket" checked="$show_closed_ticket" |
126 | - />${_('Include closed ticket')} | |
126 | + />${_('Include closed tickets')} | |
127 | 127 | </td> |
128 | 128 | <td align="right"> |
129 | 129 | <input type="submit" value="${_('Update')}" /> |
@@ -134,7 +134,7 @@ | ||
134 | 134 | <table class="list"> |
135 | 135 | <tr> |
136 | 136 | <td> |
137 | - <input type="button" value="<< ${prev.month}${_('Month')}" ACCESSKEY="J" onclick="form.year.value = ${prev.year}; form.month.value = ${prev.month}; form.submit();"/> | |
137 | + <input type="button" value="<< ${_(month_tbl[prev.month])}" ACCESSKEY="J" onclick="form.year.value = ${prev.year}; form.month.value = ${prev.month}; form.submit();"/> | |
138 | 138 | </td> |
139 | 139 | <td align="center"> |
140 | 140 | <select name="year"> |
@@ -142,10 +142,9 @@ | ||
142 | 142 | value="$y" |
143 | 143 | selected="${y==current.year or None}">$y</option> |
144 | 144 | </select> |
145 | - ${_('Month')} | |
146 | 145 | <select name="month"> |
147 | 146 | <option py:for="m in [1,2,3,4,5,6,7,8,9,10,11,12]" |
148 | - value="$m" selected="${m==current.month or None}">$m</option> | |
147 | + value="$m" selected="${m==current.month or None}">${_(month_tbl[m])}</option> | |
149 | 148 | </select> |
150 | 149 | ${_('Year')} |
151 | 150 | <input type="submit" value="${_('Update')}" /> |
@@ -152,7 +151,7 @@ | ||
152 | 151 | <label ACCESSKEY="M" onclick="form.year.value = ${date.today().year}; form.month.value = ${date.today().month}; form.submit();"/> |
153 | 152 | </td> |
154 | 153 | <td align="right"> |
155 | - <input type="button" value="${next.month}${_('Month')} >>" ACCESSKEY="L" onclick="form.year.value = ${next.year}; form.month.value = ${next.month}; form.submit();"/> | |
154 | + <input type="button" value="${_(month_tbl[next.month])} >>" ACCESSKEY="L" onclick="form.year.value = ${next.year}; form.month.value = ${next.month}; form.submit();"/> | |
156 | 155 | </td> |
157 | 156 | </tr> |
158 | 157 | </table> |
@@ -185,14 +184,14 @@ | ||
185 | 184 | <s py:strip="t['status']!='closed'"><span class="type">${t['type']}</span>#${t['id']}</s>:${t['summary']} |
186 | 185 | <span class="popup"> |
187 | 186 | <br /> |
188 | - <s py:strip="t['status']!='closed'"> <span class="type">${t['type']}</span>#${t['id']}</s>: ${t['summary']}<br /> | |
187 | + <s py:strip="t['status']!='closed'"> ${t['type']}#${t['id']}</s>: ${t['summary']}<br /> | |
189 | 188 | <br /> |
190 | - <strong>${_('Start date')}</strong> : <span py:if="t['due_assign'] != None">${t['due_assign'].strftime(dateFormat)}</span> | |
191 | - <span py:if="t['status']!='closed'">(<span class="status">${t['status']}</span> ${t['complete']}%)</span><br/> | |
189 | + <strong>${_('Start date')}</strong>: <span py:if="t['due_assign'] != None">${t['due_assign'].strftime(dateFormat)}</span> | |
190 | + <span py:if="t['status']!='closed'">(${t['status']} ${t['complete']}%)</span><br/> | |
192 | 191 | <strong>${_('End date')}</strong>: <span py:if="t['due_close'] != None">${t['due_close'].strftime(dateFormat)}</span> |
193 | - <span py:if="t['status']=='closed'">(<span class="status">${t['status']}</span>: <span class="resolution">${t['resolution']}</span>)</span><br/> | |
194 | - <strong>${_('Owner')}</strong> : ${format_author(t['owner'])}<br /> | |
195 | - <strong>${_('Priority')}</strong>: <span class="priority">${t['priority']}</span><br/> | |
192 | + <span py:if="t['status']=='closed'">(${t['status']}: ${t['resolution']})</span><br/> | |
193 | + <strong>${_('Owner')}</strong>: ${format_author(t['owner'])}<br /> | |
194 | + <strong>${_('Priority')}</strong>: ${t['priority']}<br/> | |
196 | 195 | <py:if test="t['estimatedhours']!=None"> |
197 | 196 | <strong>${_('Total Hours')}</strong>: ${t['totalhours']}h / |
198 | 197 | <strong>${_('Estimated Hours')}</strong>: ${t['estimatedhours']}h<br/> |
@@ -211,7 +210,7 @@ | ||
211 | 210 | <br /> |
212 | 211 | <img src="${href.chrome('tc/img/package.png')}" />${m['name']}<br /> |
213 | 212 | <br /> |
214 | - <strong>${_('End date')}</strong>: ${m['due'].strftime(dateFormat)}<br /> | |
213 | + <strong>${_('Due')}</strong>: ${m['due'].strftime(dateFormat)}<br /> | |
215 | 214 | <pre> ${m['description']}</pre> |
216 | 215 | </span> |
217 | 216 | </a> |
@@ -21,7 +21,7 @@ | ||
21 | 21 | |
22 | 22 | |
23 | 23 | setup( |
24 | - name='TracGanttCalendarPlugin', version='0.2', | |
24 | + name='TracGanttCalendarPlugin', version='0.5', | |
25 | 25 | packages=find_packages(exclude=['*.tests*']), |
26 | 26 | |
27 | 27 | author = "Takashi Okamoto", |