Merge lp:~danilo/launchpad/bug-429414 into lp:launchpad
- bug-429414
- Merge into devel
Proposed by
Данило Шеган
Status: | Merged |
---|---|
Approved by: | Aaron Bentley |
Approved revision: | no longer in the source branch. |
Merged at revision: | not available |
Proposed branch: | lp:~danilo/launchpad/bug-429414 |
Merge into: | lp:launchpad |
Diff against target: | None lines |
To merge this branch: | bzr merge lp:~danilo/launchpad/bug-429414 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Aaron Bentley (community) | Approve | ||
Review via email: mp+11729@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Данило Шеган (danilo) wrote : | # |
Revision history for this message
Aaron Bentley (abentley) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'lib/lp/translations/browser/configure.zcml' |
2 | --- lib/lp/translations/browser/configure.zcml 2009-09-14 15:35:34 +0000 |
3 | +++ lib/lp/translations/browser/configure.zcml 2009-09-14 15:41:21 +0000 |
4 | @@ -601,17 +601,9 @@ |
5 | name="+potlist" |
6 | template="../templates/object-pots.pt"/> |
7 | <browser:page |
8 | - name="+translate" |
9 | - template="../templates/sourcepackage-translate.pt"/> |
10 | - <browser:page |
11 | name="+translations" |
12 | - template="../templates/object-translations.pt"/> |
13 | + template="../templates/sourcepackage-translations.pt"/> |
14 | </browser:pages> |
15 | - <browser:page |
16 | - name="+translate" |
17 | - for="lp.registry.interfaces.sourcepackage.ISourcePackage" |
18 | - class="lp.translations.browser.translations.TranslateRedirectView" |
19 | - permission="zope.Public"/> |
20 | |
21 | <!-- ProductSeries translation pages --> |
22 | |
23 | |
24 | === modified file 'lib/lp/translations/browser/productseries.py' |
25 | --- lib/lp/translations/browser/productseries.py 2009-09-01 11:38:24 +0000 |
26 | +++ lib/lp/translations/browser/productseries.py 2009-09-14 19:00:45 +0000 |
27 | @@ -123,7 +123,7 @@ |
28 | return "Download translations for %s" % self.download_description |
29 | |
30 | |
31 | -class ProductSeriesTranslationsMixin(object): |
32 | +class ProductSeriesTranslationsMixin(TranslationsMixin): |
33 | """Common properties for all ProductSeriesTranslations*View classes.""" |
34 | |
35 | @property |
36 | @@ -327,7 +327,7 @@ |
37 | " recognised as a file that can be imported.") |
38 | |
39 | |
40 | -class ProductSeriesView(LaunchpadView, TranslationsMixin): |
41 | +class ProductSeriesView(LaunchpadView, ProductSeriesTranslationsMixin): |
42 | """A view to show a series with translations.""" |
43 | def initialize(self): |
44 | """See `LaunchpadFormView`.""" |
45 | @@ -335,6 +335,13 @@ |
46 | self.has_multiple_templates = ( |
47 | self.context.getCurrentTranslationTemplates().count() > 1) |
48 | |
49 | + self.has_exports_enabled = ( |
50 | + self.context.translations_branch is not None) |
51 | + |
52 | + self.uses_bzr_sync = ( |
53 | + (self.context.branch is not None and self.has_imports_enabled) or |
54 | + self.has_exports_enabled) |
55 | + |
56 | @property |
57 | def productserieslanguages(self): |
58 | """Get ProductSeriesLanguage objects to display. |
59 | |
60 | === modified file 'lib/lp/translations/stories/distribution/xx-distribution-translations.txt' |
61 | --- lib/lp/translations/stories/distribution/xx-distribution-translations.txt 2009-09-14 13:47:28 +0000 |
62 | +++ lib/lp/translations/stories/distribution/xx-distribution-translations.txt 2009-09-14 19:00:45 +0000 |
63 | @@ -9,7 +9,7 @@ |
64 | >>> browser.open('http://launchpad.dev/ubuntu') |
65 | >>> browser.getLink('Translations').click() |
66 | >>> print browser.title |
67 | - Translating Ubuntu |
68 | + Translations : Ubuntu |
69 | |
70 | Check that there aren't disabled languages shown here: |
71 | |
72 | @@ -52,7 +52,7 @@ |
73 | And the other Ubuntu distributions should be there too. |
74 | |
75 | >>> content = find_main_content(browser.contents) |
76 | - >>> print extract_text(content.findAll('h2')[2]) |
77 | + >>> print extract_text(content.findAll('h2')[1]) |
78 | Other versions of Ubuntu |
79 | |
80 | >>> print extract_text(content.find(id='distroseries-list')) |
81 | @@ -94,7 +94,7 @@ |
82 | And the other Ubuntu distributions should be there too. |
83 | |
84 | >>> content = find_main_content(browser.contents) |
85 | - >>> print extract_text(content.findAll('h2')[2]) |
86 | + >>> print extract_text(content.findAll('h2')[1]) |
87 | Other versions of Debian |
88 | |
89 | >>> print extract_text(content.find(id='distroseries-list')) |
90 | |
91 | === modified file 'lib/lp/translations/stories/importqueue/xx-translation-import-queue-targets.txt' |
92 | --- lib/lp/translations/stories/importqueue/xx-translation-import-queue-targets.txt 2009-09-14 13:54:29 +0000 |
93 | +++ lib/lp/translations/stories/importqueue/xx-translation-import-queue-targets.txt 2009-09-14 19:00:45 +0000 |
94 | @@ -84,7 +84,7 @@ |
95 | The import queue is linked from the translations page for product series. |
96 | |
97 | >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk') |
98 | - >>> user_browser.getLink('Import queue').click() |
99 | + >>> user_browser.getLink('import queue').click() |
100 | |
101 | This time, we do have content for this product: |
102 | |
103 | |
104 | === modified file 'lib/lp/translations/stories/productseries/xx-productseries-templates.txt' |
105 | --- lib/lp/translations/stories/productseries/xx-productseries-templates.txt 2009-07-16 14:40:28 +0000 |
106 | +++ lib/lp/translations/stories/productseries/xx-productseries-templates.txt 2009-09-14 19:00:45 +0000 |
107 | @@ -11,7 +11,7 @@ |
108 | |
109 | >>> user_browser.open( |
110 | ... 'http://translations.launchpad.dev/evolution/trunk') |
111 | - >>> user_browser.getLink('Templates') |
112 | + >>> user_browser.getLink('full list of templates') |
113 | Traceback (most recent call last): |
114 | ... |
115 | LinkNotFoundError |
116 | @@ -19,7 +19,7 @@ |
117 | >>> browser = setupBrowser('Basic test@canonical.com:test') |
118 | >>> browser.open( |
119 | ... 'http://translations.launchpad.dev/evolution/trunk') |
120 | - >>> browser.getLink('Templates').click() |
121 | + >>> browser.getLink('full list of templates').click() |
122 | >>> print browser.url |
123 | http://translations.launchpad.dev/evolution/trunk/+templates |
124 | |
125 | |
126 | === modified file 'lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt' |
127 | --- lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt 2009-09-12 07:25:21 +0000 |
128 | +++ lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt 2009-09-14 19:00:45 +0000 |
129 | @@ -12,7 +12,7 @@ |
130 | productseries' translations page. |
131 | |
132 | >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk/') |
133 | - >>> user_browser.getLink('Download').click() |
134 | + >>> user_browser.getLink('download').click() |
135 | >>> print user_browser.url |
136 | http://translations.launchpad.dev/evolution/trunk/+export |
137 | |
138 | @@ -33,10 +33,10 @@ |
139 | not available to anonymous visitors. |
140 | |
141 | >>> anon_browser.open('http://translations.launchpad.dev/evolution/trunk/') |
142 | - >>> anon_browser.getLink('Download').click() |
143 | + >>> anon_browser.getLink('download') |
144 | Traceback (most recent call last): |
145 | ... |
146 | - Unauthorized:... |
147 | + LinkNotFoundError |
148 | |
149 | |
150 | == Making the request == |
151 | @@ -73,7 +73,7 @@ |
152 | |
153 | An alternative is MO. |
154 | |
155 | - >>> user_browser.getLink('Download').click() |
156 | + >>> user_browser.getLink('download').click() |
157 | >>> user_browser.getControl('Format:').value = ['PO'] |
158 | >>> user_browser.getControl('Request Download').click() |
159 | >>> print user_browser.url |
160 | @@ -98,7 +98,7 @@ |
161 | link for "Download translations" is hidden. |
162 | |
163 | >>> user_browser.open('http://translations.launchpad.dev/bzr/') |
164 | - >>> user_browser.getLink('Download') |
165 | + >>> user_browser.getLink('download') |
166 | Traceback (most recent call last): |
167 | ... |
168 | LinkNotFoundError |
169 | |
170 | === modified file 'lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt' |
171 | --- lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt 2009-09-01 19:36:28 +0000 |
172 | +++ lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt 2009-09-14 19:00:45 +0000 |
173 | @@ -12,7 +12,7 @@ |
174 | ... 'Basic test@canonical.com:test') |
175 | >>> browser.open( |
176 | ... 'http://translations.launchpad.dev/evolution/trunk/') |
177 | - >>> browser.getLink('Request Bazaar import').click() |
178 | + >>> browser.getLink('Request an import from bazaar').click() |
179 | >>> print browser.url |
180 | http://translations.l...d.dev/evolution/trunk/+request-bzr-import |
181 | |
182 | @@ -55,7 +55,7 @@ |
183 | ... browser.contents, 'field.actions.request_import') |
184 | >>> print request_button |
185 | <input type="submit"...value="Request one-time import"... |
186 | - >>> browser.getControl('Request one-time import').click() |
187 | + >>> browser.getControl("Request one-time import").click() |
188 | >>> print browser.url |
189 | http://translations.launchpad.dev/evolution/trunk |
190 | >>> print "\n".join(get_feedback_messages(browser.contents)) |
191 | |
192 | === modified file 'lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt' |
193 | --- lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt 2009-07-10 12:49:30 +0000 |
194 | +++ lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt 2009-09-14 19:00:45 +0000 |
195 | @@ -12,7 +12,7 @@ |
196 | ... 'Basic test@canonical.com:test') |
197 | >>> browser.open( |
198 | ... 'http://translations.launchpad.dev/evolution/trunk/') |
199 | - >>> browser.getLink('Settings').click() |
200 | + >>> browser.getLink('Set up branch synchronization').click() |
201 | >>> print browser.url |
202 | http://translations.l...d.dev/evolution/trunk/+translations-settings |
203 | |
204 | |
205 | === modified file 'lib/lp/translations/stories/standalone/xx-product-export.txt' |
206 | --- lib/lp/translations/stories/standalone/xx-product-export.txt 2009-09-12 07:25:21 +0000 |
207 | +++ lib/lp/translations/stories/standalone/xx-product-export.txt 2009-09-14 19:00:45 +0000 |
208 | @@ -17,7 +17,7 @@ |
209 | first and requesting a download there. |
210 | |
211 | >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk') |
212 | - >>> user_browser.getLink('Download').click() |
213 | + >>> user_browser.getLink('download').click() |
214 | >>> user_browser.url |
215 | 'http://translations.launchpad.dev/evolution/trunk/+export' |
216 | |
217 | |
218 | === modified file 'lib/lp/translations/stories/standalone/xx-productseries-translations.txt' |
219 | --- lib/lp/translations/stories/standalone/xx-productseries-translations.txt 2009-07-03 14:17:21 +0000 |
220 | +++ lib/lp/translations/stories/standalone/xx-productseries-translations.txt 2009-09-14 19:00:45 +0000 |
221 | @@ -37,11 +37,11 @@ |
222 | |
223 | >>> anon_browser.open(frobnicator_trunk_url) |
224 | >>> print anon_browser.title |
225 | - Translations overview for Frobnicator trunk series |
226 | + Translations : Series trunk : Frobnicator |
227 | |
228 | >>> main_content = find_main_content(anon_browser.contents) |
229 | >>> print extract_text(main_content.findAll('h1')[0]) |
230 | - Translations for Frobnicator trunk series |
231 | + Translation status by language |
232 | |
233 | >>> print_language_stats(anon_browser) |
234 | No translations. |
235 | |
236 | === modified file 'lib/lp/translations/stories/standalone/xx-rosetta-sourcepackage-list.txt' |
237 | --- lib/lp/translations/stories/standalone/xx-rosetta-sourcepackage-list.txt 2009-07-01 20:45:39 +0000 |
238 | +++ lib/lp/translations/stories/standalone/xx-rosetta-sourcepackage-list.txt 2009-09-14 15:41:21 +0000 |
239 | @@ -7,13 +7,13 @@ |
240 | >>> anon_browser.open( |
241 | ... 'http://translations.launchpad.dev/ubuntu/hoary/' |
242 | ... '+source/evolution') |
243 | - >>> print anon_browser.title.encode('ascii','backslashreplace') |
244 | - Translation templates for evolution in Ubuntu Hoary |
245 | + >>> anon_browser.title |
246 | + '...evolution...package : Translations : 5.04 : Ubuntu' |
247 | |
248 | >>> content = find_main_content(anon_browser.contents) |
249 | >>> print extract_text(content.findAll('h1')[0]).encode( |
250 | ... 'ascii','backslashreplace') |
251 | - Translation templates for evolution in Ubuntu Hoary |
252 | + Translation templates |
253 | |
254 | There are two templates for evolution in Ubuntu Hoary |
255 | |
256 | |
257 | === modified file 'lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt' |
258 | --- lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt 2009-09-12 07:25:21 +0000 |
259 | +++ lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt 2009-09-14 15:41:21 +0000 |
260 | @@ -15,7 +15,7 @@ |
261 | >>> browser = setupBrowser(auth='Basic mark@example.com:test') |
262 | >>> browser.open( |
263 | ... 'http://translations.launchpad.dev/ubuntu/hoary/+source/mozilla/') |
264 | - >>> download = browser.getLink('Download') |
265 | + >>> download = browser.getLink('download full tarball') |
266 | >>> download_url = download.url |
267 | >>> download.click() |
268 | >>> print browser.url |
269 | @@ -42,7 +42,7 @@ |
270 | ... 'http://translations.launchpad.dev/' |
271 | ... 'ubuntu/hoary/+source/mozilla/') |
272 | ... try: |
273 | - ... browser.getLink('Download').click() |
274 | + ... browser.getLink('download full tarball').click() |
275 | ... except LinkNotFoundError: |
276 | ... see_link = False |
277 | ... else: |
278 | |
279 | === modified file 'lib/lp/translations/stories/standalone/xx-template-description-escaping.txt' |
280 | --- lib/lp/translations/stories/standalone/xx-template-description-escaping.txt 2009-07-27 08:05:02 +0000 |
281 | +++ lib/lp/translations/stories/standalone/xx-template-description-escaping.txt 2009-09-14 15:41:21 +0000 |
282 | @@ -30,7 +30,7 @@ |
283 | The same description also shows up on the +translate page for the |
284 | package. Again,the URL is clickable. |
285 | |
286 | - >>> description = find_description(package_url + '/+translate') |
287 | + >>> description = find_description(package_url + '/+translations') |
288 | >>> len(description) |
289 | 1 |
290 | >>> print description[0] |
291 | |
292 | === modified file 'lib/lp/translations/stories/standalone/xx-translations-xpi-import.txt' |
293 | --- lib/lp/translations/stories/standalone/xx-translations-xpi-import.txt 2009-09-01 19:36:28 +0000 |
294 | +++ lib/lp/translations/stories/standalone/xx-translations-xpi-import.txt 2009-09-14 19:00:45 +0000 |
295 | @@ -11,7 +11,7 @@ |
296 | Since we still don't have any POTemplates assigned, we must use the general |
297 | translations upload link. |
298 | |
299 | - >>> browser.getLink('Upload').click() |
300 | + >>> browser.getLink('upload').click() |
301 | >>> print browser.url |
302 | http://translations.launchpad.dev/firefox/trunk/+translations-upload |
303 | |
304 | |
305 | === modified file 'lib/lp/translations/stories/translationgroups/10-distro-translation-group.txt' |
306 | --- lib/lp/translations/stories/translationgroups/10-distro-translation-group.txt 2009-09-14 15:35:34 +0000 |
307 | +++ lib/lp/translations/stories/translationgroups/10-distro-translation-group.txt 2009-09-14 19:00:45 +0000 |
308 | @@ -13,7 +13,7 @@ |
309 | |
310 | >>> anon_browser.getLink('Translations').click() |
311 | >>> print anon_browser.title |
312 | - Translating Ubuntu |
313 | + Translations : Ubuntu |
314 | |
315 | >>> print extract_text( |
316 | ... find_tag_by_id(anon_browser.contents, 'translation-permissions')) |
317 | @@ -58,7 +58,7 @@ |
318 | ... 'The PolyGlot Translation Group'] |
319 | >>> ubuntu_owner_browser.getControl('Change').click() |
320 | >>> print ubuntu_owner_browser.title |
321 | - Translating Ubuntu |
322 | + Translations : Ubuntu |
323 | |
324 | >>> print extract_text( |
325 | ... find_tag_by_id(ubuntu_owner_browser.contents, |
326 | @@ -70,7 +70,7 @@ |
327 | |
328 | >>> anon_browser.reload() |
329 | >>> print anon_browser.title |
330 | - Translating Ubuntu |
331 | + Translations : Ubuntu |
332 | |
333 | >>> print extract_text( |
334 | ... find_tag_by_id(anon_browser.contents, 'translation-permissions')) |
335 | |
336 | === modified file 'lib/lp/translations/templates/productseries-translations.pt' |
337 | --- lib/lp/translations/templates/productseries-translations.pt 2009-09-10 19:07:11 +0000 |
338 | +++ lib/lp/translations/templates/productseries-translations.pt 2009-09-14 19:00:45 +0000 |
339 | @@ -2,22 +2,10 @@ |
340 | xmlns="http://www.w3.org/1999/xhtml" |
341 | xmlns:tal="http://xml.zope.org/namespaces/tal" |
342 | xmlns:metal="http://xml.zope.org/namespaces/metal" |
343 | - xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
344 | - xml:lang="en" |
345 | - lang="en" |
346 | - dir="ltr" |
347 | - metal:use-macro="view/macro:page/onecolumn" |
348 | - i18n:domain="launchpad" |
349 | + metal:use-macro="view/macro:page/main_only" |
350 | > |
351 | <body> |
352 | <div metal:fill-slot="main"> |
353 | - <h1> |
354 | - Translations for |
355 | - <tal:title replace="context/title"> |
356 | - evolution trunk |
357 | - </tal:title> |
358 | - </h1> |
359 | - |
360 | <ul class="helplinks"> |
361 | <li> |
362 | <a href="https://help.launchpad.net/Translations" |
363 | @@ -27,7 +15,10 @@ |
364 | </li> |
365 | </ul> |
366 | |
367 | + <h1>Translation status by language</h1> |
368 | + |
369 | <tal:no-languages condition="not:view/productserieslanguages"> |
370 | + <div class="yui-b top-portlet"> |
371 | <p>There are no translations for this release series.</p> |
372 | |
373 | <p tal:condition="context/product/required:launchpad.Edit">To |
374 | @@ -48,39 +39,130 @@ |
375 | >import from branches</a> |
376 | (<a href="https://help.launchpad.net/Translations/ImportingFromBazaarBranches">read more</a>). |
377 | </p> |
378 | - |
379 | - <tal:user condition="view/user"> |
380 | - <p tal:condition="not:view/user/languages">Please <a |
381 | - tal:attributes="href string:${view/user/fmt:url}/+editlanguages"> |
382 | - set your languages</a> to start translating.</p> |
383 | - </tal:user> |
384 | + </div> |
385 | </tal:no-languages> |
386 | |
387 | + <div class="yui-g"> |
388 | + <div class="yui-u first"> |
389 | + <div class="portlet"> |
390 | + <h3>Permissions</h3> |
391 | + <p> |
392 | + <tal:permissions replace=" |
393 | + structure |
394 | + context/product/@@+portlet-translation-groups-and-permission"/> |
395 | + </p> |
396 | + <p tal:condition="view/has_translation_documentation"> |
397 | + Before translating, please look at |
398 | + <a tal:attributes=" |
399 | + href |
400 | + context/product/translationgroup/translation_guide_url |
401 | + ">translation instructions</a> first. |
402 | + </p> |
403 | + </div> |
404 | + </div> |
405 | + |
406 | + <div class="yui-u"> |
407 | + <div class="portlet"> |
408 | + <h3>Administration</h3> |
409 | + <p>Translation files that are waiting to be imported are shown in |
410 | + the |
411 | + <a tal:attributes="href context/menu:navigation/imports/url"> |
412 | + import queue</a>. |
413 | + </p> |
414 | + <p tal:condition="context/required:launchpad.Edit"> |
415 | + To manage all the translation templates in |
416 | + <tal:series replace="context/displayname">trunk</tal:series>, |
417 | + see the |
418 | + <a tal:attributes="href context/menu:navigation/templates/url"> |
419 | + full list of templates</a>. |
420 | + </p> |
421 | + </div> |
422 | + </div> |
423 | + </div> |
424 | + <div class="yui-g"> |
425 | + <div class="yui-u first"> |
426 | + <div class="portlet"> |
427 | + <h3>Automatic synchronization</h3> |
428 | + <tal:uses-bzr-sync condition="view/uses_bzr_sync"> |
429 | + <tal:imports condition="view/has_imports_enabled"> |
430 | + <tal:exports condition="view/has_exports_enabled"> |
431 | + Translations are imported with every update from branch |
432 | + <a tal:replace="structure context/branch/fmt:link"> |
433 | + branch |
434 | + </a>, and exported daily to branch |
435 | + <a tal:replace=" |
436 | + structure context/translations_branch/fmt:link" |
437 | + >branch name</a>. |
438 | + </tal:exports> |
439 | + </tal:imports> |
440 | + <tal:imports-only condition="view/has_imports_enabled"> |
441 | + <tal:no-exports condition="not:view/has_exports_enabled"> |
442 | + Translations are imported with every update from branch |
443 | + <a tal:replace="structure context/branch/fmt:link"> |
444 | + branch name |
445 | + </a>. |
446 | + </tal:no-exports> |
447 | + </tal:imports-only> |
448 | + <tal:exports-only condition="view/has_exports_enabled"> |
449 | + <tal:no-imports condition="not:view/has_imports_enabled"> |
450 | + Translations are exported daily to branch |
451 | + <a tal:replace=" |
452 | + structure context/translations_branch/fmt:link"> |
453 | + branch name |
454 | + </a>. |
455 | + </tal:no-imports> |
456 | + </tal:exports-only> |
457 | + <div tal:condition="context/required:launchpad.Edit"> |
458 | + <a tal:attributes="href context/menu:navigation/settings/url" |
459 | + class="edit sprite"> |
460 | + Change synchronization settings |
461 | + </a> |
462 | + </div> |
463 | + </tal:uses-bzr-sync> |
464 | + <tal:no-bzr-sync condition="not:view/uses_bzr_sync"> |
465 | + <p>This project is currently not using any synchronization |
466 | + with bazaar branches.</p> |
467 | + <tal:branch condition="context/branch"> |
468 | + <p> |
469 | + <a tal:attributes=" |
470 | + href context/menu:navigation/requestbzrimport/url" |
471 | + tal:condition="context/required:launchpad.Edit" |
472 | + class="add sprite"> |
473 | + Request an import from bazaar |
474 | + </a> to do a one time import of all the templates and |
475 | + translations. |
476 | + </p> |
477 | + </tal:branch> |
478 | + <div tal:condition="context/required:launchpad.Edit"> |
479 | + <a tal:attributes="href context/menu:navigation/settings/url" |
480 | + class="edit sprite"> |
481 | + Set up branch synchronization |
482 | + </a> |
483 | + </div> |
484 | + </tal:no-bzr-sync> |
485 | + </div> |
486 | + </div> |
487 | + <div class="yui-u" |
488 | + tal:condition="context/required:launchpad.AnyPerson"> |
489 | + <div class="portlet"> |
490 | + <h3>Manual synchronization</h3> |
491 | + <p>If you don't want to use bazaar synchronization, you can still |
492 | + manually |
493 | + <a tal:attributes="href context/menu:navigation/translationupload/url" |
494 | + tal:condition="context/required:launchpad.Edit" |
495 | + class="add sprite">upload</a> |
496 | + or |
497 | + <a tal:attributes="href context/menu:navigation/translationdownload/url" |
498 | + tal:condition="context/required:launchpad.AnyPerson" |
499 | + class="download sprite">download</a> |
500 | + translation tarballs. |
501 | + </p> |
502 | + </div> |
503 | + </div> |
504 | + </div> |
505 | + |
506 | <tal:languages condition="view/productserieslanguages"> |
507 | - <p id="translation-permissions"> |
508 | - <tal:product replace="structure context/product/fmt:link">This |
509 | - project</tal:product> is translated |
510 | - <tal:hasgroup condition="context/product/translationgroup">by |
511 | - <a tal:attributes="href context/product/translationgroup/fmt:url" |
512 | - tal:content="context/product/translationgroup/title">translators</a> |
513 | - </tal:hasgroup> |
514 | - with <a target="help" href="/+help/permissions-policies.html" |
515 | - tal:content="context/product/translationpermission/title">certain</a> |
516 | - permissions. |
517 | - <tal:permissions condition="context/product/required:launchpad.Edit"> |
518 | - You can modify permissions on the |
519 | - <a |
520 | - tal:define="link context/product/menu:navigation/settings" |
521 | - tal:attributes="href link/url" |
522 | - >project settings</a> page. |
523 | - </tal:permissions> |
524 | - </p> |
525 | - <p tal:condition="view/has_translation_documentation"> |
526 | - Before translating, please look at |
527 | - <a tal:attributes=" |
528 | - href |
529 | - context/product/translationgroup/translation_guide_url |
530 | - ">translation instructions</a> first.</p> |
531 | + <h2>Translation status</h2> |
532 | |
533 | <div tal:replace="structure context/@@+languages" /> |
534 | |
535 | |
536 | === removed file 'lib/lp/translations/templates/sourcepackage-translate.pt' |
537 | --- lib/lp/translations/templates/sourcepackage-translate.pt 2009-07-17 17:59:07 +0000 |
538 | +++ lib/lp/translations/templates/sourcepackage-translate.pt 1970-01-01 00:00:00 +0000 |
539 | @@ -1,41 +0,0 @@ |
540 | -<html |
541 | - xmlns="http://www.w3.org/1999/xhtml" |
542 | - xmlns:tal="http://xml.zope.org/namespaces/tal" |
543 | - xmlns:metal="http://xml.zope.org/namespaces/metal" |
544 | - xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
545 | - xml:lang="en" |
546 | - lang="en" |
547 | - dir="ltr" |
548 | - metal:use-macro="context/@@main_template/master" |
549 | - i18n:domain="launchpad" |
550 | -> |
551 | - |
552 | -<body> |
553 | - |
554 | -<div metal:fill-slot="main"> |
555 | - |
556 | - <h1>Help translate |
557 | - <span tal:replace="context/distribution/displayname">foo</span>!</h1> |
558 | - |
559 | - <p> |
560 | - Are you fluent in a language other than English? |
561 | - If so, you can contribute to <span tal:replace="context/title" /> |
562 | - by translating it with Launchpad’s |
563 | - <a href="/translations/">Translations</a> software. |
564 | - You can translate as much as you like, whenever you like — |
565 | - all you need is a Web browser. |
566 | - </p> |
567 | - |
568 | - <p> |
569 | - To start, <a href="+translate/+login">get a Launchpad account</a> |
570 | - if you don’t already have one. |
571 | - Then choose a language below, and start translating. |
572 | - It’s that easy. |
573 | - </p> |
574 | - |
575 | - <div tal:replace="structure context/@@+potlist" /> |
576 | - |
577 | -</div> |
578 | -</body> |
579 | -</html> |
580 | - |
581 | |
582 | === renamed file 'lib/lp/translations/templates/object-translations.pt' => 'lib/lp/translations/templates/sourcepackage-translations.pt' |
583 | --- lib/lp/translations/templates/object-translations.pt 2009-07-17 17:59:07 +0000 |
584 | +++ lib/lp/translations/templates/sourcepackage-translations.pt 2009-09-14 15:41:21 +0000 |
585 | @@ -2,25 +2,10 @@ |
586 | xmlns="http://www.w3.org/1999/xhtml" |
587 | xmlns:tal="http://xml.zope.org/namespaces/tal" |
588 | xmlns:metal="http://xml.zope.org/namespaces/metal" |
589 | - xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
590 | - xml:lang="en" |
591 | - lang="en" |
592 | - dir="ltr" |
593 | - metal:use-macro="view/macro:page/onecolumn" |
594 | - i18n:domain="launchpad" |
595 | -><!-- context/@@main_template/master |
596 | - view/macro:page/onecolumn |
597 | - --> |
598 | - |
599 | + metal:use-macro="view/macro:page/main_only" |
600 | +> |
601 | <body> |
602 | <div metal:fill-slot="main"> |
603 | - <h1> |
604 | - Translation templates for |
605 | - <tal:title replace="context/title"> |
606 | - evolution in Ubuntu Feisty |
607 | - </tal:title> |
608 | - </h1> |
609 | - |
610 | <ul class="helplinks"> |
611 | <li> |
612 | <a href="https://help.launchpad.net/Translations" |
613 | @@ -30,7 +15,41 @@ |
614 | </li> |
615 | </ul> |
616 | |
617 | - <div tal:replace="structure context/@@+potlist" /> |
618 | + <h1>Translation templates</h1> |
619 | + |
620 | + <div class="yui-g"> |
621 | + <div class="yui-u first"> |
622 | + <div class="portlet"> |
623 | + <h3>Permissions</h3> |
624 | + <p> |
625 | + <tal:permissions replace=" |
626 | + structure |
627 | + context/distroseries/distribution/@@+portlet-translation-groups-and-permission"/> |
628 | + </p> |
629 | + </div> |
630 | + </div> |
631 | + <div class="yui-u"> |
632 | + <div class="portlet"> |
633 | + <h3>Administration</h3> |
634 | + <p>Translation files that are waiting to be imported are shown in |
635 | + the |
636 | + <a tal:attributes="href context/menu:navigation/imports/url"> |
637 | + import queue</a>. |
638 | + </p> |
639 | + <p tal:condition="context/required:launchpad.ExpensiveRequest"> |
640 | + If you want to manually integrate translations for this package, |
641 | + you can |
642 | + <a tal:attributes="href context/menu:navigation/download/url"> |
643 | + download full tarball</a> with translations. |
644 | + </p> |
645 | + </div> |
646 | + </div> |
647 | + </div> |
648 | + |
649 | + <div class="yui-b"> |
650 | + <div tal:replace="structure context/@@+potlist" /> |
651 | + </div> |
652 | + |
653 | </div> |
654 | </body> |
655 | </html> |
656 |
= Bug 429414 =
This branch converts productseries- translations. pt and translate. pt/object- translations. pt to 3.0 layout.
sourcepackage-
Along the way, sourcepackage- translate. pt is removed and translations. pt is renamed to sourcepackage- translations. pt (to translations, translations, product- translations, ...).
object-
match other templates like distroseries-
distribution-
It seems like a big branch, but with most links inline, pagetest updates
take 340 lines.
= Tests =
bin/test -vvt translations. *sourcepackage -t translations. *productseries
= Demo & QA =
ProductSeries page:
https:/ /translations. launchpad. dev/evolution/ trunk /translations. launchpad. dev/firefox/ trunk
https:/
SourcePackage page:
https:/ /translations. launchpad. dev/ubuntu/ hoary/+ source/ evolution/
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files: translations/ browser/ configure. zcml translations/ browser/ productseries. py
lib/lp/
lib/lp/
lib/lp/ translations/ stories/ distribution/ xx-distribution -translations. txt
lib/lp/ translations/ stories/ importqueue/ xx-translation- import- queue-targets. txt
lib/lp/ translations/ stories/ productseries/ xx-productserie s-templates. txt
lib/lp/ translations/ stories/ productseries/ xx-productserie s-translation- export. txt
lib/lp/ translations/ stories/ productseries/ xx-productserie s-translations- bzr-request. txt
lib/lp/ translations/ stories/ productseries/ xx-productserie s-translations- settings. txt translations/ stories/ standalone/ xx-product- export. txt
lib/lp/
lib/lp/ translations/ stories/ standalone/ xx-productserie s-translations. txt
lib/lp/ translations/ stories/ standalone/ xx-rosetta- sourcepackage- list.txt translations/ stories/ standalone/ xx-sourcepackag e-export. txt
lib/lp/
lib/lp/ translations/ stories/ standalone/ xx-template- description- escaping. txt translations/ stories/ standalone/ xx-translations -xpi-import. txt
lib/lp/
lib/lp/ translations/ stories/ translationgrou ps/10-distro- translation- group.txt translations/ templates/ productseries- translations. pt translations/ templates/ sourcepackage- translations. pt
lib/lp/
lib/lp/