Merge lp:~ursinha/launchpad/bug-418345-language-index-migration into lp:launchpad
- bug-418345-language-index-migration
- Merge into devel
Status: | Merged | ||||||||
---|---|---|---|---|---|---|---|---|---|
Merged at revision: | not available | ||||||||
Proposed branch: | lp:~ursinha/launchpad/bug-418345-language-index-migration | ||||||||
Merge into: | lp:launchpad | ||||||||
Diff against target: | None lines | ||||||||
To merge this branch: | bzr merge lp:~ursinha/launchpad/bug-418345-language-index-migration | ||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Guilherme Salgado (community) | Approve | ||
Review via email: mp+10857@code.launchpad.net |
This proposal supersedes a proposal from 2009-08-28.
Commit message
Description of the change
Ursula Junque (ursinha) wrote : Posted in a previous version of this proposal | # |
Guilherme Salgado (salgado) wrote : Posted in a previous version of this proposal | # |
Hi Ursula,
This looks good, but there are a few stylistic issues that need fixing,
so I'm just giving you some quick feedback, so that you can do these
changes with any other changes that come up during the UI review of
this.
review needs-fixing
On Fri, 2009-08-28 at 13:15 +0000, Ursula Junque wrote:
> = Summary =
>
> This branch migrates the template of language-index page to the new
> format.
> The bug that's tracking this change is bug 418345.
> It also has a fix for test_translatio
> relying on the database data order and started to fail.
> I've added a 3-line fix for bug 404898, because it wasn't worthy
> creating a separated branch for it. Besides, the fix is related to the
> main change here, that's bug 418345.
>
>
> == Pre-implementation notes ==
>
> It was discussed with rockstar about how to deal with the context menu
> now, and he said we should now use NavigationMenu instead of
> ContextMenu. So, considering nothing else in translations was using
> LanguageContext
> renamed it to LanguageNavigat
>
>
> == Tests ==
>
> This should test all changes, including a fix for
> test_translatio
> bin/test -vvt lp.translations.*
>
> To test specifically the template migration changes:
> bin/test -vvt xx-language
>
>
> == Demo and Q/A ==
>
> To check the changed pages, go to:
> - https:/
> As a regular user you should see the changed layout.
> As an admin user, you should also be able to see the 'Administer'
> link as well, in the new format.
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
> @@ -89,15 +89,16 @@
> >>> print browser.url
> http://
>
> - >>> pluralforms_portlet = find_portlet(
> + >>> pluralforms_portlet = find_portlet(
> >>> print pluralforms_portlet
> - <...
> - The amount of plural forms for Spanish is: 2
> + <div ...
> ...
> - And its default plural form expression is:
> + There are 2
> + plural forms for Spanish.
Our test suite runs with the NORMALIZE_
so you can join the two lines above and trim it to make the test a bit
more readable.
[1] http://
> ...
> <pre>n != 1</pre>
> ...
> + </div>
Why do you want to show that this is inside a <div> now?
>
> >>> translationteam
> ... browser.contents, 'Translation teams')
>
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
> @@ -3,99 +3,75 @@
> xmlns:tal="http://
...
Barry Warsaw (barry) wrote : Posted in a previous version of this proposal | # |
The language 'us' gives me a NotFound but 'en' works just fine and the ui looks great. You'll need a second mentat ui review. ui=me*
Ursula Junque (ursinha) wrote : Posted in a previous version of this proposal | # |
> = Summary =
>
> This branch migrates the template of language-index page to the new format.
> The bug that's tracking this change is bug 418345.
> It also has a fix for test_translatio
> database data order and started to fail.
> I've added a 3-line fix for bug 404898, because it wasn't worthy creating a
> separated branch for it. Besides, the fix is related to the main change here,
> that's bug 418345.
>
>
> == Pre-implementation notes ==
>
> It was discussed with rockstar about how to deal with the context menu now,
> and he said we should now use NavigationMenu instead of ContextMenu. So,
> considering nothing else in translations was using LanguageContext
> changed this to inherit NavigationMenu, and renamed it to
> LanguageNavigat
>
>
> == Tests ==
>
> This should test all changes, including a fix for
> test_translatio
> bin/test -vvt lp.translations.*
>
> To test specifically the template migration changes:
> bin/test -vvt xx-language
>
>
> == Demo and Q/A ==
>
> To check the changed pages, go to:
> - https:/
I'm sorry, the correct language is 'en'. This makes the correct link:
- https:/
> As a regular user you should see the changed layout.
> As an admin user, you should also be able to see the 'Administer' link as
> well, in the new format.
>
>
> = 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/
> lib/lp/
> lib/lp/
> lib/lp/
> lib/lp/
> lib/lp/
> lib/lp/
Ursula Junque (ursinha) wrote : Posted in a previous version of this proposal | # |
> Hi Ursula,
>
> This looks good, but there are a few stylistic issues that need fixing,
> so I'm just giving you some quick feedback, so that you can do these
> changes with any other changes that come up during the UI review of
> this.
>
> review needs-fixing
>
> On Fri, 2009-08-28 at 13:15 +0000, Ursula Junque wrote:
> > = Summary =
> >
> > This branch migrates the template of language-index page to the new
> > format.
> > The bug that's tracking this change is bug 418345.
> > It also has a fix for test_translatio
> > relying on the database data order and started to fail.
> > I've added a 3-line fix for bug 404898, because it wasn't worthy
> > creating a separated branch for it. Besides, the fix is related to the
> > main change here, that's bug 418345.
> >
> >
> > == Pre-implementation notes ==
> >
> > It was discussed with rockstar about how to deal with the context menu
> > now, and he said we should now use NavigationMenu instead of
> > ContextMenu. So, considering nothing else in translations was using
> > LanguageContext
> > renamed it to LanguageNavigat
> >
> >
> > == Tests ==
> >
> > This should test all changes, including a fix for
> > test_translatio
> > bin/test -vvt lp.translations.*
> >
> > To test specifically the template migration changes:
> > bin/test -vvt xx-language
> >
> >
> > == Demo and Q/A ==
> >
> > To check the changed pages, go to:
> > - https:/
> > As a regular user you should see the changed layout.
> > As an admin user, you should also be able to see the 'Administer'
> > link as well, in the new format.
>
> > === modified file 'lib/lp/
> > --- lib/lp/
> 20:45:39 +0000
> > +++ lib/lp/
> 09:10:18 +0000
> > @@ -89,15 +89,16 @@
> > >>> print browser.url
> > http://
> >
> > - >>> pluralforms_portlet = find_portlet(
> Forms')
> > + >>> pluralforms_portlet = find_portlet(
> forms')
> > >>> print pluralforms_portlet
> > - <...
> > - The amount of plural forms for Spanish is: 2
> > + <div ...
> > ...
> > - And its default plural form expression is:
> > + There are 2
> > + plural forms for Spanish.
>
> Our test suite runs with the NORMALIZE_
> so you can join the two lines above and trim it to make the test a bit
> more readable.
>
> [1] http://
Thanks for the information. Fixed.
>
> > ...
> > <pre>n != 1</pre>
> > ...
> > + </div>
>
> Why do you want to show that this is inside a <div> now?
I didn't, fixed.
>
> >
> > >>> translationteam
> > ... browser.contents, 'Translation teams')
> >
> > === modified file 'lib/lp/
> > --- lib/lp/transla...
Edwin Grubbs (edwin-grubbs) wrote : Posted in a previous version of this proposal | # |
ui=me
Guilherme Salgado (salgado) wrote : | # |
with the few changes we discussed on IRC, r=me
Preview Diff
1 | === modified file 'lib/lp/translations/browser/configure.zcml' |
2 | --- lib/lp/translations/browser/configure.zcml 2009-08-25 16:52:31 +0000 |
3 | +++ lib/lp/translations/browser/configure.zcml 2009-08-28 01:59:32 +0000 |
4 | @@ -295,7 +295,7 @@ |
5 | module="lp.translations.browser.language" |
6 | classes=" |
7 | LanguageSetContextMenu |
8 | - LanguageContextMenu"/> |
9 | + LanguageNavigationMenu"/> |
10 | <browser:url |
11 | for="canonical.launchpad.interfaces.ILanguage" |
12 | path_expression="code" |
13 | |
14 | === modified file 'lib/lp/translations/browser/language.py' |
15 | --- lib/lp/translations/browser/language.py 2009-08-24 13:50:42 +0000 |
16 | +++ lib/lp/translations/browser/language.py 2009-08-28 09:27:25 +0000 |
17 | @@ -6,7 +6,6 @@ |
18 | __metaclass__ = type |
19 | __all__ = [ |
20 | 'LanguageAddView', |
21 | - 'LanguageContextMenu', |
22 | 'LanguageAdminView', |
23 | 'LanguageSetContextMenu', |
24 | 'LanguageSetNavigation', |
25 | @@ -25,7 +24,7 @@ |
26 | from lp.translations.browser.translations import TranslationsMixin |
27 | from canonical.launchpad.webapp import ( |
28 | GetitemNavigation, LaunchpadView, LaunchpadFormView, |
29 | - LaunchpadEditFormView, action, canonical_url, ContextMenu, |
30 | + LaunchpadEditFormView, action, canonical_url, ContextMenu, NavigationMenu, |
31 | enabled_with_permission, Link, custom_widget) |
32 | |
33 | from canonical.widgets import LabeledMultiCheckBoxWidget |
34 | @@ -44,8 +43,9 @@ |
35 | return Link('+add', text, icon='add') |
36 | |
37 | |
38 | -class LanguageContextMenu(ContextMenu): |
39 | +class LanguageNavigationMenu(NavigationMenu): |
40 | usedfor = ILanguage |
41 | + facet = 'translations' |
42 | links = ['administer'] |
43 | |
44 | @enabled_with_permission('launchpad.Admin') |
45 | |
46 | === modified file 'lib/lp/translations/browser/tests/language-views.txt' |
47 | --- lib/lp/translations/browser/tests/language-views.txt 2009-08-24 13:49:14 +0000 |
48 | +++ lib/lp/translations/browser/tests/language-views.txt 2009-08-28 06:48:47 +0000 |
49 | @@ -10,25 +10,25 @@ |
50 | |
51 | >>> language_set = getUtility(ILanguageSet) |
52 | >>> language = language_set.getLanguageByCode('pt_BR') |
53 | - >>> language_view = create_view( |
54 | + >>> language_admin_view = create_view( |
55 | ... language, '+admin', layer=TranslationsLayer) |
56 | - >>> language_view.initialize() |
57 | + >>> language_admin_view.initialize() |
58 | |
59 | The language +admin view provides a label and a page_title for the page. |
60 | |
61 | - >>> print language_view.label |
62 | + >>> print language_admin_view.label |
63 | Edit Portuguese (Brazil) in Launchpad |
64 | |
65 | - >>> print language_view.page_title |
66 | + >>> print language_admin_view.page_title |
67 | Edit Portuguese (Brazil) (pt_BR) |
68 | |
69 | The view provides also a cancel_url and a next_url, but they're the same because |
70 | the previous and next steps of editing a language are returning to its index. |
71 | |
72 | - >>> print language_view.cancel_url |
73 | + >>> print language_admin_view.cancel_url |
74 | http://translations.launchpad.dev/+languages/pt_BR |
75 | |
76 | - >>> print language_view.next_url |
77 | + >>> print language_admin_view.next_url |
78 | http://translations.launchpad.dev/+languages/pt_BR |
79 | |
80 | |
81 | @@ -73,4 +73,3 @@ |
82 | >>> print language_add_view.next_url |
83 | http://translations.launchpad.dev/+languages/lp_US |
84 | |
85 | - |
86 | |
87 | === modified file 'lib/lp/translations/browser/tests/test_translationlinksaggregator.py' |
88 | --- lib/lp/translations/browser/tests/test_translationlinksaggregator.py 2009-08-25 10:35:29 +0000 |
89 | +++ lib/lp/translations/browser/tests/test_translationlinksaggregator.py 2009-08-28 08:01:51 +0000 |
90 | @@ -224,7 +224,7 @@ |
91 | (product, canonical_url(product_pofile), [product_pofile]), |
92 | (package, canonical_url(package_pofile), [package_pofile]), |
93 | ] |
94 | - self.assertEqual(expected, descriptions) |
95 | + self.assertContentEqual(expected, descriptions) |
96 | |
97 | def test_aggregate_bundles_productseries(self): |
98 | # _aggregateTranslationTargets describes POFiles for the same |
99 | |
100 | === modified file 'lib/lp/translations/stories/standalone/xx-language.txt' |
101 | --- lib/lp/translations/stories/standalone/xx-language.txt 2009-07-01 20:45:39 +0000 |
102 | +++ lib/lp/translations/stories/standalone/xx-language.txt 2009-08-28 15:43:29 +0000 |
103 | @@ -89,12 +89,11 @@ |
104 | >>> print browser.url |
105 | http://translations.launchpad.dev/+languages/es |
106 | |
107 | - >>> pluralforms_portlet = find_portlet(browser.contents, 'Plural Forms') |
108 | + >>> pluralforms_portlet = find_portlet(browser.contents, 'Plural forms') |
109 | >>> print pluralforms_portlet |
110 | - <... |
111 | - The amount of plural forms for Spanish is: 2 |
112 | + <div ... |
113 | ... |
114 | - And its default plural form expression is: |
115 | + There are 2 plural forms for Spanish. |
116 | ... |
117 | <pre>n != 1</pre> |
118 | ... |
119 | |
120 | === modified file 'lib/lp/translations/templates/language-index.pt' |
121 | --- lib/lp/translations/templates/language-index.pt 2009-07-17 17:59:07 +0000 |
122 | +++ lib/lp/translations/templates/language-index.pt 2009-08-28 15:42:38 +0000 |
123 | @@ -3,39 +3,12 @@ |
124 | xmlns:tal="http://xml.zope.org/namespaces/tal" |
125 | xmlns:metal="http://xml.zope.org/namespaces/metal" |
126 | xmlns:i18n="http://xml.zope.org/namespaces/i18n" |
127 | - xml:lang="en" |
128 | - lang="en" |
129 | - dir="ltr" |
130 | - metal:use-macro="context/@@main_template/master" |
131 | i18n:domain="launchpad" |
132 | + metal:use-macro="view/macro:page/main_side" |
133 | > |
134 | - <body> |
135 | - <metal:leftportlets fill-slot="portlets_one"> |
136 | - <div tal:replace="structure context/@@+portlet-details" /> |
137 | - </metal:leftportlets> |
138 | - |
139 | - <div metal:fill-slot="help"> |
140 | - <p> |
141 | - Here you see the information we have available about this language. |
142 | - </p> |
143 | - |
144 | - <p> |
145 | - If you see anything wrong with this information, please see whether it's |
146 | - already been brought up in the |
147 | - <a tal:attributes="href view/answers_url">Answers</a> application. |
148 | - If not, please file a question there. |
149 | - </p> |
150 | - |
151 | - <ul class="info"> |
152 | - <li> |
153 | - <a href="https://help.launchpad.net/RosettaFAQ" |
154 | - >Frequently asked questions</a> |
155 | - </li> |
156 | - </ul> |
157 | - </div> |
158 | - |
159 | - <div metal:fill-slot="main"> |
160 | - <h1>Overview of |
161 | +<body> |
162 | + <h1 metal:fill-slot="heading"> |
163 | + Overview of |
164 | <tal:has_nativename condition="context/nativename"> |
165 | <tal:nativename replace="context/nativename"> |
166 | Español |
167 | @@ -43,47 +16,41 @@ |
168 | </tal:has_nativename> |
169 | <tal:englishname replace="context/englishname">Spain</tal:englishname> |
170 | <tal:has_nativename condition="context/nativename">)</tal:has_nativename> |
171 | - in Launchpad. |
172 | - </h1> |
173 | - |
174 | - <tal:not-visible condition="not:context/visible"> |
175 | - This language is not usually displayed in lists of languages. You will |
176 | - have to select it specially in your <a href="/+editmylanguages">language |
177 | - preferences</a> in order to see it. |
178 | - </tal:not-visible> |
179 | - |
180 | - <div class="left"> |
181 | - <div class="section"> |
182 | + in Launchpad |
183 | + </h1> |
184 | + |
185 | + <tal:side metal:fill-slot="side"> |
186 | + <div tal:replace="structure context/@@+global-actions" /> |
187 | + <div tal:replace="structure context/@@+portlet-details" /> |
188 | + </tal:side> |
189 | + |
190 | + |
191 | + <tal:main metal:fill-slot="main"> |
192 | + <div class="yui-g"> |
193 | + <div class="yui-u first"> |
194 | <div class="portlet"> |
195 | - <h2>Plural Forms</h2> |
196 | - <p> |
197 | - When translating into this language, you need to be able to |
198 | - express plural forms effectively. The plural form expression tells |
199 | - the translation system when to use each plural form. For example, |
200 | - some languages express the idea of "zero objects" differently to |
201 | - "one object" or "more than ten objects". In these cases, the |
202 | - plural form expression captures the information needed to know |
203 | - which form to use based on the number in question. |
204 | - </p> |
205 | + <h2>Plural forms</h2> |
206 | <tal:has_pluralforms condition="context/pluralexpression"> |
207 | <p> |
208 | - The amount of plural forms for |
209 | - <tal:language replace="view/language_name"> |
210 | - Español |
211 | - </tal:language> |
212 | - is: |
213 | - <tal:pluralforms replace="context/pluralforms"> |
214 | - 2 |
215 | - </tal:pluralforms> |
216 | - </p> |
217 | - <p> |
218 | - And its default plural form expression is: |
219 | - </p> |
220 | - <p> |
221 | + There are <tal:pluralforms replace="context/pluralforms">2</tal:pluralforms> |
222 | + plural forms for <tal:language replace="view/language_name">Español</tal:language>. |
223 | + </p> |
224 | + <p> |
225 | + The default plural form expression for <tal:language replace="view/language_name">Español</tal:language> is: |
226 | <pre tal:content="context/pluralexpression"> |
227 | n != 1 |
228 | </pre> |
229 | </p> |
230 | + <p></p> |
231 | + <p> |
232 | + When translating into this language, you need to be able to |
233 | + express plural forms effectively. The plural form expression tells |
234 | + the translation system when to use each plural form. For example, |
235 | + some languages express the idea of "zero objects" differently to |
236 | + "one object" or "more than ten objects". In these cases, the |
237 | + plural form expression captures the information needed to know |
238 | + which form to use based on the number in question. |
239 | + </p> |
240 | </tal:has_pluralforms> |
241 | <tal:has_not_pluralforms condition="not:context/pluralexpression"> |
242 | <p class="helpwanted"> |
243 | @@ -95,7 +62,14 @@ |
244 | </tal:has_not_pluralforms> |
245 | </div> |
246 | </div> |
247 | - <div class="section"> |
248 | + |
249 | + <div class="yui-u"> |
250 | + <div tal:content="structure context/@@+portlet-top-contributors" /> |
251 | + </div> |
252 | + </div> |
253 | + |
254 | + <div class="yui-g"> |
255 | + <div class="first yui-u"> |
256 | <div class="portlet"> |
257 | <h2>Translation teams</h2> |
258 | <p tal:condition="view/translation_teams"> |
259 | @@ -110,25 +84,25 @@ |
260 | <tr tal:repeat="expert_info view/translation_teams"> |
261 | <td> |
262 | <img tal:condition="expert_info/expert/isTeam" |
263 | - src="/@@/team" /> |
264 | + src="/@@/team" /> |
265 | <img tal:condition="not:expert_info/expert/isTeam" |
266 | - src="/@@/person" /> |
267 | + src="/@@/person" /> |
268 | </td> |
269 | <td> |
270 | <div> |
271 | <a |
272 | - tal:attributes=" |
273 | - href expert_info/expert/fmt:url; |
274 | - title expert_info/expert/displayname/fmt:shorten/80" |
275 | - tal:content="expert_info/expert/displayname" |
276 | - >Expert name</a>( |
277 | - <tal:groups repeat="group expert_info/groups"> |
278 | - <a tal:attributes=" |
279 | - href group/fmt:url; |
280 | - title group/title/fmt:shorten/80" |
281 | - tal:content="group/title" |
282 | - >Translation group title</a> |
283 | - </tal:groups>) |
284 | + tal:attributes=" |
285 | + href expert_info/expert/fmt:url; |
286 | + title expert_info/expert/displayname/fmt:shorten/80" |
287 | + tal:content="expert_info/expert/displayname" |
288 | + >Expert name</a>( |
289 | + <tal:groups repeat="group expert_info/groups"> |
290 | + <a tal:attributes=" |
291 | + href group/fmt:url; |
292 | + title group/title/fmt:shorten/80" |
293 | + tal:content="group/title" |
294 | + >Translation group title</a> |
295 | + </tal:groups>) |
296 | </div> |
297 | </td> |
298 | </tr> |
299 | @@ -141,9 +115,8 @@ |
300 | </p> |
301 | </div> |
302 | </div> |
303 | - </div> |
304 | - <div class="right"> |
305 | - <div class="section"> |
306 | + |
307 | + <div class="yui-u"> |
308 | <div class="portlet"> |
309 | <h2>Countries</h2> |
310 | <tal:has_countries condition="context/countries"> |
311 | @@ -151,29 +124,31 @@ |
312 | <tal:language replace="view/language_name"> |
313 | Español |
314 | </tal:language> |
315 | - is registered as being spoken in the following countries: |
316 | + is registered as being spoken in the following countries: |
317 | </p> |
318 | <ul> |
319 | <li tal:repeat="country context/countries" |
320 | - tal:content="country/name">Spain</li> |
321 | + tal:content="country/name">Spain</li> |
322 | </ul> |
323 | </tal:has_countries> |
324 | <tal:has_not_countries condition="not:context/countries"> |
325 | - <p class="helpwanted"> |
326 | - <tal:language replace="view/language_name"> |
327 | - Español |
328 | - </tal:language> |
329 | - is not registered as being spoken in any country. If you know |
330 | - about a country that officially speaks this language, please |
331 | - open a <a href="/rosetta/+addticket">ticket</a> with that |
332 | - information, so we can add it to Launchpad. |
333 | - </p> |
334 | + <p class="helpwanted"> |
335 | + <tal:language replace="view/language_name"> |
336 | + Español |
337 | + </tal:language> |
338 | + is not registered as being spoken in any country. If you know |
339 | + about a country that officially speaks this language, please |
340 | + open a <a href="/rosetta/+addticket">ticket</a> with that |
341 | + information, so we can add it to Launchpad. |
342 | + </p> |
343 | </tal:has_not_countries> |
344 | </div> |
345 | </div> |
346 | - <div class="section" |
347 | - tal:content="structure context/@@+portlet-top-contributors" /> |
348 | + |
349 | </div> |
350 | - </div> |
351 | - </body> |
352 | + |
353 | + </tal:main> |
354 | + |
355 | + |
356 | +</body> |
357 | </html> |
358 | |
359 | === modified file 'lib/lp/translations/templates/language-portlet-top-contributors.pt' |
360 | --- lib/lp/translations/templates/language-portlet-top-contributors.pt 2009-07-17 17:59:07 +0000 |
361 | +++ lib/lp/translations/templates/language-portlet-top-contributors.pt 2009-08-28 15:40:27 +0000 |
362 | @@ -13,10 +13,9 @@ |
363 | Español |
364 | </tal:language_name>: |
365 | </p> |
366 | - <ul class="person"> |
367 | + <ul> |
368 | <li tal:repeat="contributor view/getTopContributors"> |
369 | - <a tal:content="contributor/displayname" |
370 | - tal:attributes="href contributor/fmt:url">Guilherme Salgado</a> |
371 | + <a tal:replace="structure contributor/fmt:link">Guilherme Salgado</a> |
372 | </li> |
373 | </ul> |
374 | </div> |
= Summary =
This branch migrates the template of language-index page to the new format. nlinksaggregato r, that was relying on the database data order and started to fail.
The bug that's tracking this change is bug 418345.
It also has a fix for test_translatio
I've added a 3-line fix for bug 404898, because it wasn't worthy creating a separated branch for it. Besides, the fix is related to the main change here, that's bug 418345.
== Pre-implementation notes ==
It was discussed with rockstar about how to deal with the context menu now, and he said we should now use NavigationMenu instead of ContextMenu. So, considering nothing else in translations was using LanguageContext Menu, I've changed this to inherit NavigationMenu, and renamed it to LanguageNavigat ionMenu.
== Tests ==
This should test all changes, including a fix for test_translatio nlinksaggregato r:
bin/test -vvt lp.translations.*
To test specifically the template migration changes:
bin/test -vvt xx-language
== Demo and Q/A ==
To check the changed pages, go to: /translations. launchpad. dev/+languages/ us
- https:/
As a regular user you should see the changed layout.
As an admin user, you should also be able to see the 'Administer' link as well, in the new format.
= 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/ tests/language- views.txt translations/ browser/ language. py translations/ browser/ tests/test_ translationlink saggregator. py translations/ templates/ language- index.pt translations/ stories/ standalone/ xx-language. txt translations/ templates/ language- portlet- top-contributor s.pt
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/