Merge lp:~danilo/launchpad/bug-429414 into lp:launchpad

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
Reviewer Review Type Date Requested Status
Aaron Bentley (community) Approve
Review via email: mp+11729@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Данило Шеган (danilo) wrote :

= Bug 429414 =

This branch converts productseries-translations.pt and
sourcepackage-translate.pt/object-translations.pt to 3.0 layout.

Along the way, sourcepackage-translate.pt is removed and
object-translations.pt is renamed to sourcepackage-translations.pt (to
match other templates like distroseries-translations,
distribution-translations, product-translations,...).

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
https://translations.launchpad.dev/firefox/trunk

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:
  lib/lp/translations/browser/configure.zcml
  lib/lp/translations/browser/productseries.py

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-productseries-templates.txt

lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt

lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt

lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt
  lib/lp/translations/stories/standalone/xx-product-export.txt

lib/lp/translations/stories/standalone/xx-productseries-translations.txt

lib/lp/translations/stories/standalone/xx-rosetta-sourcepackage-list.txt
  lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt

lib/lp/translations/stories/standalone/xx-template-description-escaping.txt
  lib/lp/translations/stories/standalone/xx-translations-xpi-import.txt

lib/lp/translations/stories/translationgroups/10-distro-translation-group.txt
  lib/lp/translations/templates/productseries-translations.pt
  lib/lp/translations/templates/sourcepackage-translations.pt

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
=== modified file 'lib/lp/translations/browser/configure.zcml'
--- lib/lp/translations/browser/configure.zcml 2009-09-14 15:35:34 +0000
+++ lib/lp/translations/browser/configure.zcml 2009-09-14 15:41:21 +0000
@@ -601,17 +601,9 @@
601 name="+potlist"601 name="+potlist"
602 template="../templates/object-pots.pt"/>602 template="../templates/object-pots.pt"/>
603 <browser:page603 <browser:page
604 name="+translate"
605 template="../templates/sourcepackage-translate.pt"/>
606 <browser:page
607 name="+translations"604 name="+translations"
608 template="../templates/object-translations.pt"/>605 template="../templates/sourcepackage-translations.pt"/>
609 </browser:pages>606 </browser:pages>
610 <browser:page
611 name="+translate"
612 for="lp.registry.interfaces.sourcepackage.ISourcePackage"
613 class="lp.translations.browser.translations.TranslateRedirectView"
614 permission="zope.Public"/>
615607
616<!-- ProductSeries translation pages -->608<!-- ProductSeries translation pages -->
617609
618610
=== modified file 'lib/lp/translations/browser/productseries.py'
--- lib/lp/translations/browser/productseries.py 2009-09-01 11:38:24 +0000
+++ lib/lp/translations/browser/productseries.py 2009-09-14 19:00:45 +0000
@@ -123,7 +123,7 @@
123 return "Download translations for %s" % self.download_description123 return "Download translations for %s" % self.download_description
124124
125125
126class ProductSeriesTranslationsMixin(object):126class ProductSeriesTranslationsMixin(TranslationsMixin):
127 """Common properties for all ProductSeriesTranslations*View classes."""127 """Common properties for all ProductSeriesTranslations*View classes."""
128128
129 @property129 @property
@@ -327,7 +327,7 @@
327 " recognised as a file that can be imported.")327 " recognised as a file that can be imported.")
328328
329329
330class ProductSeriesView(LaunchpadView, TranslationsMixin):330class ProductSeriesView(LaunchpadView, ProductSeriesTranslationsMixin):
331 """A view to show a series with translations."""331 """A view to show a series with translations."""
332 def initialize(self):332 def initialize(self):
333 """See `LaunchpadFormView`."""333 """See `LaunchpadFormView`."""
@@ -335,6 +335,13 @@
335 self.has_multiple_templates = (335 self.has_multiple_templates = (
336 self.context.getCurrentTranslationTemplates().count() > 1)336 self.context.getCurrentTranslationTemplates().count() > 1)
337337
338 self.has_exports_enabled = (
339 self.context.translations_branch is not None)
340
341 self.uses_bzr_sync = (
342 (self.context.branch is not None and self.has_imports_enabled) or
343 self.has_exports_enabled)
344
338 @property345 @property
339 def productserieslanguages(self):346 def productserieslanguages(self):
340 """Get ProductSeriesLanguage objects to display.347 """Get ProductSeriesLanguage objects to display.
341348
=== modified file 'lib/lp/translations/stories/distribution/xx-distribution-translations.txt'
--- lib/lp/translations/stories/distribution/xx-distribution-translations.txt 2009-09-14 13:47:28 +0000
+++ lib/lp/translations/stories/distribution/xx-distribution-translations.txt 2009-09-14 19:00:45 +0000
@@ -9,7 +9,7 @@
9 >>> browser.open('http://launchpad.dev/ubuntu')9 >>> browser.open('http://launchpad.dev/ubuntu')
10 >>> browser.getLink('Translations').click()10 >>> browser.getLink('Translations').click()
11 >>> print browser.title11 >>> print browser.title
12 Translating Ubuntu12 Translations : Ubuntu
1313
14Check that there aren't disabled languages shown here:14Check that there aren't disabled languages shown here:
1515
@@ -52,7 +52,7 @@
52And the other Ubuntu distributions should be there too.52And the other Ubuntu distributions should be there too.
5353
54 >>> content = find_main_content(browser.contents)54 >>> content = find_main_content(browser.contents)
55 >>> print extract_text(content.findAll('h2')[2])55 >>> print extract_text(content.findAll('h2')[1])
56 Other versions of Ubuntu56 Other versions of Ubuntu
5757
58 >>> print extract_text(content.find(id='distroseries-list'))58 >>> print extract_text(content.find(id='distroseries-list'))
@@ -94,7 +94,7 @@
94And the other Ubuntu distributions should be there too.94And the other Ubuntu distributions should be there too.
9595
96 >>> content = find_main_content(browser.contents)96 >>> content = find_main_content(browser.contents)
97 >>> print extract_text(content.findAll('h2')[2])97 >>> print extract_text(content.findAll('h2')[1])
98 Other versions of Debian98 Other versions of Debian
9999
100 >>> print extract_text(content.find(id='distroseries-list'))100 >>> print extract_text(content.find(id='distroseries-list'))
101101
=== modified file 'lib/lp/translations/stories/importqueue/xx-translation-import-queue-targets.txt'
--- lib/lp/translations/stories/importqueue/xx-translation-import-queue-targets.txt 2009-09-14 13:54:29 +0000
+++ lib/lp/translations/stories/importqueue/xx-translation-import-queue-targets.txt 2009-09-14 19:00:45 +0000
@@ -84,7 +84,7 @@
84The import queue is linked from the translations page for product series.84The import queue is linked from the translations page for product series.
8585
86 >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk')86 >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk')
87 >>> user_browser.getLink('Import queue').click()87 >>> user_browser.getLink('import queue').click()
8888
89This time, we do have content for this product:89This time, we do have content for this product:
9090
9191
=== modified file 'lib/lp/translations/stories/productseries/xx-productseries-templates.txt'
--- lib/lp/translations/stories/productseries/xx-productseries-templates.txt 2009-07-16 14:40:28 +0000
+++ lib/lp/translations/stories/productseries/xx-productseries-templates.txt 2009-09-14 19:00:45 +0000
@@ -11,7 +11,7 @@
1111
12 >>> user_browser.open(12 >>> user_browser.open(
13 ... 'http://translations.launchpad.dev/evolution/trunk')13 ... 'http://translations.launchpad.dev/evolution/trunk')
14 >>> user_browser.getLink('Templates')14 >>> user_browser.getLink('full list of templates')
15 Traceback (most recent call last):15 Traceback (most recent call last):
16 ...16 ...
17 LinkNotFoundError17 LinkNotFoundError
@@ -19,7 +19,7 @@
19 >>> browser = setupBrowser('Basic test@canonical.com:test')19 >>> browser = setupBrowser('Basic test@canonical.com:test')
20 >>> browser.open(20 >>> browser.open(
21 ... 'http://translations.launchpad.dev/evolution/trunk')21 ... 'http://translations.launchpad.dev/evolution/trunk')
22 >>> browser.getLink('Templates').click()22 >>> browser.getLink('full list of templates').click()
23 >>> print browser.url23 >>> print browser.url
24 http://translations.launchpad.dev/evolution/trunk/+templates24 http://translations.launchpad.dev/evolution/trunk/+templates
2525
2626
=== modified file 'lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt'
--- lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt 2009-09-12 07:25:21 +0000
+++ lib/lp/translations/stories/productseries/xx-productseries-translation-export.txt 2009-09-14 19:00:45 +0000
@@ -12,7 +12,7 @@
12productseries' translations page.12productseries' translations page.
1313
14 >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk/')14 >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk/')
15 >>> user_browser.getLink('Download').click()15 >>> user_browser.getLink('download').click()
16 >>> print user_browser.url16 >>> print user_browser.url
17 http://translations.launchpad.dev/evolution/trunk/+export17 http://translations.launchpad.dev/evolution/trunk/+export
1818
@@ -33,10 +33,10 @@
33not available to anonymous visitors.33not available to anonymous visitors.
3434
35 >>> anon_browser.open('http://translations.launchpad.dev/evolution/trunk/')35 >>> anon_browser.open('http://translations.launchpad.dev/evolution/trunk/')
36 >>> anon_browser.getLink('Download').click()36 >>> anon_browser.getLink('download')
37 Traceback (most recent call last):37 Traceback (most recent call last):
38 ...38 ...
39 Unauthorized:...39 LinkNotFoundError
4040
4141
42== Making the request ==42== Making the request ==
@@ -73,7 +73,7 @@
7373
74An alternative is MO.74An alternative is MO.
7575
76 >>> user_browser.getLink('Download').click()76 >>> user_browser.getLink('download').click()
77 >>> user_browser.getControl('Format:').value = ['PO']77 >>> user_browser.getControl('Format:').value = ['PO']
78 >>> user_browser.getControl('Request Download').click()78 >>> user_browser.getControl('Request Download').click()
79 >>> print user_browser.url79 >>> print user_browser.url
@@ -98,7 +98,7 @@
98link for "Download translations" is hidden.98link for "Download translations" is hidden.
9999
100 >>> user_browser.open('http://translations.launchpad.dev/bzr/')100 >>> user_browser.open('http://translations.launchpad.dev/bzr/')
101 >>> user_browser.getLink('Download')101 >>> user_browser.getLink('download')
102 Traceback (most recent call last):102 Traceback (most recent call last):
103 ...103 ...
104 LinkNotFoundError104 LinkNotFoundError
105105
=== modified file 'lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt'
--- lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt 2009-09-01 19:36:28 +0000
+++ lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.txt 2009-09-14 19:00:45 +0000
@@ -12,7 +12,7 @@
12 ... 'Basic test@canonical.com:test')12 ... 'Basic test@canonical.com:test')
13 >>> browser.open(13 >>> browser.open(
14 ... 'http://translations.launchpad.dev/evolution/trunk/')14 ... 'http://translations.launchpad.dev/evolution/trunk/')
15 >>> browser.getLink('Request Bazaar import').click()15 >>> browser.getLink('Request an import from bazaar').click()
16 >>> print browser.url16 >>> print browser.url
17 http://translations.l...d.dev/evolution/trunk/+request-bzr-import17 http://translations.l...d.dev/evolution/trunk/+request-bzr-import
1818
@@ -55,7 +55,7 @@
55 ... browser.contents, 'field.actions.request_import')55 ... browser.contents, 'field.actions.request_import')
56 >>> print request_button56 >>> print request_button
57 <input type="submit"...value="Request one-time import"...57 <input type="submit"...value="Request one-time import"...
58 >>> browser.getControl('Request one-time import').click()58 >>> browser.getControl("Request one-time import").click()
59 >>> print browser.url59 >>> print browser.url
60 http://translations.launchpad.dev/evolution/trunk60 http://translations.launchpad.dev/evolution/trunk
61 >>> print "\n".join(get_feedback_messages(browser.contents))61 >>> print "\n".join(get_feedback_messages(browser.contents))
6262
=== modified file 'lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt'
--- lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt 2009-07-10 12:49:30 +0000
+++ lib/lp/translations/stories/productseries/xx-productseries-translations-settings.txt 2009-09-14 19:00:45 +0000
@@ -12,7 +12,7 @@
12 ... 'Basic test@canonical.com:test')12 ... 'Basic test@canonical.com:test')
13 >>> browser.open(13 >>> browser.open(
14 ... 'http://translations.launchpad.dev/evolution/trunk/')14 ... 'http://translations.launchpad.dev/evolution/trunk/')
15 >>> browser.getLink('Settings').click()15 >>> browser.getLink('Set up branch synchronization').click()
16 >>> print browser.url16 >>> print browser.url
17 http://translations.l...d.dev/evolution/trunk/+translations-settings17 http://translations.l...d.dev/evolution/trunk/+translations-settings
1818
1919
=== modified file 'lib/lp/translations/stories/standalone/xx-product-export.txt'
--- lib/lp/translations/stories/standalone/xx-product-export.txt 2009-09-12 07:25:21 +0000
+++ lib/lp/translations/stories/standalone/xx-product-export.txt 2009-09-14 19:00:45 +0000
@@ -17,7 +17,7 @@
17first and requesting a download there.17first and requesting a download there.
1818
19 >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk')19 >>> user_browser.open('http://translations.launchpad.dev/evolution/trunk')
20 >>> user_browser.getLink('Download').click()20 >>> user_browser.getLink('download').click()
21 >>> user_browser.url21 >>> user_browser.url
22 'http://translations.launchpad.dev/evolution/trunk/+export'22 'http://translations.launchpad.dev/evolution/trunk/+export'
2323
2424
=== modified file 'lib/lp/translations/stories/standalone/xx-productseries-translations.txt'
--- lib/lp/translations/stories/standalone/xx-productseries-translations.txt 2009-07-03 14:17:21 +0000
+++ lib/lp/translations/stories/standalone/xx-productseries-translations.txt 2009-09-14 19:00:45 +0000
@@ -37,11 +37,11 @@
3737
38 >>> anon_browser.open(frobnicator_trunk_url)38 >>> anon_browser.open(frobnicator_trunk_url)
39 >>> print anon_browser.title39 >>> print anon_browser.title
40 Translations overview for Frobnicator trunk series40 Translations : Series trunk : Frobnicator
4141
42 >>> main_content = find_main_content(anon_browser.contents)42 >>> main_content = find_main_content(anon_browser.contents)
43 >>> print extract_text(main_content.findAll('h1')[0])43 >>> print extract_text(main_content.findAll('h1')[0])
44 Translations for Frobnicator trunk series44 Translation status by language
4545
46 >>> print_language_stats(anon_browser)46 >>> print_language_stats(anon_browser)
47 No translations.47 No translations.
4848
=== modified file 'lib/lp/translations/stories/standalone/xx-rosetta-sourcepackage-list.txt'
--- lib/lp/translations/stories/standalone/xx-rosetta-sourcepackage-list.txt 2009-07-01 20:45:39 +0000
+++ lib/lp/translations/stories/standalone/xx-rosetta-sourcepackage-list.txt 2009-09-14 15:41:21 +0000
@@ -7,13 +7,13 @@
7 >>> anon_browser.open(7 >>> anon_browser.open(
8 ... 'http://translations.launchpad.dev/ubuntu/hoary/'8 ... 'http://translations.launchpad.dev/ubuntu/hoary/'
9 ... '+source/evolution')9 ... '+source/evolution')
10 >>> print anon_browser.title.encode('ascii','backslashreplace')10 >>> anon_browser.title
11 Translation templates for evolution in Ubuntu Hoary11 '...evolution...package : Translations : 5.04 : Ubuntu'
1212
13 >>> content = find_main_content(anon_browser.contents)13 >>> content = find_main_content(anon_browser.contents)
14 >>> print extract_text(content.findAll('h1')[0]).encode(14 >>> print extract_text(content.findAll('h1')[0]).encode(
15 ... 'ascii','backslashreplace')15 ... 'ascii','backslashreplace')
16 Translation templates for evolution in Ubuntu Hoary16 Translation templates
1717
18There are two templates for evolution in Ubuntu Hoary18There are two templates for evolution in Ubuntu Hoary
1919
2020
=== modified file 'lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt'
--- lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt 2009-09-12 07:25:21 +0000
+++ lib/lp/translations/stories/standalone/xx-sourcepackage-export.txt 2009-09-14 15:41:21 +0000
@@ -15,7 +15,7 @@
15 >>> browser = setupBrowser(auth='Basic mark@example.com:test')15 >>> browser = setupBrowser(auth='Basic mark@example.com:test')
16 >>> browser.open(16 >>> browser.open(
17 ... 'http://translations.launchpad.dev/ubuntu/hoary/+source/mozilla/')17 ... 'http://translations.launchpad.dev/ubuntu/hoary/+source/mozilla/')
18 >>> download = browser.getLink('Download')18 >>> download = browser.getLink('download full tarball')
19 >>> download_url = download.url19 >>> download_url = download.url
20 >>> download.click()20 >>> download.click()
21 >>> print browser.url21 >>> print browser.url
@@ -42,7 +42,7 @@
42 ... 'http://translations.launchpad.dev/'42 ... 'http://translations.launchpad.dev/'
43 ... 'ubuntu/hoary/+source/mozilla/')43 ... 'ubuntu/hoary/+source/mozilla/')
44 ... try:44 ... try:
45 ... browser.getLink('Download').click()45 ... browser.getLink('download full tarball').click()
46 ... except LinkNotFoundError:46 ... except LinkNotFoundError:
47 ... see_link = False47 ... see_link = False
48 ... else:48 ... else:
4949
=== modified file 'lib/lp/translations/stories/standalone/xx-template-description-escaping.txt'
--- lib/lp/translations/stories/standalone/xx-template-description-escaping.txt 2009-07-27 08:05:02 +0000
+++ lib/lp/translations/stories/standalone/xx-template-description-escaping.txt 2009-09-14 15:41:21 +0000
@@ -30,7 +30,7 @@
30The same description also shows up on the +translate page for the30The same description also shows up on the +translate page for the
31package. Again,the URL is clickable.31package. Again,the URL is clickable.
3232
33 >>> description = find_description(package_url + '/+translate')33 >>> description = find_description(package_url + '/+translations')
34 >>> len(description)34 >>> len(description)
35 135 1
36 >>> print description[0]36 >>> print description[0]
3737
=== modified file 'lib/lp/translations/stories/standalone/xx-translations-xpi-import.txt'
--- lib/lp/translations/stories/standalone/xx-translations-xpi-import.txt 2009-09-01 19:36:28 +0000
+++ lib/lp/translations/stories/standalone/xx-translations-xpi-import.txt 2009-09-14 19:00:45 +0000
@@ -11,7 +11,7 @@
11Since we still don't have any POTemplates assigned, we must use the general11Since we still don't have any POTemplates assigned, we must use the general
12translations upload link.12translations upload link.
1313
14 >>> browser.getLink('Upload').click()14 >>> browser.getLink('upload').click()
15 >>> print browser.url15 >>> print browser.url
16 http://translations.launchpad.dev/firefox/trunk/+translations-upload16 http://translations.launchpad.dev/firefox/trunk/+translations-upload
1717
1818
=== modified file 'lib/lp/translations/stories/translationgroups/10-distro-translation-group.txt'
--- lib/lp/translations/stories/translationgroups/10-distro-translation-group.txt 2009-09-14 15:35:34 +0000
+++ lib/lp/translations/stories/translationgroups/10-distro-translation-group.txt 2009-09-14 19:00:45 +0000
@@ -13,7 +13,7 @@
1313
14 >>> anon_browser.getLink('Translations').click()14 >>> anon_browser.getLink('Translations').click()
15 >>> print anon_browser.title15 >>> print anon_browser.title
16 Translating Ubuntu16 Translations : Ubuntu
1717
18 >>> print extract_text(18 >>> print extract_text(
19 ... find_tag_by_id(anon_browser.contents, 'translation-permissions'))19 ... find_tag_by_id(anon_browser.contents, 'translation-permissions'))
@@ -58,7 +58,7 @@
58 ... 'The PolyGlot Translation Group']58 ... 'The PolyGlot Translation Group']
59 >>> ubuntu_owner_browser.getControl('Change').click()59 >>> ubuntu_owner_browser.getControl('Change').click()
60 >>> print ubuntu_owner_browser.title60 >>> print ubuntu_owner_browser.title
61 Translating Ubuntu61 Translations : Ubuntu
6262
63 >>> print extract_text(63 >>> print extract_text(
64 ... find_tag_by_id(ubuntu_owner_browser.contents,64 ... find_tag_by_id(ubuntu_owner_browser.contents,
@@ -70,7 +70,7 @@
7070
71 >>> anon_browser.reload()71 >>> anon_browser.reload()
72 >>> print anon_browser.title72 >>> print anon_browser.title
73 Translating Ubuntu73 Translations : Ubuntu
7474
75 >>> print extract_text(75 >>> print extract_text(
76 ... find_tag_by_id(anon_browser.contents, 'translation-permissions'))76 ... find_tag_by_id(anon_browser.contents, 'translation-permissions'))
7777
=== modified file 'lib/lp/translations/templates/productseries-translations.pt'
--- lib/lp/translations/templates/productseries-translations.pt 2009-09-10 19:07:11 +0000
+++ lib/lp/translations/templates/productseries-translations.pt 2009-09-14 19:00:45 +0000
@@ -2,22 +2,10 @@
2 xmlns="http://www.w3.org/1999/xhtml"2 xmlns="http://www.w3.org/1999/xhtml"
3 xmlns:tal="http://xml.zope.org/namespaces/tal"3 xmlns:tal="http://xml.zope.org/namespaces/tal"
4 xmlns:metal="http://xml.zope.org/namespaces/metal"4 xmlns:metal="http://xml.zope.org/namespaces/metal"
5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"5 metal:use-macro="view/macro:page/main_only"
6 xml:lang="en"
7 lang="en"
8 dir="ltr"
9 metal:use-macro="view/macro:page/onecolumn"
10 i18n:domain="launchpad"
11>6>
12 <body>7 <body>
13 <div metal:fill-slot="main">8 <div metal:fill-slot="main">
14 <h1>
15 Translations for
16 <tal:title replace="context/title">
17 evolution trunk
18 </tal:title>
19 </h1>
20
21 <ul class="helplinks">9 <ul class="helplinks">
22 <li>10 <li>
23 <a href="https://help.launchpad.net/Translations"11 <a href="https://help.launchpad.net/Translations"
@@ -27,7 +15,10 @@
27 </li>15 </li>
28 </ul>16 </ul>
2917
18 <h1>Translation status by language</h1>
19
30 <tal:no-languages condition="not:view/productserieslanguages">20 <tal:no-languages condition="not:view/productserieslanguages">
21 <div class="yui-b top-portlet">
31 <p>There are no translations for this release series.</p>22 <p>There are no translations for this release series.</p>
3223
33 <p tal:condition="context/product/required:launchpad.Edit">To24 <p tal:condition="context/product/required:launchpad.Edit">To
@@ -48,39 +39,130 @@
48 >import from branches</a>39 >import from branches</a>
49 (<a href="https://help.launchpad.net/Translations/ImportingFromBazaarBranches">read more</a>).40 (<a href="https://help.launchpad.net/Translations/ImportingFromBazaarBranches">read more</a>).
50 </p>41 </p>
5142 </div>
52 <tal:user condition="view/user">
53 <p tal:condition="not:view/user/languages">Please <a
54 tal:attributes="href string:${view/user/fmt:url}/+editlanguages">
55 set your languages</a> to start translating.</p>
56 </tal:user>
57 </tal:no-languages>43 </tal:no-languages>
5844
45 <div class="yui-g">
46 <div class="yui-u first">
47 <div class="portlet">
48 <h3>Permissions</h3>
49 <p>
50 <tal:permissions replace="
51 structure
52 context/product/@@+portlet-translation-groups-and-permission"/>
53 </p>
54 <p tal:condition="view/has_translation_documentation">
55 Before translating, please look at
56 <a tal:attributes="
57 href
58 context/product/translationgroup/translation_guide_url
59 ">translation instructions</a> first.
60 </p>
61 </div>
62 </div>
63
64 <div class="yui-u">
65 <div class="portlet">
66 <h3>Administration</h3>
67 <p>Translation files that are waiting to be imported are shown in
68 the
69 <a tal:attributes="href context/menu:navigation/imports/url">
70 import queue</a>.
71 </p>
72 <p tal:condition="context/required:launchpad.Edit">
73 To manage all the translation templates in
74 <tal:series replace="context/displayname">trunk</tal:series>,
75 see the
76 <a tal:attributes="href context/menu:navigation/templates/url">
77 full list of templates</a>.
78 </p>
79 </div>
80 </div>
81 </div>
82 <div class="yui-g">
83 <div class="yui-u first">
84 <div class="portlet">
85 <h3>Automatic synchronization</h3>
86 <tal:uses-bzr-sync condition="view/uses_bzr_sync">
87 <tal:imports condition="view/has_imports_enabled">
88 <tal:exports condition="view/has_exports_enabled">
89 Translations are imported with every update from branch
90 <a tal:replace="structure context/branch/fmt:link">
91 branch
92 </a>, and exported daily to branch
93 <a tal:replace="
94 structure context/translations_branch/fmt:link"
95 >branch name</a>.
96 </tal:exports>
97 </tal:imports>
98 <tal:imports-only condition="view/has_imports_enabled">
99 <tal:no-exports condition="not:view/has_exports_enabled">
100 Translations are imported with every update from branch
101 <a tal:replace="structure context/branch/fmt:link">
102 branch name
103 </a>.
104 </tal:no-exports>
105 </tal:imports-only>
106 <tal:exports-only condition="view/has_exports_enabled">
107 <tal:no-imports condition="not:view/has_imports_enabled">
108 Translations are exported daily to branch
109 <a tal:replace="
110 structure context/translations_branch/fmt:link">
111 branch name
112 </a>.
113 </tal:no-imports>
114 </tal:exports-only>
115 <div tal:condition="context/required:launchpad.Edit">
116 <a tal:attributes="href context/menu:navigation/settings/url"
117 class="edit sprite">
118 Change synchronization settings
119 </a>
120 </div>
121 </tal:uses-bzr-sync>
122 <tal:no-bzr-sync condition="not:view/uses_bzr_sync">
123 <p>This project is currently not using any synchronization
124 with bazaar branches.</p>
125 <tal:branch condition="context/branch">
126 <p>
127 <a tal:attributes="
128 href context/menu:navigation/requestbzrimport/url"
129 tal:condition="context/required:launchpad.Edit"
130 class="add sprite">
131 Request an import from bazaar
132 </a> to do a one time import of all the templates and
133 translations.
134 </p>
135 </tal:branch>
136 <div tal:condition="context/required:launchpad.Edit">
137 <a tal:attributes="href context/menu:navigation/settings/url"
138 class="edit sprite">
139 Set up branch synchronization
140 </a>
141 </div>
142 </tal:no-bzr-sync>
143 </div>
144 </div>
145 <div class="yui-u"
146 tal:condition="context/required:launchpad.AnyPerson">
147 <div class="portlet">
148 <h3>Manual synchronization</h3>
149 <p>If you don't want to use bazaar synchronization, you can still
150 manually
151 <a tal:attributes="href context/menu:navigation/translationupload/url"
152 tal:condition="context/required:launchpad.Edit"
153 class="add sprite">upload</a>
154 or
155 <a tal:attributes="href context/menu:navigation/translationdownload/url"
156 tal:condition="context/required:launchpad.AnyPerson"
157 class="download sprite">download</a>
158 translation tarballs.
159 </p>
160 </div>
161 </div>
162 </div>
163
59 <tal:languages condition="view/productserieslanguages">164 <tal:languages condition="view/productserieslanguages">
60 <p id="translation-permissions">165 <h2>Translation status</h2>
61 <tal:product replace="structure context/product/fmt:link">This
62 project</tal:product> is translated
63 <tal:hasgroup condition="context/product/translationgroup">by
64 <a tal:attributes="href context/product/translationgroup/fmt:url"
65 tal:content="context/product/translationgroup/title">translators</a>
66 </tal:hasgroup>
67 with <a target="help" href="/+help/permissions-policies.html"
68 tal:content="context/product/translationpermission/title">certain</a>
69 permissions.
70 <tal:permissions condition="context/product/required:launchpad.Edit">
71 You can modify permissions on the
72 <a
73 tal:define="link context/product/menu:navigation/settings"
74 tal:attributes="href link/url"
75 >project settings</a> page.
76 </tal:permissions>
77 </p>
78 <p tal:condition="view/has_translation_documentation">
79 Before translating, please look at
80 <a tal:attributes="
81 href
82 context/product/translationgroup/translation_guide_url
83 ">translation instructions</a> first.</p>
84166
85 <div tal:replace="structure context/@@+languages" />167 <div tal:replace="structure context/@@+languages" />
86168
87169
=== removed file 'lib/lp/translations/templates/sourcepackage-translate.pt'
--- lib/lp/translations/templates/sourcepackage-translate.pt 2009-07-17 17:59:07 +0000
+++ lib/lp/translations/templates/sourcepackage-translate.pt 1970-01-01 00:00:00 +0000
@@ -1,41 +0,0 @@
1<html
2 xmlns="http://www.w3.org/1999/xhtml"
3 xmlns:tal="http://xml.zope.org/namespaces/tal"
4 xmlns:metal="http://xml.zope.org/namespaces/metal"
5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"
6 xml:lang="en"
7 lang="en"
8 dir="ltr"
9 metal:use-macro="context/@@main_template/master"
10 i18n:domain="launchpad"
11>
12
13<body>
14
15<div metal:fill-slot="main">
16
17 <h1>Help translate
18 <span tal:replace="context/distribution/displayname">foo</span>!</h1>
19
20 <p>
21 Are you fluent in a language other than English?
22 If so, you can contribute to <span tal:replace="context/title" />
23 by translating it with Launchpad&#8217;s
24 <a href="/translations/">Translations</a> software.
25 You can translate as much as you like, whenever you like &#8212;
26 all you need is a Web browser.
27 </p>
28
29 <p>
30 To start, <a href="+translate/+login">get a Launchpad account</a>
31 if you don&#8217;t already have one.
32 Then choose a language below, and start translating.
33 It&#8217;s that easy.
34 </p>
35
36 <div tal:replace="structure context/@@+potlist" />
37
38</div>
39</body>
40</html>
41
420
=== renamed file 'lib/lp/translations/templates/object-translations.pt' => 'lib/lp/translations/templates/sourcepackage-translations.pt'
--- lib/lp/translations/templates/object-translations.pt 2009-07-17 17:59:07 +0000
+++ lib/lp/translations/templates/sourcepackage-translations.pt 2009-09-14 15:41:21 +0000
@@ -2,25 +2,10 @@
2 xmlns="http://www.w3.org/1999/xhtml"2 xmlns="http://www.w3.org/1999/xhtml"
3 xmlns:tal="http://xml.zope.org/namespaces/tal"3 xmlns:tal="http://xml.zope.org/namespaces/tal"
4 xmlns:metal="http://xml.zope.org/namespaces/metal"4 xmlns:metal="http://xml.zope.org/namespaces/metal"
5 xmlns:i18n="http://xml.zope.org/namespaces/i18n"5 metal:use-macro="view/macro:page/main_only"
6 xml:lang="en"6>
7 lang="en"
8 dir="ltr"
9 metal:use-macro="view/macro:page/onecolumn"
10 i18n:domain="launchpad"
11><!-- context/@@main_template/master
12 view/macro:page/onecolumn
13 -->
14
15 <body>7 <body>
16 <div metal:fill-slot="main">8 <div metal:fill-slot="main">
17 <h1>
18 Translation templates for
19 <tal:title replace="context/title">
20 evolution in Ubuntu Feisty
21 </tal:title>
22 </h1>
23
24 <ul class="helplinks">9 <ul class="helplinks">
25 <li>10 <li>
26 <a href="https://help.launchpad.net/Translations"11 <a href="https://help.launchpad.net/Translations"
@@ -30,7 +15,41 @@
30 </li>15 </li>
31 </ul>16 </ul>
3217
33 <div tal:replace="structure context/@@+potlist" />18 <h1>Translation templates</h1>
19
20 <div class="yui-g">
21 <div class="yui-u first">
22 <div class="portlet">
23 <h3>Permissions</h3>
24 <p>
25 <tal:permissions replace="
26 structure
27 context/distroseries/distribution/@@+portlet-translation-groups-and-permission"/>
28 </p>
29 </div>
30 </div>
31 <div class="yui-u">
32 <div class="portlet">
33 <h3>Administration</h3>
34 <p>Translation files that are waiting to be imported are shown in
35 the
36 <a tal:attributes="href context/menu:navigation/imports/url">
37 import queue</a>.
38 </p>
39 <p tal:condition="context/required:launchpad.ExpensiveRequest">
40 If you want to manually integrate translations for this package,
41 you can
42 <a tal:attributes="href context/menu:navigation/download/url">
43 download full tarball</a> with translations.
44 </p>
45 </div>
46 </div>
47 </div>
48
49 <div class="yui-b">
50 <div tal:replace="structure context/@@+potlist" />
51 </div>
52
34 </div>53 </div>
35 </body>54 </body>
36</html>55</html>
3756