Commit 7397ed196b1698eec3baefe63ad1dab572863593
Exists in
master
and in
4 other branches
Merge pull request #96 from colab/colab_search
Colab search
Showing
17 changed files
with
1301 additions
and
1473 deletions
Show diff stats
colab/accounts/search_indexes.py
... | ... | @@ -22,6 +22,7 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): |
22 | 22 | google_talk = indexes.CharField(model_attr='google_talk', null=True, |
23 | 23 | stored=False) |
24 | 24 | webpage = indexes.CharField(model_attr='webpage', null=True, stored=False) |
25 | + date_joined = indexes.DateTimeField(model_attr='date_joined') | |
25 | 26 | |
26 | 27 | def get_model(self): |
27 | 28 | return User | ... | ... |
colab/accounts/templates/search/user_search_preview.html
0 → 100644
... | ... | @@ -0,0 +1,17 @@ |
1 | +{% load i18n tz highlight gravatar date_format %} | |
2 | + | |
3 | +<div class="row"> | |
4 | + <div class="col-md-2 center"> | |
5 | + <a href="{% url 'user_profile' username=result.username %}"> | |
6 | + {% block gravatar_img %}{% gravatar result.email 100 %}{% endblock gravatar_img %} | |
7 | + </a> | |
8 | + </div> | |
9 | + <div class="col-md-10"> | |
10 | + <strong><a href="{% url 'user_profile' username=result.username %}"><h4>{{ result.name }}</h4></a></strong> | |
11 | + <small><strong>{% trans "Since" %}: {% date_format result.date_joined %}</strong></small><br> | |
12 | + <small>{% trans "Registered in" %}: <strong>{% trans "User" %}</strong></small><br> | |
13 | + </div> | |
14 | +</div> | |
15 | +<div class="row"> | |
16 | + <hr> | |
17 | +</div> | |
0 | 18 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,20 @@ |
1 | +from django import template | |
2 | +from django.utils.translation import ugettext as _ | |
3 | +register = template.Library() | |
4 | + | |
5 | + | |
6 | +@register.simple_tag(takes_context=True) | |
7 | +def date_format(context, date): | |
8 | + formatted_date = _('%(m)s %(d)s %(y)s' % {'m': date.strftime('%B'), | |
9 | + 'd': date.day, | |
10 | + 'y': date.year}) | |
11 | + return formatted_date | |
12 | + | |
13 | + | |
14 | +@register.simple_tag(takes_context=True) | |
15 | +def datetime_format(context, date): | |
16 | + formatted_date = date_format(context, date) | |
17 | + formatted_time = _('%(hour)s:%(min)s' % {'hour': date.hour, | |
18 | + 'min': date.strftime('%I')}) | |
19 | + formatted_datetime = _('%s at %s' % (formatted_date, formatted_time)) | |
20 | + return formatted_datetime | ... | ... |
colab/locale/en/LC_MESSAGES/django.po
1 | 1 | # SOME DESCRIPTIVE TITLE. |
2 | 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
3 | 3 | # This file is distributed under the same license as the PACKAGE package. |
4 | -# | |
4 | +# | |
5 | 5 | # Translators: |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: colab\n" |
9 | 9 | "Report-Msgid-Bugs-To: \n" |
10 | -"POT-Creation-Date: 2015-09-01 13:15+0000\n" | |
10 | +"POT-Creation-Date: 2015-10-27 13:48+0000\n" | |
11 | 11 | "PO-Revision-Date: 2015-09-04 19:21+0000\n" |
12 | 12 | "Last-Translator: Lucas Kanashiro Duarte <kanashiro.duarte@gmail.com>\n" |
13 | 13 | "Language-Team: English (http://www.transifex.com/colab/colab/language/en/)\n" |
14 | +"Language: en\n" | |
14 | 15 | "MIME-Version: 1.0\n" |
15 | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
16 | 17 | "Content-Transfer-Encoding: 8bit\n" |
17 | -"Language: en\n" | |
18 | 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" |
19 | 19 | |
20 | -#: accounts/admin.py:18 | |
21 | -msgid "Personal info" | |
22 | -msgstr "Personal info" | |
20 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:21 | |
21 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:21 | |
22 | +msgid "Code" | |
23 | +msgstr "Code" | |
23 | 24 | |
24 | -#: accounts/admin.py:24 | |
25 | -msgid "Permissions" | |
26 | -msgstr "Permissions" | |
25 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:26 | |
26 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:26 | |
27 | +#, fuzzy | |
28 | +#| msgid "Gitlab Projects" | |
29 | +msgid "Public Projects" | |
30 | +msgstr "Gitlab Projects" | |
27 | 31 | |
28 | -#: accounts/admin.py:28 | |
29 | -msgid "Important dates" | |
30 | -msgstr "Important dates" | |
32 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:28 | |
33 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:30 | |
34 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:28 | |
35 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:30 | |
36 | +#, fuzzy | |
37 | +#| msgid "My Profile" | |
38 | +msgid "Profile" | |
39 | +msgstr "My Profile" | |
31 | 40 | |
32 | -#: accounts/forms.py:37 | |
33 | -msgid "Social account does not exist" | |
34 | -msgstr "Social account does not exist" | |
41 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:30 | |
42 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:30 | |
43 | +#, fuzzy | |
44 | +#| msgid "Gitlab Project" | |
45 | +msgid "New Project" | |
46 | +msgstr "Gitlab Project" | |
35 | 47 | |
36 | -#: accounts/forms.py:65 accounts/forms.py:71 accounts/forms.py:77 | |
37 | -msgid "This field cannot be blank." | |
38 | -msgstr "This field cannot be blank." | |
48 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:32 | |
49 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:32 | |
50 | +#, fuzzy | |
51 | +#| msgid "Gitlab Projects" | |
52 | +msgid "Projects" | |
53 | +msgstr "Gitlab Projects" | |
39 | 54 | |
40 | -#: accounts/forms.py:118 accounts/templates/accounts/user_detail.html:38 | |
41 | -msgid "Bio" | |
42 | -msgstr "Bio" | |
55 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:34 | |
56 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:34 | |
57 | +msgid "Groups" | |
58 | +msgstr "Groups" | |
43 | 59 | |
44 | -#: accounts/forms.py:119 | |
45 | -msgid "Write something about you in 200 characters or less." | |
46 | -msgstr "Write something about you in 200 characters or less." | |
60 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:36 | |
61 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:36 | |
62 | +#, fuzzy | |
63 | +#| msgid "Gitlab Issues" | |
64 | +msgid "Issues" | |
65 | +msgstr "Gitlab Issues" | |
47 | 66 | |
48 | -#: accounts/forms.py:148 | |
49 | -msgid "Mailing lists" | |
50 | -msgstr "Mailing lists" | |
67 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:38 | |
68 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:38 | |
69 | +#, fuzzy | |
70 | +#| msgid "Gitlab Merge Requests" | |
71 | +msgid "Merge Requests" | |
72 | +msgstr "Gitlab Merge Requests" | |
51 | 73 | |
52 | -#: accounts/forms.py:161 | |
53 | -#, python-format | |
54 | -msgid "Email already used. Is it you? Please <a href='%(url)s'>login</a>" | |
55 | -msgstr "Email already used. Is it you? Please <a href='%(url)s'>login</a>" | |
74 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:21 | |
75 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:21 | |
76 | +msgid "Social" | |
77 | +msgstr "" | |
56 | 78 | |
57 | -#: accounts/forms.py:163 | |
58 | -msgid "A user with that username already exists." | |
59 | -msgstr "A user with that username already exists." | |
79 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:26 | |
80 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:26 | |
81 | +#, fuzzy | |
82 | +#| msgid "Username" | |
83 | +msgid "Users" | |
84 | +msgstr "Username" | |
60 | 85 | |
61 | -#: accounts/forms.py:164 accounts/forms.py:401 accounts/forms.py:465 | |
62 | -msgid "The two password fields didn't match." | |
63 | -msgstr "The two password fields didn't match." | |
86 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:28 | |
87 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:28 | |
88 | +msgid "Communities" | |
89 | +msgstr "Communities" | |
64 | 90 | |
65 | -#: accounts/forms.py:166 accounts/forms.py:236 search/forms.py:38 | |
66 | -msgid "Username" | |
67 | -msgstr "Username" | |
91 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:32 | |
92 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:32 | |
93 | +msgid "Control Panel" | |
94 | +msgstr "" | |
68 | 95 | |
69 | -#: accounts/forms.py:173 accounts/forms.py:240 accounts/forms.py:277 | |
70 | -#: accounts/forms.py:467 | |
71 | -msgid "Password" | |
72 | -msgstr "Password" | |
96 | +#~ msgid "Personal info" | |
97 | +#~ msgstr "Personal info" | |
73 | 98 | |
74 | -#: accounts/forms.py:175 | |
75 | -msgid "Password confirmation" | |
76 | -msgstr "Password confirmation" | |
99 | +#~ msgid "Permissions" | |
100 | +#~ msgstr "Permissions" | |
77 | 101 | |
78 | -#: accounts/forms.py:237 accounts/models.py:78 | |
79 | -msgid "Required. 30 characters or fewer. Letters and digits." | |
80 | -msgstr "Required. 30 characters or fewer. Letters and digits." | |
102 | +#~ msgid "Important dates" | |
103 | +#~ msgstr "Important dates" | |
81 | 104 | |
82 | -#: accounts/forms.py:239 | |
83 | -msgid "This value may contain only letters and numbers." | |
84 | -msgstr "This value may contain only letters and numbers." | |
105 | +#~ msgid "Social account does not exist" | |
106 | +#~ msgstr "Social account does not exist" | |
85 | 107 | |
86 | -#: accounts/forms.py:241 | |
87 | -msgid "" | |
88 | -"Raw passwords are not stored, so there is no way to see this user's " | |
89 | -"password, but you can change the password using <a href=\"password/\">this " | |
90 | -"form</a>." | |
91 | -msgstr "Raw passwords are not stored, so there is no way to see this user's password, but you can change the password using <a href=\"password/\">this form</a>." | |
108 | +#~ msgid "This field cannot be blank." | |
109 | +#~ msgstr "This field cannot be blank." | |
92 | 110 | |
93 | -#: accounts/forms.py:280 | |
94 | -#, python-format | |
95 | -msgid "" | |
96 | -"Please enter a correct %(username)s and password. Note that both fields may " | |
97 | -"be case-sensitive." | |
98 | -msgstr "Please enter a correct %(username)s and password. Note that both fields may be case-sensitive." | |
99 | - | |
100 | -#: accounts/forms.py:282 | |
101 | -msgid "This account is inactive." | |
102 | -msgstr "This account is inactive." | |
103 | - | |
104 | -#: accounts/forms.py:345 | |
105 | -msgid "Email" | |
106 | -msgstr "Email" | |
107 | - | |
108 | -#: accounts/forms.py:403 | |
109 | -msgid "New password" | |
110 | -msgstr "New password" | |
111 | - | |
112 | -#: accounts/forms.py:405 | |
113 | -msgid "New password confirmation" | |
114 | -msgstr "New password confirmation" | |
115 | - | |
116 | -#: accounts/forms.py:436 | |
117 | -msgid "Your old password was entered incorrectly. Please enter it again." | |
118 | -msgstr "Your old password was entered incorrectly. Please enter it again." | |
119 | - | |
120 | -#: accounts/forms.py:439 | |
121 | -msgid "Old password" | |
122 | -msgstr "Old password" | |
123 | - | |
124 | -#: accounts/forms.py:469 | |
125 | -msgid "Password (again)" | |
126 | -msgstr "Password (again)" | |
127 | - | |
128 | -#: accounts/models.py:82 | |
129 | -msgid "Enter a valid username." | |
130 | -msgstr "Enter a valid username." | |
131 | - | |
132 | -#: accounts/templates/accounts/manage_subscriptions.html:6 | |
133 | -msgid "Group Subscriptions" | |
134 | -msgstr "Group Subscriptions" | |
135 | - | |
136 | -#: accounts/templates/accounts/manage_subscriptions.html:36 | |
137 | -msgid "Update subscriptions" | |
138 | -msgstr "Update subscriptions" | |
139 | - | |
140 | -#: accounts/templates/accounts/user_create_form.html:5 | |
141 | -msgid "Sign up" | |
142 | -msgstr "Sign up" | |
143 | - | |
144 | -#: accounts/templates/accounts/user_create_form.html:10 | |
145 | -#: accounts/templates/registration/login.html:14 | |
146 | -#: accounts/templates/registration/password_change_form_custom.html:12 | |
147 | -#: accounts/templates/registration/password_reset_confirm_custom.html:14 | |
148 | -#: accounts/templates/registration/password_reset_form_custom.html:9 | |
149 | -msgid "Please correct the errors below and try again." | |
150 | -msgstr "Please correct the errors below and try again." | |
151 | - | |
152 | -#: accounts/templates/accounts/user_create_form.html:17 | |
153 | -msgid "Required fields" | |
154 | -msgstr "Required fields" | |
155 | - | |
156 | -#: accounts/templates/accounts/user_create_form.html:29 | |
157 | -msgid "Personal Information" | |
158 | -msgstr "Personal Information" | |
159 | - | |
160 | -#: accounts/templates/accounts/user_create_form.html:46 | |
161 | -msgid "Subscribe to groups" | |
162 | -msgstr "Subscribe to groups" | |
163 | - | |
164 | -#: accounts/templates/accounts/user_create_form.html:60 | |
165 | -#: templates/base.html:100 templates/base.html.py:105 templates/header.html:40 | |
166 | -#: templates/header.html.py:45 | |
167 | -msgid "Register" | |
168 | -msgstr "Register" | |
169 | - | |
170 | -#: accounts/templates/accounts/user_detail.html:8 | |
171 | -msgid "Messages" | |
172 | -msgstr "Messages" | |
173 | - | |
174 | -#: accounts/templates/accounts/user_detail.html:9 templates/home.html:7 | |
175 | -msgid "Contributions" | |
176 | -msgstr "Contributions" | |
177 | - | |
178 | -#: accounts/templates/accounts/user_detail.html:29 | |
179 | -msgid "edit profile" | |
180 | -msgstr "edit profile" | |
181 | - | |
182 | -#: accounts/templates/accounts/user_detail.html:30 | |
183 | -msgid "group membership" | |
184 | -msgstr "group membership" | |
185 | - | |
186 | -#: accounts/templates/accounts/user_detail.html:66 | |
187 | -msgid "Twitter account" | |
188 | -msgstr "Twitter account" | |
189 | - | |
190 | -#: accounts/templates/accounts/user_detail.html:69 | |
191 | -msgid "Facebook account" | |
192 | -msgstr "Facebook account" | |
193 | - | |
194 | -#: accounts/templates/accounts/user_detail.html:74 | |
195 | -msgid "Google talk account" | |
196 | -msgstr "Google talk account" | |
197 | - | |
198 | -#: accounts/templates/accounts/user_detail.html:78 | |
199 | -msgid "Github account" | |
200 | -msgstr "Github account" | |
201 | - | |
202 | -#: accounts/templates/accounts/user_detail.html:82 | |
203 | -msgid "Personal webpage" | |
204 | -msgstr "Personal webpage" | |
205 | - | |
206 | -#: accounts/templates/accounts/user_detail.html:88 | |
207 | -msgid "Groups: " | |
208 | -msgstr "Groups: " | |
209 | - | |
210 | -#: accounts/templates/accounts/user_detail.html:101 | |
211 | -msgid "Collaborations by Type" | |
212 | -msgstr "Collaborations by Type" | |
213 | - | |
214 | -#: accounts/templates/accounts/user_detail.html:117 | |
215 | -msgid "Participation by Group" | |
216 | -msgstr "Participation by Group" | |
217 | - | |
218 | -#: accounts/templates/accounts/user_detail.html:133 | |
219 | -msgid "Latest posted" | |
220 | -msgstr "Latest posted" | |
221 | - | |
222 | -#: accounts/templates/accounts/user_detail.html:138 | |
223 | -msgid "There are no posts by this user so far." | |
224 | -msgstr "There are no posts by this user so far." | |
225 | - | |
226 | -#: accounts/templates/accounts/user_detail.html:142 | |
227 | -msgid "View more posts..." | |
228 | -msgstr "View more posts..." | |
229 | - | |
230 | -#: accounts/templates/accounts/user_detail.html:148 | |
231 | -msgid "Latest contributions" | |
232 | -msgstr "Latest contributions" | |
233 | - | |
234 | -#: accounts/templates/accounts/user_detail.html:153 | |
235 | -msgid "No contributions of this user so far." | |
236 | -msgstr "No contributions of this user so far." | |
237 | - | |
238 | -#: accounts/templates/accounts/user_detail.html:157 | |
239 | -msgid "View more contributions..." | |
240 | -msgstr "View more contributions..." | |
241 | - | |
242 | -#: accounts/templates/accounts/user_update_form.html:65 | |
243 | -msgid "We sent a verification email to " | |
244 | -msgstr "We sent a verification email to " | |
245 | - | |
246 | -#: accounts/templates/accounts/user_update_form.html:66 | |
247 | -msgid "Please follow the instructions in it." | |
248 | -msgstr "Please follow the instructions in it." | |
249 | - | |
250 | -#: accounts/templates/accounts/user_update_form.html:110 | |
251 | -msgid "profile information" | |
252 | -msgstr "profile information" | |
253 | - | |
254 | -#: accounts/templates/accounts/user_update_form.html:115 | |
255 | -msgid "Change your avatar at Gravatar.com" | |
256 | -msgstr "Change your avatar at Gravatar.com" | |
257 | - | |
258 | -#: accounts/templates/accounts/user_update_form.html:142 search/utils.py:56 | |
259 | -msgid "Emails" | |
260 | -msgstr "Emails" | |
261 | - | |
262 | -#: accounts/templates/accounts/user_update_form.html:151 | |
263 | -msgid "Primary" | |
264 | -msgstr "Primary" | |
265 | - | |
266 | -#: accounts/templates/accounts/user_update_form.html:154 | |
267 | -msgid "Setting..." | |
268 | -msgstr "Setting..." | |
269 | - | |
270 | -#: accounts/templates/accounts/user_update_form.html:154 | |
271 | -msgid "Set as Primary" | |
272 | -msgstr "Set as Primary" | |
273 | - | |
274 | -#: accounts/templates/accounts/user_update_form.html:155 | |
275 | -msgid "Deleting..." | |
276 | -msgstr "Deleting..." | |
277 | - | |
278 | -#: accounts/templates/accounts/user_update_form.html:155 | |
279 | -#: accounts/templates/accounts/user_update_form.html:167 | |
280 | -msgid "Delete" | |
281 | -msgstr "Delete" | |
282 | - | |
283 | -#: accounts/templates/accounts/user_update_form.html:166 | |
284 | -msgid "Sending verification..." | |
285 | -msgstr "Sending verification..." | |
286 | - | |
287 | -#: accounts/templates/accounts/user_update_form.html:166 | |
288 | -msgid "Verify" | |
289 | -msgstr "Verify" | |
290 | - | |
291 | -#: accounts/templates/accounts/user_update_form.html:174 | |
292 | -msgid "Add another email address:" | |
293 | -msgstr "Add another email address:" | |
294 | - | |
295 | -#: accounts/templates/accounts/user_update_form.html:177 | |
296 | -msgid "Add" | |
297 | -msgstr "Add" | |
298 | - | |
299 | -#: accounts/templates/accounts/user_update_form.html:185 | |
300 | -#: accounts/templates/accounts/user_update_form.html:189 | |
301 | -#: accounts/templates/registration/password_change_form_custom.html:26 | |
302 | -#: accounts/templates/registration/password_reset_confirm_custom.html:28 | |
303 | -msgid "Change Password" | |
304 | -msgstr "Change Password" | |
305 | - | |
306 | -#: accounts/templates/accounts/user_update_form.html:196 | |
307 | -msgid "Update" | |
308 | -msgstr "Update" | |
309 | - | |
310 | -#: accounts/templates/registration/login.html:10 | |
311 | -#: accounts/templates/registration/password_change_form_custom.html:10 | |
312 | -#: accounts/templates/registration/password_reset_confirm_custom.html:12 | |
313 | -msgid "Please correct the error below and try again." | |
314 | -msgstr "Please correct the error below and try again." | |
315 | - | |
316 | -#: accounts/templates/registration/login.html:34 | |
317 | -#: accounts/templates/registration/login.html:54 templates/base.html:99 | |
318 | -#: templates/base.html.py:101 templates/base.html:104 | |
319 | -#: templates/base.html.py:106 templates/header.html:39 | |
320 | -#: templates/header.html.py:41 templates/header.html:44 | |
321 | -#: templates/header.html.py:46 | |
322 | -msgid "Login" | |
323 | -msgstr "Login" | |
324 | - | |
325 | -#: accounts/templates/registration/login.html:56 | |
326 | -msgid "Forgot Password?" | |
327 | -msgstr "Forgot Password?" | |
328 | - | |
329 | -#: accounts/templates/registration/password_change_form_custom.html:54 | |
330 | -#: accounts/templates/registration/password_reset_confirm_custom.html:51 | |
331 | -msgid "Change my password" | |
332 | -msgstr "Change my password" | |
333 | - | |
334 | -#: accounts/templates/registration/password_reset_confirm_custom.html:3 | |
335 | -msgid "Setting New password" | |
336 | -msgstr "Setting New password" | |
337 | - | |
338 | -#: accounts/templates/registration/password_reset_form_custom.html:23 | |
339 | -msgid "" | |
340 | -"Forgotten your password? Enter your email address below, and we'll email " | |
341 | -"instructions for setting a new one." | |
342 | -msgstr "Forgotten your password? Enter your email address below, and we'll email instructions for setting a new one." | |
111 | +#~ msgid "Bio" | |
112 | +#~ msgstr "Bio" | |
343 | 113 | |
344 | -#: accounts/templates/registration/password_reset_form_custom.html:26 | |
345 | -msgid "Email address:" | |
346 | -msgstr "Email address:" | |
114 | +#~ msgid "Write something about you in 200 characters or less." | |
115 | +#~ msgstr "Write something about you in 200 characters or less." | |
347 | 116 | |
348 | -#: accounts/templates/registration/password_reset_form_custom.html:37 | |
349 | -msgid "Reset password" | |
350 | -msgstr "Reset password" | |
117 | +#~ msgid "Mailing lists" | |
118 | +#~ msgstr "Mailing lists" | |
351 | 119 | |
352 | -#: accounts/views.py:126 | |
353 | -msgid "Your profile has been created!" | |
354 | -msgstr "Your profile has been created!" | |
120 | +#~ msgid "Email already used. Is it you? Please <a href='%(url)s'>login</a>" | |
121 | +#~ msgstr "Email already used. Is it you? Please <a href='%(url)s'>login</a>" | |
355 | 122 | |
356 | -#: accounts/views.py:186 | |
357 | -msgid "Your password was changed." | |
358 | -msgstr "Your password was changed." | |
123 | +#~ msgid "A user with that username already exists." | |
124 | +#~ msgstr "A user with that username already exists." | |
359 | 125 | |
360 | -#: accounts/views.py:202 | |
361 | -msgid "Your password has been set. You may go ahead and log in now." | |
362 | -msgstr "Your password has been set. You may go ahead and log in now." | |
126 | +#~ msgid "The two password fields didn't match." | |
127 | +#~ msgstr "The two password fields didn't match." | |
363 | 128 | |
364 | -#: home/context_processors.py:20 | |
365 | -msgid "Fork me!" | |
366 | -msgstr "Fork me!" | |
129 | +#~ msgid "Password" | |
130 | +#~ msgstr "Password" | |
367 | 131 | |
368 | -#: plugins/gitlab/models.py:27 | |
369 | -msgid "Gitlab Project" | |
370 | -msgstr "Gitlab Project" | |
132 | +#~ msgid "Password confirmation" | |
133 | +#~ msgstr "Password confirmation" | |
371 | 134 | |
372 | -#: plugins/gitlab/models.py:28 | |
373 | -msgid "Gitlab Projects" | |
374 | -msgstr "Gitlab Projects" | |
135 | +#~ msgid "Required. 30 characters or fewer. Letters and digits." | |
136 | +#~ msgstr "Required. 30 characters or fewer. Letters and digits." | |
375 | 137 | |
376 | -#: plugins/gitlab/models.py:54 | |
377 | -msgid "Gitlab Group" | |
378 | -msgstr "Gitlab Group" | |
138 | +#~ msgid "This value may contain only letters and numbers." | |
139 | +#~ msgstr "This value may contain only letters and numbers." | |
379 | 140 | |
380 | -#: plugins/gitlab/models.py:55 | |
381 | -msgid "Gitlab Groups" | |
382 | -msgstr "Gitlab Groups" | |
141 | +#~ msgid "" | |
142 | +#~ "Raw passwords are not stored, so there is no way to see this user's " | |
143 | +#~ "password, but you can change the password using <a href=\"password/" | |
144 | +#~ "\">this form</a>." | |
145 | +#~ msgstr "" | |
146 | +#~ "Raw passwords are not stored, so there is no way to see this user's " | |
147 | +#~ "password, but you can change the password using <a href=\"password/" | |
148 | +#~ "\">this form</a>." | |
383 | 149 | |
384 | -#: plugins/gitlab/models.py:91 | |
385 | -msgid "Gitlab Merge Request" | |
386 | -msgstr "Gitlab Merge Request" | |
150 | +#~ msgid "" | |
151 | +#~ "Please enter a correct %(username)s and password. Note that both fields " | |
152 | +#~ "may be case-sensitive." | |
153 | +#~ msgstr "" | |
154 | +#~ "Please enter a correct %(username)s and password. Note that both fields " | |
155 | +#~ "may be case-sensitive." | |
387 | 156 | |
388 | -#: plugins/gitlab/models.py:92 | |
389 | -msgid "Gitlab Merge Requests" | |
390 | -msgstr "Gitlab Merge Requests" | |
157 | +#~ msgid "This account is inactive." | |
158 | +#~ msgstr "This account is inactive." | |
391 | 159 | |
392 | -#: plugins/gitlab/models.py:120 | |
393 | -msgid "Gitlab Issue" | |
394 | -msgstr "Gitlab Issue" | |
160 | +#~ msgid "Email" | |
161 | +#~ msgstr "Email" | |
395 | 162 | |
396 | -#: plugins/gitlab/models.py:121 | |
397 | -msgid "Gitlab Issues" | |
398 | -msgstr "Gitlab Issues" | |
163 | +#~ msgid "New password" | |
164 | +#~ msgstr "New password" | |
399 | 165 | |
400 | -#: plugins/gitlab/models.py:176 plugins/gitlab/models.py:177 | |
401 | -msgid "Gitlab Comments" | |
402 | -msgstr "Gitlab Comments" | |
166 | +#~ msgid "New password confirmation" | |
167 | +#~ msgstr "New password confirmation" | |
403 | 168 | |
404 | -#: plugins/noosfero/models.py:39 | |
405 | -msgid "Community" | |
406 | -msgstr "Community" | |
169 | +#~ msgid "Your old password was entered incorrectly. Please enter it again." | |
170 | +#~ msgstr "Your old password was entered incorrectly. Please enter it again." | |
407 | 171 | |
408 | -#: plugins/noosfero/models.py:40 | |
409 | -msgid "Communities" | |
410 | -msgstr "Communities" | |
172 | +#~ msgid "Old password" | |
173 | +#~ msgstr "Old password" | |
411 | 174 | |
412 | -#: plugins/noosfero/models.py:67 | |
413 | -msgid "Article" | |
414 | -msgstr "Article" | |
415 | - | |
416 | -#: plugins/noosfero/models.py:68 | |
417 | -msgid "Articles" | |
418 | -msgstr "Articles" | |
419 | - | |
420 | -#: rss/feeds.py:13 | |
421 | -msgid "Latest Discussions" | |
422 | -msgstr "Latest Discussions" | |
423 | - | |
424 | -#: rss/feeds.py:32 | |
425 | -msgid "Discussions Most Relevance" | |
426 | -msgstr "Discussions Most Relevance" | |
427 | - | |
428 | -#: rss/feeds.py:51 | |
429 | -msgid "Latest collaborations" | |
430 | -msgstr "Latest collaborations" | |
431 | - | |
432 | -#: search/forms.py:16 search/templates/search/search.html:46 | |
433 | -#: templates/base.html:89 templates/header.html:29 | |
434 | -msgid "Search" | |
435 | -msgstr "Search" | |
436 | - | |
437 | -#: search/forms.py:18 | |
438 | -msgid "Type" | |
439 | -msgstr "Type" | |
440 | - | |
441 | -#: search/forms.py:19 search/views.py:20 | |
442 | -msgid "Author" | |
443 | -msgstr "Author" | |
444 | - | |
445 | -#: search/forms.py:20 | |
446 | -msgid "Modified by" | |
447 | -msgstr "Modified by" | |
448 | - | |
449 | -#: search/forms.py:22 | |
450 | -msgid "Status" | |
451 | -msgstr "Status" | |
452 | - | |
453 | -#: search/forms.py:26 search/views.py:23 | |
454 | -msgid "Mailinglist" | |
455 | -msgstr "Mailinglist" | |
456 | - | |
457 | -#: search/forms.py:30 | |
458 | -msgid "Milestone" | |
459 | -msgstr "Milestone" | |
460 | - | |
461 | -#: search/forms.py:31 | |
462 | -msgid "Priority" | |
463 | -msgstr "Priority" | |
464 | - | |
465 | -#: search/forms.py:32 | |
466 | -msgid "Component" | |
467 | -msgstr "Component" | |
468 | - | |
469 | -#: search/forms.py:33 | |
470 | -msgid "Severity" | |
471 | -msgstr "Severity" | |
472 | - | |
473 | -#: search/forms.py:34 | |
474 | -msgid "Reporter" | |
475 | -msgstr "Reporter" | |
476 | - | |
477 | -#: search/forms.py:35 | |
478 | -msgid "Keywords" | |
479 | -msgstr "Keywords" | |
480 | - | |
481 | -#: search/forms.py:36 | |
482 | -msgid "Collaborators" | |
483 | -msgstr "Collaborators" | |
484 | - | |
485 | -#: search/forms.py:37 | |
486 | -msgid "Repository" | |
487 | -msgstr "Repository" | |
488 | - | |
489 | -#: search/forms.py:39 | |
490 | -msgid "Name" | |
491 | -msgstr "Name" | |
492 | - | |
493 | -#: search/forms.py:40 | |
494 | -msgid "Institution" | |
495 | -msgstr "Institution" | |
496 | - | |
497 | -#: search/forms.py:41 | |
498 | -msgid "Role" | |
499 | -msgstr "Role" | |
500 | - | |
501 | -#: search/forms.py:42 search/templates/search/includes/search_filters.html:132 | |
502 | -#: search/templates/search/includes/search_filters.html:134 | |
503 | -#: search/templates/search/includes/search_filters.html:166 | |
504 | -#: search/templates/search/includes/search_filters.html:167 | |
505 | -msgid "Since" | |
506 | -msgstr "Since" | |
507 | - | |
508 | -#: search/forms.py:43 search/templates/search/includes/search_filters.html:141 | |
509 | -#: search/templates/search/includes/search_filters.html:143 | |
510 | -#: search/templates/search/includes/search_filters.html:170 | |
511 | -#: search/templates/search/includes/search_filters.html:171 | |
512 | -msgid "Until" | |
513 | -msgstr "Until" | |
514 | - | |
515 | -#: search/forms.py:44 | |
516 | -msgid "Filename" | |
517 | -msgstr "Filename" | |
518 | - | |
519 | -#: search/forms.py:45 | |
520 | -msgid "Used by" | |
521 | -msgstr "Used by" | |
522 | - | |
523 | -#: search/forms.py:46 | |
524 | -msgid "File type" | |
525 | -msgstr "File type" | |
526 | - | |
527 | -#: search/forms.py:47 | |
528 | -msgid "Size" | |
529 | -msgstr "Size" | |
530 | - | |
531 | -#: search/templates/search/includes/search_filters.html:5 | |
532 | -#: search/templates/search/includes/search_filters.html:33 | |
533 | -#: search/templates/search/includes/search_filters.html:51 | |
534 | -#: search/templates/search/includes/search_filters.html:69 | |
535 | -msgid "Remove filter" | |
536 | -msgstr "Remove filter" | |
537 | - | |
538 | -#: search/templates/search/includes/search_filters.html:88 | |
539 | -#: search/templates/search/includes/search_filters.html:152 | |
540 | -#: search/templates/search/includes/search_filters.html:176 | |
541 | -msgid "Filter" | |
542 | -msgstr "Filter" | |
543 | - | |
544 | -#: search/templates/search/includes/search_filters.html:94 | |
545 | -msgid "Sort by" | |
546 | -msgstr "Sort by" | |
547 | - | |
548 | -#: search/templates/search/includes/search_filters.html:111 | |
549 | -msgid "Types" | |
550 | -msgstr "Types" | |
551 | - | |
552 | -#: search/templates/search/includes/search_filters.html:117 search/views.py:18 | |
553 | -msgid "Discussion" | |
554 | -msgstr "Discussion" | |
555 | - | |
556 | -#: search/templates/search/search.html:5 | |
557 | -msgid "search" | |
558 | -msgstr "search" | |
559 | - | |
560 | -#: search/templates/search/search.html:51 | |
561 | -msgid "documents found" | |
562 | -msgstr "documents found" | |
563 | - | |
564 | -#: search/templates/search/search.html:62 | |
565 | -msgid "Search here" | |
566 | -msgstr "Search here" | |
567 | - | |
568 | -#: search/templates/search/search.html:74 | |
569 | -#: search/templates/search/search.html:84 | |
570 | -msgid "Filters" | |
571 | -msgstr "Filters" | |
572 | - | |
573 | -#: search/templates/search/search.html:105 | |
574 | -msgid "No results for your search." | |
575 | -msgstr "No results for your search." | |
576 | - | |
577 | -#: search/templates/search/search.html:107 | |
578 | -msgid "You are searching for" | |
579 | -msgstr "You are searching for" | |
580 | - | |
581 | -#: settings.py:113 | |
582 | -msgid "English" | |
583 | -msgstr "English" | |
584 | - | |
585 | -#: settings.py:114 | |
586 | -msgid "Portuguese" | |
587 | -msgstr "Portuguese" | |
588 | - | |
589 | -#: settings.py:115 | |
590 | -msgid "Spanish" | |
591 | -msgstr "Spanish" | |
592 | - | |
593 | -#: settings.py:138 | |
594 | -msgid "Recent activity" | |
595 | -msgstr "Recent activity" | |
596 | - | |
597 | -#: settings.py:142 | |
598 | -msgid "Relevance" | |
599 | -msgstr "Relevance" | |
600 | - | |
601 | -#: settings.py:151 | |
602 | -msgid "Document" | |
603 | -msgstr "Document" | |
604 | - | |
605 | -#: settings.py:153 | |
606 | -msgid "Presentation" | |
607 | -msgstr "Presentation" | |
608 | - | |
609 | -#: settings.py:154 | |
610 | -msgid "Text" | |
611 | -msgstr "Text" | |
612 | - | |
613 | -#: settings.py:155 | |
614 | -msgid "Code" | |
615 | -msgstr "Code" | |
175 | +#~ msgid "Password (again)" | |
176 | +#~ msgstr "Password (again)" | |
616 | 177 | |
617 | -#: settings.py:157 | |
618 | -msgid "Compressed" | |
619 | -msgstr "Compressed" | |
178 | +#~ msgid "Enter a valid username." | |
179 | +#~ msgstr "Enter a valid username." | |
620 | 180 | |
621 | -#: settings.py:158 | |
622 | -msgid "Image" | |
623 | -msgstr "Image" | |
181 | +#~ msgid "Group Subscriptions" | |
182 | +#~ msgstr "Group Subscriptions" | |
624 | 183 | |
625 | -#: settings.py:160 | |
626 | -msgid "Spreadsheet" | |
627 | -msgstr "Spreadsheet" | |
184 | +#~ msgid "Update subscriptions" | |
185 | +#~ msgstr "Update subscriptions" | |
628 | 186 | |
629 | -#: templates/404.html:5 | |
630 | -msgid "Not found. Keep searching! :)" | |
631 | -msgstr "Not found. Keep searching! :)" | |
187 | +#~ msgid "Sign up" | |
188 | +#~ msgstr "Sign up" | |
632 | 189 | |
633 | -#: templates/500.html:2 | |
634 | -msgid "Ooopz... something went wrong!" | |
635 | -msgstr "Ooopz... something went wrong!" | |
190 | +#~ msgid "Please correct the errors below and try again." | |
191 | +#~ msgstr "Please correct the errors below and try again." | |
636 | 192 | |
637 | -#: templates/base.html:83 templates/header.html:21 | |
638 | -msgid "Groups" | |
639 | -msgstr "Groups" | |
193 | +#~ msgid "Required fields" | |
194 | +#~ msgstr "Required fields" | |
640 | 195 | |
641 | -#: templates/base.html:119 templates/header.html:59 | |
642 | -msgid "My Profile" | |
643 | -msgstr "My Profile" | |
196 | +#~ msgid "Personal Information" | |
197 | +#~ msgstr "Personal Information" | |
198 | + | |
199 | +#~ msgid "Subscribe to groups" | |
200 | +#~ msgstr "Subscribe to groups" | |
201 | + | |
202 | +#~ msgid "Register" | |
203 | +#~ msgstr "Register" | |
204 | + | |
205 | +#~ msgid "Messages" | |
206 | +#~ msgstr "Messages" | |
207 | + | |
208 | +#~ msgid "Contributions" | |
209 | +#~ msgstr "Contributions" | |
210 | + | |
211 | +#~ msgid "edit profile" | |
212 | +#~ msgstr "edit profile" | |
213 | + | |
214 | +#~ msgid "group membership" | |
215 | +#~ msgstr "group membership" | |
216 | + | |
217 | +#~ msgid "Twitter account" | |
218 | +#~ msgstr "Twitter account" | |
219 | + | |
220 | +#~ msgid "Facebook account" | |
221 | +#~ msgstr "Facebook account" | |
222 | + | |
223 | +#~ msgid "Google talk account" | |
224 | +#~ msgstr "Google talk account" | |
225 | + | |
226 | +#~ msgid "Github account" | |
227 | +#~ msgstr "Github account" | |
228 | + | |
229 | +#~ msgid "Personal webpage" | |
230 | +#~ msgstr "Personal webpage" | |
231 | + | |
232 | +#~ msgid "Groups: " | |
233 | +#~ msgstr "Groups: " | |
234 | + | |
235 | +#~ msgid "Collaborations by Type" | |
236 | +#~ msgstr "Collaborations by Type" | |
237 | + | |
238 | +#~ msgid "Participation by Group" | |
239 | +#~ msgstr "Participation by Group" | |
240 | + | |
241 | +#~ msgid "Latest posted" | |
242 | +#~ msgstr "Latest posted" | |
243 | + | |
244 | +#~ msgid "There are no posts by this user so far." | |
245 | +#~ msgstr "There are no posts by this user so far." | |
246 | + | |
247 | +#~ msgid "View more posts..." | |
248 | +#~ msgstr "View more posts..." | |
249 | + | |
250 | +#~ msgid "Latest contributions" | |
251 | +#~ msgstr "Latest contributions" | |
252 | + | |
253 | +#~ msgid "No contributions of this user so far." | |
254 | +#~ msgstr "No contributions of this user so far." | |
255 | + | |
256 | +#~ msgid "View more contributions..." | |
257 | +#~ msgstr "View more contributions..." | |
258 | + | |
259 | +#~ msgid "We sent a verification email to " | |
260 | +#~ msgstr "We sent a verification email to " | |
261 | + | |
262 | +#~ msgid "Please follow the instructions in it." | |
263 | +#~ msgstr "Please follow the instructions in it." | |
264 | + | |
265 | +#~ msgid "profile information" | |
266 | +#~ msgstr "profile information" | |
267 | + | |
268 | +#~ msgid "Change your avatar at Gravatar.com" | |
269 | +#~ msgstr "Change your avatar at Gravatar.com" | |
270 | + | |
271 | +#~ msgid "Emails" | |
272 | +#~ msgstr "Emails" | |
273 | + | |
274 | +#~ msgid "Primary" | |
275 | +#~ msgstr "Primary" | |
276 | + | |
277 | +#~ msgid "Setting..." | |
278 | +#~ msgstr "Setting..." | |
279 | + | |
280 | +#~ msgid "Set as Primary" | |
281 | +#~ msgstr "Set as Primary" | |
282 | + | |
283 | +#~ msgid "Deleting..." | |
284 | +#~ msgstr "Deleting..." | |
285 | + | |
286 | +#~ msgid "Delete" | |
287 | +#~ msgstr "Delete" | |
288 | + | |
289 | +#~ msgid "Sending verification..." | |
290 | +#~ msgstr "Sending verification..." | |
291 | + | |
292 | +#~ msgid "Verify" | |
293 | +#~ msgstr "Verify" | |
294 | + | |
295 | +#~ msgid "Add another email address:" | |
296 | +#~ msgstr "Add another email address:" | |
297 | + | |
298 | +#~ msgid "Add" | |
299 | +#~ msgstr "Add" | |
300 | + | |
301 | +#~ msgid "Change Password" | |
302 | +#~ msgstr "Change Password" | |
303 | + | |
304 | +#~ msgid "Update" | |
305 | +#~ msgstr "Update" | |
306 | + | |
307 | +#~ msgid "Please correct the error below and try again." | |
308 | +#~ msgstr "Please correct the error below and try again." | |
309 | + | |
310 | +#~ msgid "Login" | |
311 | +#~ msgstr "Login" | |
312 | + | |
313 | +#~ msgid "Forgot Password?" | |
314 | +#~ msgstr "Forgot Password?" | |
315 | + | |
316 | +#~ msgid "Change my password" | |
317 | +#~ msgstr "Change my password" | |
318 | + | |
319 | +#~ msgid "Setting New password" | |
320 | +#~ msgstr "Setting New password" | |
321 | + | |
322 | +#~ msgid "" | |
323 | +#~ "Forgotten your password? Enter your email address below, and we'll email " | |
324 | +#~ "instructions for setting a new one." | |
325 | +#~ msgstr "" | |
326 | +#~ "Forgotten your password? Enter your email address below, and we'll email " | |
327 | +#~ "instructions for setting a new one." | |
328 | + | |
329 | +#~ msgid "Email address:" | |
330 | +#~ msgstr "Email address:" | |
331 | + | |
332 | +#~ msgid "Reset password" | |
333 | +#~ msgstr "Reset password" | |
334 | + | |
335 | +#~ msgid "Your profile has been created!" | |
336 | +#~ msgstr "Your profile has been created!" | |
337 | + | |
338 | +#~ msgid "Your password was changed." | |
339 | +#~ msgstr "Your password was changed." | |
340 | + | |
341 | +#~ msgid "Your password has been set. You may go ahead and log in now." | |
342 | +#~ msgstr "Your password has been set. You may go ahead and log in now." | |
343 | + | |
344 | +#~ msgid "Fork me!" | |
345 | +#~ msgstr "Fork me!" | |
346 | + | |
347 | +#~ msgid "Gitlab Group" | |
348 | +#~ msgstr "Gitlab Group" | |
349 | + | |
350 | +#~ msgid "Gitlab Groups" | |
351 | +#~ msgstr "Gitlab Groups" | |
352 | + | |
353 | +#~ msgid "Gitlab Merge Request" | |
354 | +#~ msgstr "Gitlab Merge Request" | |
355 | + | |
356 | +#~ msgid "Gitlab Issue" | |
357 | +#~ msgstr "Gitlab Issue" | |
358 | + | |
359 | +#~ msgid "Gitlab Comments" | |
360 | +#~ msgstr "Gitlab Comments" | |
361 | + | |
362 | +#~ msgid "Community" | |
363 | +#~ msgstr "Community" | |
364 | + | |
365 | +#~ msgid "Article" | |
366 | +#~ msgstr "Article" | |
367 | + | |
368 | +#~ msgid "Articles" | |
369 | +#~ msgstr "Articles" | |
370 | + | |
371 | +#~ msgid "Latest Discussions" | |
372 | +#~ msgstr "Latest Discussions" | |
373 | + | |
374 | +#~ msgid "Discussions Most Relevance" | |
375 | +#~ msgstr "Discussions Most Relevance" | |
376 | + | |
377 | +#~ msgid "Latest collaborations" | |
378 | +#~ msgstr "Latest collaborations" | |
379 | + | |
380 | +#~ msgid "Search" | |
381 | +#~ msgstr "Search" | |
382 | + | |
383 | +#~ msgid "Type" | |
384 | +#~ msgstr "Type" | |
385 | + | |
386 | +#~ msgid "Author" | |
387 | +#~ msgstr "Author" | |
388 | + | |
389 | +#~ msgid "Modified by" | |
390 | +#~ msgstr "Modified by" | |
391 | + | |
392 | +#~ msgid "Status" | |
393 | +#~ msgstr "Status" | |
394 | + | |
395 | +#~ msgid "Mailinglist" | |
396 | +#~ msgstr "Mailinglist" | |
397 | + | |
398 | +#~ msgid "Milestone" | |
399 | +#~ msgstr "Milestone" | |
400 | + | |
401 | +#~ msgid "Priority" | |
402 | +#~ msgstr "Priority" | |
403 | + | |
404 | +#~ msgid "Component" | |
405 | +#~ msgstr "Component" | |
406 | + | |
407 | +#~ msgid "Severity" | |
408 | +#~ msgstr "Severity" | |
409 | + | |
410 | +#~ msgid "Reporter" | |
411 | +#~ msgstr "Reporter" | |
412 | + | |
413 | +#~ msgid "Keywords" | |
414 | +#~ msgstr "Keywords" | |
415 | + | |
416 | +#~ msgid "Collaborators" | |
417 | +#~ msgstr "Collaborators" | |
418 | + | |
419 | +#~ msgid "Repository" | |
420 | +#~ msgstr "Repository" | |
421 | + | |
422 | +#~ msgid "Name" | |
423 | +#~ msgstr "Name" | |
424 | + | |
425 | +#~ msgid "Institution" | |
426 | +#~ msgstr "Institution" | |
427 | + | |
428 | +#~ msgid "Role" | |
429 | +#~ msgstr "Role" | |
430 | + | |
431 | +#~ msgid "Since" | |
432 | +#~ msgstr "Since" | |
433 | + | |
434 | +#~ msgid "Until" | |
435 | +#~ msgstr "Until" | |
436 | + | |
437 | +#~ msgid "Filename" | |
438 | +#~ msgstr "Filename" | |
439 | + | |
440 | +#~ msgid "Used by" | |
441 | +#~ msgstr "Used by" | |
442 | + | |
443 | +#~ msgid "File type" | |
444 | +#~ msgstr "File type" | |
445 | + | |
446 | +#~ msgid "Size" | |
447 | +#~ msgstr "Size" | |
448 | + | |
449 | +#~ msgid "Remove filter" | |
450 | +#~ msgstr "Remove filter" | |
451 | + | |
452 | +#~ msgid "Filter" | |
453 | +#~ msgstr "Filter" | |
454 | + | |
455 | +#~ msgid "Sort by" | |
456 | +#~ msgstr "Sort by" | |
457 | + | |
458 | +#~ msgid "Types" | |
459 | +#~ msgstr "Types" | |
460 | + | |
461 | +#~ msgid "Discussion" | |
462 | +#~ msgstr "Discussion" | |
463 | + | |
464 | +#~ msgid "search" | |
465 | +#~ msgstr "search" | |
466 | + | |
467 | +#~ msgid "documents found" | |
468 | +#~ msgstr "documents found" | |
469 | + | |
470 | +#~ msgid "Search here" | |
471 | +#~ msgstr "Search here" | |
472 | + | |
473 | +#~ msgid "Filters" | |
474 | +#~ msgstr "Filters" | |
475 | + | |
476 | +#~ msgid "No results for your search." | |
477 | +#~ msgstr "No results for your search." | |
478 | + | |
479 | +#~ msgid "You are searching for" | |
480 | +#~ msgstr "You are searching for" | |
481 | + | |
482 | +#~ msgid "English" | |
483 | +#~ msgstr "English" | |
484 | + | |
485 | +#~ msgid "Portuguese" | |
486 | +#~ msgstr "Portuguese" | |
487 | + | |
488 | +#~ msgid "Spanish" | |
489 | +#~ msgstr "Spanish" | |
490 | + | |
491 | +#~ msgid "Recent activity" | |
492 | +#~ msgstr "Recent activity" | |
493 | + | |
494 | +#~ msgid "Relevance" | |
495 | +#~ msgstr "Relevance" | |
496 | + | |
497 | +#~ msgid "Document" | |
498 | +#~ msgstr "Document" | |
499 | + | |
500 | +#~ msgid "Presentation" | |
501 | +#~ msgstr "Presentation" | |
502 | + | |
503 | +#~ msgid "Text" | |
504 | +#~ msgstr "Text" | |
505 | + | |
506 | +#~ msgid "Compressed" | |
507 | +#~ msgstr "Compressed" | |
508 | + | |
509 | +#~ msgid "Image" | |
510 | +#~ msgstr "Image" | |
511 | + | |
512 | +#~ msgid "Spreadsheet" | |
513 | +#~ msgstr "Spreadsheet" | |
514 | + | |
515 | +#~ msgid "Not found. Keep searching! :)" | |
516 | +#~ msgstr "Not found. Keep searching! :)" | |
517 | + | |
518 | +#~ msgid "Ooopz... something went wrong!" | |
519 | +#~ msgstr "Ooopz... something went wrong!" | |
644 | 520 | |
645 | -#: templates/base.html:120 templates/base.html.py:121 templates/header.html:60 | |
646 | -#: templates/header.html.py:61 | |
647 | -msgid "Logout" | |
648 | -msgstr "Logout" | |
521 | +#~ msgid "Logout" | |
522 | +#~ msgstr "Logout" | |
649 | 523 | |
650 | -#: templates/base.html:132 templates/base.html.py:135 templates/header.html:72 | |
651 | -#: templates/header.html.py:75 | |
652 | -msgid "Search here..." | |
653 | -msgstr "Search here..." | |
524 | +#~ msgid "Search here..." | |
525 | +#~ msgstr "Search here..." | |
654 | 526 | |
655 | -#: templates/base.html:149 | |
656 | -msgid "The login has failed. Please, try again." | |
657 | -msgstr "The login has failed. Please, try again." | |
527 | +#~ msgid "The login has failed. Please, try again." | |
528 | +#~ msgstr "The login has failed. Please, try again." | |
658 | 529 | |
659 | -#: templates/footer.html:6 | |
660 | -msgid "Last email imported at" | |
661 | -msgstr "Last email imported at" | |
530 | +#~ msgid "Last email imported at" | |
531 | +#~ msgstr "Last email imported at" | |
662 | 532 | |
663 | -#: templates/footer.html:12 | |
664 | -msgid "The contents of this site is published under license" | |
665 | -msgstr "The contents of this site is published under license" | |
533 | +#~ msgid "The contents of this site is published under license" | |
534 | +#~ msgstr "The contents of this site is published under license" | |
666 | 535 | |
667 | -#: templates/footer.html:15 | |
668 | -msgid "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
669 | -msgstr "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
536 | +#~ msgid "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
537 | +#~ msgstr "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
670 | 538 | |
671 | -#: templates/header.html:26 | |
672 | -msgid "Paste" | |
673 | -msgstr "Paste" | |
539 | +#~ msgid "Paste" | |
540 | +#~ msgstr "Paste" | |
674 | 541 | |
675 | -#: templates/home.html:17 | |
676 | -msgid "Latest Collaborations" | |
677 | -msgstr "Latest Collaborations" | |
542 | +#~ msgid "Latest Collaborations" | |
543 | +#~ msgstr "Latest Collaborations" | |
678 | 544 | |
679 | -#: templates/home.html:21 | |
680 | -msgid "RSS - Latest collaborations" | |
681 | -msgstr "RSS - Latest collaborations" | |
545 | +#~ msgid "RSS - Latest collaborations" | |
546 | +#~ msgstr "RSS - Latest collaborations" | |
682 | 547 | |
683 | -#: templates/home.html:30 | |
684 | -msgid "View more collaborations..." | |
685 | -msgstr "View more collaborations..." | |
548 | +#~ msgid "View more collaborations..." | |
549 | +#~ msgstr "View more collaborations..." | |
686 | 550 | |
687 | -#: templates/home.html:37 | |
688 | -msgid "Collaboration Graph" | |
689 | -msgstr "Collaboration Graph" | |
551 | +#~ msgid "Collaboration Graph" | |
552 | +#~ msgstr "Collaboration Graph" | |
690 | 553 | |
691 | -#: templates/home.html:48 | |
692 | -msgid "Most Relevant Threads" | |
693 | -msgstr "Most Relevant Threads" | |
554 | +#~ msgid "Most Relevant Threads" | |
555 | +#~ msgstr "Most Relevant Threads" | |
694 | 556 | |
695 | -#: templates/home.html:52 | |
696 | -msgid "RSS - Most Relevant Threads" | |
697 | -msgstr "RSS - Most Relevant Threads" | |
557 | +#~ msgid "RSS - Most Relevant Threads" | |
558 | +#~ msgstr "RSS - Most Relevant Threads" | |
698 | 559 | |
699 | -#: templates/home.html:60 templates/home.html.py:79 | |
700 | -msgid "View more discussions..." | |
701 | -msgstr "View more discussions..." | |
560 | +#~ msgid "View more discussions..." | |
561 | +#~ msgstr "View more discussions..." | |
702 | 562 | |
703 | -#: templates/home.html:67 | |
704 | -msgid "Latest Threads" | |
705 | -msgstr "Latest Threads" | |
563 | +#~ msgid "Latest Threads" | |
564 | +#~ msgstr "Latest Threads" | |
706 | 565 | |
707 | -#: templates/home.html:71 | |
708 | -msgid "RSS - Latest Threads" | |
709 | -msgstr "RSS - Latest Threads" | |
566 | +#~ msgid "RSS - Latest Threads" | |
567 | +#~ msgstr "RSS - Latest Threads" | ... | ... |
colab/locale/pt_BR/LC_MESSAGES/django.po
1 | 1 | # SOME DESCRIPTIVE TITLE. |
2 | 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
3 | 3 | # This file is distributed under the same license as the PACKAGE package. |
4 | -# | |
4 | +# | |
5 | 5 | # Translators: |
6 | 6 | # Lucas Kanashiro Duarte <kanashiro.duarte@gmail.com>, 2015 |
7 | 7 | # macártur de sousa carvalho <macartur.sc@gmail.com>, 2015 |
... | ... | @@ -10,703 +10,564 @@ msgid "" |
10 | 10 | msgstr "" |
11 | 11 | "Project-Id-Version: colab\n" |
12 | 12 | "Report-Msgid-Bugs-To: \n" |
13 | -"POT-Creation-Date: 2015-09-01 13:15+0000\n" | |
13 | +"POT-Creation-Date: 2015-10-27 13:48+0000\n" | |
14 | 14 | "PO-Revision-Date: 2015-09-07 19:13+0000\n" |
15 | 15 | "Last-Translator: Lucas Kanashiro Duarte <kanashiro.duarte@gmail.com>\n" |
16 | -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/colab/colab/language/pt_BR/)\n" | |
16 | +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/colab/colab/" | |
17 | +"language/pt_BR/)\n" | |
18 | +"Language: pt_BR\n" | |
17 | 19 | "MIME-Version: 1.0\n" |
18 | 20 | "Content-Type: text/plain; charset=UTF-8\n" |
19 | 21 | "Content-Transfer-Encoding: 8bit\n" |
20 | -"Language: pt_BR\n" | |
21 | 22 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" |
22 | 23 | |
23 | -#: accounts/admin.py:18 | |
24 | -msgid "Personal info" | |
25 | -msgstr "Informações Pessoais" | |
24 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:21 | |
25 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:21 | |
26 | +msgid "Code" | |
27 | +msgstr "Código" | |
26 | 28 | |
27 | -#: accounts/admin.py:24 | |
28 | -msgid "Permissions" | |
29 | -msgstr "Permissões" | |
29 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:26 | |
30 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:26 | |
31 | +#, fuzzy | |
32 | +#| msgid "Gitlab Projects" | |
33 | +msgid "Public Projects" | |
34 | +msgstr "Projetos no Gitlab" | |
30 | 35 | |
31 | -#: accounts/admin.py:28 | |
32 | -msgid "Important dates" | |
33 | -msgstr "Datas importantes" | |
36 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:28 | |
37 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:30 | |
38 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:28 | |
39 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:30 | |
40 | +#, fuzzy | |
41 | +#| msgid "My Profile" | |
42 | +msgid "Profile" | |
43 | +msgstr "Meu Perfil" | |
34 | 44 | |
35 | -#: accounts/forms.py:37 | |
36 | -msgid "Social account does not exist" | |
37 | -msgstr "Conta social não existe" | |
45 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:30 | |
46 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:30 | |
47 | +#, fuzzy | |
48 | +#| msgid "Gitlab Project" | |
49 | +msgid "New Project" | |
50 | +msgstr "Projeto no Gitlab" | |
38 | 51 | |
39 | -#: accounts/forms.py:65 accounts/forms.py:71 accounts/forms.py:77 | |
40 | -msgid "This field cannot be blank." | |
41 | -msgstr "Este campo não pode ficar em branco." | |
52 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:32 | |
53 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:32 | |
54 | +#, fuzzy | |
55 | +#| msgid "Gitlab Projects" | |
56 | +msgid "Projects" | |
57 | +msgstr "Projetos no Gitlab" | |
42 | 58 | |
43 | -#: accounts/forms.py:118 accounts/templates/accounts/user_detail.html:38 | |
44 | -msgid "Bio" | |
45 | -msgstr "Bio" | |
59 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:34 | |
60 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:34 | |
61 | +msgid "Groups" | |
62 | +msgstr "Grupos" | |
46 | 63 | |
47 | -#: accounts/forms.py:119 | |
48 | -msgid "Write something about you in 200 characters or less." | |
49 | -msgstr "Escreva algo sobre você em 200 caracteres ou menos." | |
64 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:36 | |
65 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:36 | |
66 | +#, fuzzy | |
67 | +#| msgid "Gitlab Issues" | |
68 | +msgid "Issues" | |
69 | +msgstr "Tíquetes no Gitlab" | |
50 | 70 | |
51 | -#: accounts/forms.py:148 | |
52 | -msgid "Mailing lists" | |
53 | -msgstr "Listas de e-mail" | |
71 | +#: colab-gitlab-plugin/tests/plugins.d/gitlab.py:38 | |
72 | +#: colab-spb-plugin/tests/plugins.d/gitlab.py:38 | |
73 | +#, fuzzy | |
74 | +#| msgid "Gitlab Merge Requests" | |
75 | +msgid "Merge Requests" | |
76 | +msgstr "Envio de Contribuições no Gitlab" | |
54 | 77 | |
55 | -#: accounts/forms.py:161 | |
56 | -#, python-format | |
57 | -msgid "Email already used. Is it you? Please <a href='%(url)s'>login</a>" | |
58 | -msgstr "Este email ja está sendo utilizado.Caso seja o seu efetue o <a href='%(url)s'>login</a>" | |
78 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:21 | |
79 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:21 | |
80 | +msgid "Social" | |
81 | +msgstr "Social" | |
59 | 82 | |
60 | -#: accounts/forms.py:163 | |
61 | -msgid "A user with that username already exists." | |
62 | -msgstr "Já existe um usuário com este nome." | |
83 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:26 | |
84 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:26 | |
85 | +#, fuzzy | |
86 | +#| msgid "Username" | |
87 | +msgid "Users" | |
88 | +msgstr "Usuário" | |
63 | 89 | |
64 | -#: accounts/forms.py:164 accounts/forms.py:401 accounts/forms.py:465 | |
65 | -msgid "The two password fields didn't match." | |
66 | -msgstr "Os dois campos de senha não conferem." | |
90 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:28 | |
91 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:28 | |
92 | +msgid "Communities" | |
93 | +msgstr "Comunidades" | |
67 | 94 | |
68 | -#: accounts/forms.py:166 accounts/forms.py:236 search/forms.py:38 | |
69 | -msgid "Username" | |
70 | -msgstr "Usuário" | |
95 | +#: colab-noosfero-plugin/tests/plugins.d/noosfero.py:32 | |
96 | +#: colab-spb-plugin/tests/plugins.d/noosfero.py:32 | |
97 | +msgid "Control Panel" | |
98 | +msgstr "Painel de Controle" | |
71 | 99 | |
72 | -#: accounts/forms.py:173 accounts/forms.py:240 accounts/forms.py:277 | |
73 | -#: accounts/forms.py:467 | |
74 | -msgid "Password" | |
75 | -msgstr "Senha" | |
100 | +#~ msgid "Personal info" | |
101 | +#~ msgstr "Informações Pessoais" | |
76 | 102 | |
77 | -#: accounts/forms.py:175 | |
78 | -msgid "Password confirmation" | |
79 | -msgstr "Confirmação de senha" | |
103 | +#~ msgid "Permissions" | |
104 | +#~ msgstr "Permissões" | |
80 | 105 | |
81 | -#: accounts/forms.py:237 accounts/models.py:78 | |
82 | -msgid "Required. 30 characters or fewer. Letters and digits." | |
83 | -msgstr "Obrigatório. 30 caracteres ou menos. Letras ou digitos." | |
106 | +#~ msgid "Important dates" | |
107 | +#~ msgstr "Datas importantes" | |
84 | 108 | |
85 | -#: accounts/forms.py:239 | |
86 | -msgid "This value may contain only letters and numbers." | |
87 | -msgstr "Este campo pode conter apenas letras e números." | |
109 | +#~ msgid "Social account does not exist" | |
110 | +#~ msgstr "Conta social não existe" | |
88 | 111 | |
89 | -#: accounts/forms.py:241 | |
90 | -msgid "" | |
91 | -"Raw passwords are not stored, so there is no way to see this user's " | |
92 | -"password, but you can change the password using <a href=\"password/\">this " | |
93 | -"form</a>." | |
94 | -msgstr "Senhas em claro não são armazenadas, então não será possível visualizar sua senha, no entanto você poderá modificar sua senha utilizando <a href=\\\"password/\\\">este formulário</a>." | |
112 | +#~ msgid "This field cannot be blank." | |
113 | +#~ msgstr "Este campo não pode ficar em branco." | |
95 | 114 | |
96 | -#: accounts/forms.py:280 | |
97 | -#, python-format | |
98 | -msgid "" | |
99 | -"Please enter a correct %(username)s and password. Note that both fields may " | |
100 | -"be case-sensitive." | |
101 | -msgstr "Por favor entre com um %(username)s e senha. Note que ambos os campos diferenciam letras maiúsculas de minúsculas" | |
102 | - | |
103 | -#: accounts/forms.py:282 | |
104 | -msgid "This account is inactive." | |
105 | -msgstr "Esta conta está inativa." | |
106 | - | |
107 | -#: accounts/forms.py:345 | |
108 | -msgid "Email" | |
109 | -msgstr "Email" | |
110 | - | |
111 | -#: accounts/forms.py:403 | |
112 | -msgid "New password" | |
113 | -msgstr "Nova senha" | |
114 | - | |
115 | -#: accounts/forms.py:405 | |
116 | -msgid "New password confirmation" | |
117 | -msgstr "Confirmar nova senha" | |
118 | - | |
119 | -#: accounts/forms.py:436 | |
120 | -msgid "Your old password was entered incorrectly. Please enter it again." | |
121 | -msgstr "Sua senha atual está incorreta. Por favor tente novamente." | |
122 | - | |
123 | -#: accounts/forms.py:439 | |
124 | -msgid "Old password" | |
125 | -msgstr "Senha atual" | |
126 | - | |
127 | -#: accounts/forms.py:469 | |
128 | -msgid "Password (again)" | |
129 | -msgstr "Senha (novamente)" | |
130 | - | |
131 | -#: accounts/models.py:82 | |
132 | -msgid "Enter a valid username." | |
133 | -msgstr "Insira um nome de usuário válido." | |
134 | - | |
135 | -#: accounts/templates/accounts/manage_subscriptions.html:6 | |
136 | -msgid "Group Subscriptions" | |
137 | -msgstr "Inscrições em grupos" | |
138 | - | |
139 | -#: accounts/templates/accounts/manage_subscriptions.html:36 | |
140 | -msgid "Update subscriptions" | |
141 | -msgstr "Atualizar inscrições" | |
142 | - | |
143 | -#: accounts/templates/accounts/user_create_form.html:5 | |
144 | -msgid "Sign up" | |
145 | -msgstr "Cadastrar" | |
146 | - | |
147 | -#: accounts/templates/accounts/user_create_form.html:10 | |
148 | -#: accounts/templates/registration/login.html:14 | |
149 | -#: accounts/templates/registration/password_change_form_custom.html:12 | |
150 | -#: accounts/templates/registration/password_reset_confirm_custom.html:14 | |
151 | -#: accounts/templates/registration/password_reset_form_custom.html:9 | |
152 | -msgid "Please correct the errors below and try again." | |
153 | -msgstr "Por favor corrija os erros abaixo e tente novamente." | |
154 | - | |
155 | -#: accounts/templates/accounts/user_create_form.html:17 | |
156 | -msgid "Required fields" | |
157 | -msgstr "Campos obrigatórios" | |
158 | - | |
159 | -#: accounts/templates/accounts/user_create_form.html:29 | |
160 | -msgid "Personal Information" | |
161 | -msgstr "Informações pessoais" | |
162 | - | |
163 | -#: accounts/templates/accounts/user_create_form.html:46 | |
164 | -msgid "Subscribe to groups" | |
165 | -msgstr "Inscreva-se nos grupos" | |
166 | - | |
167 | -#: accounts/templates/accounts/user_create_form.html:60 | |
168 | -#: templates/base.html:100 templates/base.html.py:105 templates/header.html:40 | |
169 | -#: templates/header.html.py:45 | |
170 | -msgid "Register" | |
171 | -msgstr "Cadastre-se" | |
172 | - | |
173 | -#: accounts/templates/accounts/user_detail.html:8 | |
174 | -msgid "Messages" | |
175 | -msgstr "Mensagens" | |
176 | - | |
177 | -#: accounts/templates/accounts/user_detail.html:9 templates/home.html:7 | |
178 | -msgid "Contributions" | |
179 | -msgstr "Contribuições" | |
180 | - | |
181 | -#: accounts/templates/accounts/user_detail.html:29 | |
182 | -msgid "edit profile" | |
183 | -msgstr "editar perfil" | |
184 | - | |
185 | -#: accounts/templates/accounts/user_detail.html:30 | |
186 | -msgid "group membership" | |
187 | -msgstr "Inscrições nos grupos" | |
188 | - | |
189 | -#: accounts/templates/accounts/user_detail.html:66 | |
190 | -msgid "Twitter account" | |
191 | -msgstr "Conta Twitter" | |
192 | - | |
193 | -#: accounts/templates/accounts/user_detail.html:69 | |
194 | -msgid "Facebook account" | |
195 | -msgstr "Conta Facebook" | |
196 | - | |
197 | -#: accounts/templates/accounts/user_detail.html:74 | |
198 | -msgid "Google talk account" | |
199 | -msgstr "Conta Google talk" | |
200 | - | |
201 | -#: accounts/templates/accounts/user_detail.html:78 | |
202 | -msgid "Github account" | |
203 | -msgstr "Conta Github" | |
204 | - | |
205 | -#: accounts/templates/accounts/user_detail.html:82 | |
206 | -msgid "Personal webpage" | |
207 | -msgstr "Página web pessoal" | |
208 | - | |
209 | -#: accounts/templates/accounts/user_detail.html:88 | |
210 | -msgid "Groups: " | |
211 | -msgstr "Grupos: " | |
212 | - | |
213 | -#: accounts/templates/accounts/user_detail.html:101 | |
214 | -msgid "Collaborations by Type" | |
215 | -msgstr "Colaborações por tipo" | |
216 | - | |
217 | -#: accounts/templates/accounts/user_detail.html:117 | |
218 | -msgid "Participation by Group" | |
219 | -msgstr "Participação por grupo" | |
220 | - | |
221 | -#: accounts/templates/accounts/user_detail.html:133 | |
222 | -msgid "Latest posted" | |
223 | -msgstr "Últimas postagens" | |
224 | - | |
225 | -#: accounts/templates/accounts/user_detail.html:138 | |
226 | -msgid "There are no posts by this user so far." | |
227 | -msgstr "Não há posts deste usuário até agora." | |
228 | - | |
229 | -#: accounts/templates/accounts/user_detail.html:142 | |
230 | -msgid "View more posts..." | |
231 | -msgstr "Ver mais postagens..." | |
232 | - | |
233 | -#: accounts/templates/accounts/user_detail.html:148 | |
234 | -msgid "Latest contributions" | |
235 | -msgstr "Últimas colaborações" | |
236 | - | |
237 | -#: accounts/templates/accounts/user_detail.html:153 | |
238 | -msgid "No contributions of this user so far." | |
239 | -msgstr "Não há contribuições deste usuário até agora." | |
240 | - | |
241 | -#: accounts/templates/accounts/user_detail.html:157 | |
242 | -msgid "View more contributions..." | |
243 | -msgstr "Ver mais colaborações..." | |
244 | - | |
245 | -#: accounts/templates/accounts/user_update_form.html:65 | |
246 | -msgid "We sent a verification email to " | |
247 | -msgstr "Enviamos um email de verificação para " | |
248 | - | |
249 | -#: accounts/templates/accounts/user_update_form.html:66 | |
250 | -msgid "Please follow the instructions in it." | |
251 | -msgstr "Por favor, siga as instruções." | |
252 | - | |
253 | -#: accounts/templates/accounts/user_update_form.html:110 | |
254 | -msgid "profile information" | |
255 | -msgstr "informações do perfil" | |
256 | - | |
257 | -#: accounts/templates/accounts/user_update_form.html:115 | |
258 | -msgid "Change your avatar at Gravatar.com" | |
259 | -msgstr "Troque seu avatar em Gravatar.com" | |
260 | - | |
261 | -#: accounts/templates/accounts/user_update_form.html:142 search/utils.py:56 | |
262 | -msgid "Emails" | |
263 | -msgstr "Emails" | |
264 | - | |
265 | -#: accounts/templates/accounts/user_update_form.html:151 | |
266 | -msgid "Primary" | |
267 | -msgstr "Primário" | |
268 | - | |
269 | -#: accounts/templates/accounts/user_update_form.html:154 | |
270 | -msgid "Setting..." | |
271 | -msgstr "Definindo..." | |
272 | - | |
273 | -#: accounts/templates/accounts/user_update_form.html:154 | |
274 | -msgid "Set as Primary" | |
275 | -msgstr "Definir como Primário" | |
276 | - | |
277 | -#: accounts/templates/accounts/user_update_form.html:155 | |
278 | -msgid "Deleting..." | |
279 | -msgstr "Apagando..." | |
280 | - | |
281 | -#: accounts/templates/accounts/user_update_form.html:155 | |
282 | -#: accounts/templates/accounts/user_update_form.html:167 | |
283 | -msgid "Delete" | |
284 | -msgstr "Apagar" | |
285 | - | |
286 | -#: accounts/templates/accounts/user_update_form.html:166 | |
287 | -msgid "Sending verification..." | |
288 | -msgstr "Enviando verificação..." | |
289 | - | |
290 | -#: accounts/templates/accounts/user_update_form.html:166 | |
291 | -msgid "Verify" | |
292 | -msgstr "Verificar" | |
293 | - | |
294 | -#: accounts/templates/accounts/user_update_form.html:174 | |
295 | -msgid "Add another email address:" | |
296 | -msgstr "Adicionar outro endereço de email" | |
297 | - | |
298 | -#: accounts/templates/accounts/user_update_form.html:177 | |
299 | -msgid "Add" | |
300 | -msgstr "Adicionar" | |
301 | - | |
302 | -#: accounts/templates/accounts/user_update_form.html:185 | |
303 | -#: accounts/templates/accounts/user_update_form.html:189 | |
304 | -#: accounts/templates/registration/password_change_form_custom.html:26 | |
305 | -#: accounts/templates/registration/password_reset_confirm_custom.html:28 | |
306 | -msgid "Change Password" | |
307 | -msgstr "Trocar senha" | |
308 | - | |
309 | -#: accounts/templates/accounts/user_update_form.html:196 | |
310 | -msgid "Update" | |
311 | -msgstr "Atualizar" | |
312 | - | |
313 | -#: accounts/templates/registration/login.html:10 | |
314 | -#: accounts/templates/registration/password_change_form_custom.html:10 | |
315 | -#: accounts/templates/registration/password_reset_confirm_custom.html:12 | |
316 | -msgid "Please correct the error below and try again." | |
317 | -msgstr "Por favor corrija o erro abaixo e tente novamente." | |
318 | - | |
319 | -#: accounts/templates/registration/login.html:34 | |
320 | -#: accounts/templates/registration/login.html:54 templates/base.html:99 | |
321 | -#: templates/base.html.py:101 templates/base.html:104 | |
322 | -#: templates/base.html.py:106 templates/header.html:39 | |
323 | -#: templates/header.html.py:41 templates/header.html:44 | |
324 | -#: templates/header.html.py:46 | |
325 | -msgid "Login" | |
326 | -msgstr "Entrar" | |
327 | - | |
328 | -#: accounts/templates/registration/login.html:56 | |
329 | -msgid "Forgot Password?" | |
330 | -msgstr "Esqueci minha Senha?" | |
331 | - | |
332 | -#: accounts/templates/registration/password_change_form_custom.html:54 | |
333 | -#: accounts/templates/registration/password_reset_confirm_custom.html:51 | |
334 | -msgid "Change my password" | |
335 | -msgstr "Alterar minha senha" | |
336 | - | |
337 | -#: accounts/templates/registration/password_reset_confirm_custom.html:3 | |
338 | -msgid "Setting New password" | |
339 | -msgstr "Definir Nova Senha" | |
340 | - | |
341 | -#: accounts/templates/registration/password_reset_form_custom.html:23 | |
342 | -msgid "" | |
343 | -"Forgotten your password? Enter your email address below, and we'll email " | |
344 | -"instructions for setting a new one." | |
345 | -msgstr "Esqueceu sua senha? Digite seu email abaixo, e enviaremos instruções para redefinir sua senha." | |
115 | +#~ msgid "Bio" | |
116 | +#~ msgstr "Bio" | |
346 | 117 | |
347 | -#: accounts/templates/registration/password_reset_form_custom.html:26 | |
348 | -msgid "Email address:" | |
349 | -msgstr "Endereço de email: " | |
118 | +#~ msgid "Write something about you in 200 characters or less." | |
119 | +#~ msgstr "Escreva algo sobre você em 200 caracteres ou menos." | |
350 | 120 | |
351 | -#: accounts/templates/registration/password_reset_form_custom.html:37 | |
352 | -msgid "Reset password" | |
353 | -msgstr "Redefinir senha" | |
121 | +#~ msgid "Mailing lists" | |
122 | +#~ msgstr "Listas de e-mail" | |
354 | 123 | |
355 | -#: accounts/views.py:126 | |
356 | -msgid "Your profile has been created!" | |
357 | -msgstr "Seu perfil foi criado!" | |
124 | +#~ msgid "Email already used. Is it you? Please <a href='%(url)s'>login</a>" | |
125 | +#~ msgstr "" | |
126 | +#~ "Este email ja está sendo utilizado.Caso seja o seu efetue o <a " | |
127 | +#~ "href='%(url)s'>login</a>" | |
358 | 128 | |
359 | -#: accounts/views.py:186 | |
360 | -msgid "Your password was changed." | |
361 | -msgstr "Sua senha foi modificada." | |
129 | +#~ msgid "A user with that username already exists." | |
130 | +#~ msgstr "Já existe um usuário com este nome." | |
362 | 131 | |
363 | -#: accounts/views.py:202 | |
364 | -msgid "Your password has been set. You may go ahead and log in now." | |
365 | -msgstr "Sua senha foi modificada. Você já pode efetuar o login agora." | |
132 | +#~ msgid "The two password fields didn't match." | |
133 | +#~ msgstr "Os dois campos de senha não conferem." | |
366 | 134 | |
367 | -#: home/context_processors.py:20 | |
368 | -msgid "Fork me!" | |
369 | -msgstr "Fork me!" | |
135 | +#~ msgid "Password" | |
136 | +#~ msgstr "Senha" | |
370 | 137 | |
371 | -#: plugins/gitlab/models.py:27 | |
372 | -msgid "Gitlab Project" | |
373 | -msgstr "Projeto no Gitlab" | |
138 | +#~ msgid "Password confirmation" | |
139 | +#~ msgstr "Confirmação de senha" | |
374 | 140 | |
375 | -#: plugins/gitlab/models.py:28 | |
376 | -msgid "Gitlab Projects" | |
377 | -msgstr "Projetos no Gitlab" | |
141 | +#~ msgid "Required. 30 characters or fewer. Letters and digits." | |
142 | +#~ msgstr "Obrigatório. 30 caracteres ou menos. Letras ou digitos." | |
378 | 143 | |
379 | -#: plugins/gitlab/models.py:54 | |
380 | -msgid "Gitlab Group" | |
381 | -msgstr "Grupo no Gitlab" | |
144 | +#~ msgid "This value may contain only letters and numbers." | |
145 | +#~ msgstr "Este campo pode conter apenas letras e números." | |
382 | 146 | |
383 | -#: plugins/gitlab/models.py:55 | |
384 | -msgid "Gitlab Groups" | |
385 | -msgstr "Grupos no Gitlab" | |
147 | +#~ msgid "" | |
148 | +#~ "Raw passwords are not stored, so there is no way to see this user's " | |
149 | +#~ "password, but you can change the password using <a href=\"password/" | |
150 | +#~ "\">this form</a>." | |
151 | +#~ msgstr "" | |
152 | +#~ "Senhas em claro não são armazenadas, então não será possível visualizar " | |
153 | +#~ "sua senha, no entanto você poderá modificar sua senha utilizando <a href=" | |
154 | +#~ "\\\"password/\\\">este formulário</a>." | |
386 | 155 | |
387 | -#: plugins/gitlab/models.py:91 | |
388 | -msgid "Gitlab Merge Request" | |
389 | -msgstr "Envio de Contribuição no Gitlab" | |
156 | +#~ msgid "" | |
157 | +#~ "Please enter a correct %(username)s and password. Note that both fields " | |
158 | +#~ "may be case-sensitive." | |
159 | +#~ msgstr "" | |
160 | +#~ "Por favor entre com um %(username)s e senha. Note que ambos os campos " | |
161 | +#~ "diferenciam letras maiúsculas de minúsculas" | |
390 | 162 | |
391 | -#: plugins/gitlab/models.py:92 | |
392 | -msgid "Gitlab Merge Requests" | |
393 | -msgstr "Envio de Contribuições no Gitlab" | |
163 | +#~ msgid "This account is inactive." | |
164 | +#~ msgstr "Esta conta está inativa." | |
394 | 165 | |
395 | -#: plugins/gitlab/models.py:120 | |
396 | -msgid "Gitlab Issue" | |
397 | -msgstr "Tíquete no Gitlab" | |
166 | +#~ msgid "Email" | |
167 | +#~ msgstr "Email" | |
398 | 168 | |
399 | -#: plugins/gitlab/models.py:121 | |
400 | -msgid "Gitlab Issues" | |
401 | -msgstr "Tíquetes no Gitlab" | |
169 | +#~ msgid "New password" | |
170 | +#~ msgstr "Nova senha" | |
402 | 171 | |
403 | -#: plugins/gitlab/models.py:176 plugins/gitlab/models.py:177 | |
404 | -msgid "Gitlab Comments" | |
405 | -msgstr "Comentários no Gitlab" | |
172 | +#~ msgid "New password confirmation" | |
173 | +#~ msgstr "Confirmar nova senha" | |
406 | 174 | |
407 | -#: plugins/noosfero/models.py:39 | |
408 | -msgid "Community" | |
409 | -msgstr "Comunidade" | |
175 | +#~ msgid "Your old password was entered incorrectly. Please enter it again." | |
176 | +#~ msgstr "Sua senha atual está incorreta. Por favor tente novamente." | |
410 | 177 | |
411 | -#: plugins/noosfero/models.py:40 | |
412 | -msgid "Communities" | |
413 | -msgstr "Comunidades" | |
178 | +#~ msgid "Old password" | |
179 | +#~ msgstr "Senha atual" | |
414 | 180 | |
415 | -#: plugins/noosfero/models.py:67 | |
416 | -msgid "Article" | |
417 | -msgstr "Artigo" | |
418 | - | |
419 | -#: plugins/noosfero/models.py:68 | |
420 | -msgid "Articles" | |
421 | -msgstr "Artigos" | |
422 | - | |
423 | -#: rss/feeds.py:13 | |
424 | -msgid "Latest Discussions" | |
425 | -msgstr "Últimas discussões" | |
426 | - | |
427 | -#: rss/feeds.py:32 | |
428 | -msgid "Discussions Most Relevance" | |
429 | -msgstr "Discussões Mais Relevantes" | |
430 | - | |
431 | -#: rss/feeds.py:51 | |
432 | -msgid "Latest collaborations" | |
433 | -msgstr "Últimas colaborações" | |
434 | - | |
435 | -#: search/forms.py:16 search/templates/search/search.html:46 | |
436 | -#: templates/base.html:89 templates/header.html:29 | |
437 | -msgid "Search" | |
438 | -msgstr "Busca" | |
439 | - | |
440 | -#: search/forms.py:18 | |
441 | -msgid "Type" | |
442 | -msgstr "Tipo" | |
443 | - | |
444 | -#: search/forms.py:19 search/views.py:20 | |
445 | -msgid "Author" | |
446 | -msgstr "Autor" | |
447 | - | |
448 | -#: search/forms.py:20 | |
449 | -msgid "Modified by" | |
450 | -msgstr "Modificado por" | |
451 | - | |
452 | -#: search/forms.py:22 | |
453 | -msgid "Status" | |
454 | -msgstr "Status" | |
455 | - | |
456 | -#: search/forms.py:26 search/views.py:23 | |
457 | -msgid "Mailinglist" | |
458 | -msgstr "Lista de discussão" | |
459 | - | |
460 | -#: search/forms.py:30 | |
461 | -msgid "Milestone" | |
462 | -msgstr "Marco" | |
463 | - | |
464 | -#: search/forms.py:31 | |
465 | -msgid "Priority" | |
466 | -msgstr "Prioridade" | |
467 | - | |
468 | -#: search/forms.py:32 | |
469 | -msgid "Component" | |
470 | -msgstr "Componente" | |
471 | - | |
472 | -#: search/forms.py:33 | |
473 | -msgid "Severity" | |
474 | -msgstr "Severidade" | |
475 | - | |
476 | -#: search/forms.py:34 | |
477 | -msgid "Reporter" | |
478 | -msgstr "Relator" | |
479 | - | |
480 | -#: search/forms.py:35 | |
481 | -msgid "Keywords" | |
482 | -msgstr "Palavras chave" | |
483 | - | |
484 | -#: search/forms.py:36 | |
485 | -msgid "Collaborators" | |
486 | -msgstr "Colaboradores" | |
487 | - | |
488 | -#: search/forms.py:37 | |
489 | -msgid "Repository" | |
490 | -msgstr "Repositório" | |
491 | - | |
492 | -#: search/forms.py:39 | |
493 | -msgid "Name" | |
494 | -msgstr "Nome" | |
495 | - | |
496 | -#: search/forms.py:40 | |
497 | -msgid "Institution" | |
498 | -msgstr "Instituição" | |
499 | - | |
500 | -#: search/forms.py:41 | |
501 | -msgid "Role" | |
502 | -msgstr "Papel" | |
503 | - | |
504 | -#: search/forms.py:42 search/templates/search/includes/search_filters.html:132 | |
505 | -#: search/templates/search/includes/search_filters.html:134 | |
506 | -#: search/templates/search/includes/search_filters.html:166 | |
507 | -#: search/templates/search/includes/search_filters.html:167 | |
508 | -msgid "Since" | |
509 | -msgstr "Desde" | |
510 | - | |
511 | -#: search/forms.py:43 search/templates/search/includes/search_filters.html:141 | |
512 | -#: search/templates/search/includes/search_filters.html:143 | |
513 | -#: search/templates/search/includes/search_filters.html:170 | |
514 | -#: search/templates/search/includes/search_filters.html:171 | |
515 | -msgid "Until" | |
516 | -msgstr "Até" | |
517 | - | |
518 | -#: search/forms.py:44 | |
519 | -msgid "Filename" | |
520 | -msgstr "Nome do arquivo" | |
521 | - | |
522 | -#: search/forms.py:45 | |
523 | -msgid "Used by" | |
524 | -msgstr "Usado por" | |
525 | - | |
526 | -#: search/forms.py:46 | |
527 | -msgid "File type" | |
528 | -msgstr "Tipo do arquivo" | |
529 | - | |
530 | -#: search/forms.py:47 | |
531 | -msgid "Size" | |
532 | -msgstr "Tamanho" | |
533 | - | |
534 | -#: search/templates/search/includes/search_filters.html:5 | |
535 | -#: search/templates/search/includes/search_filters.html:33 | |
536 | -#: search/templates/search/includes/search_filters.html:51 | |
537 | -#: search/templates/search/includes/search_filters.html:69 | |
538 | -msgid "Remove filter" | |
539 | -msgstr "Remover filtro" | |
540 | - | |
541 | -#: search/templates/search/includes/search_filters.html:88 | |
542 | -#: search/templates/search/includes/search_filters.html:152 | |
543 | -#: search/templates/search/includes/search_filters.html:176 | |
544 | -msgid "Filter" | |
545 | -msgstr "Filtro" | |
546 | - | |
547 | -#: search/templates/search/includes/search_filters.html:94 | |
548 | -msgid "Sort by" | |
549 | -msgstr "Ordenar por" | |
550 | - | |
551 | -#: search/templates/search/includes/search_filters.html:111 | |
552 | -msgid "Types" | |
553 | -msgstr "Tipos" | |
554 | - | |
555 | -#: search/templates/search/includes/search_filters.html:117 search/views.py:18 | |
556 | -msgid "Discussion" | |
557 | -msgstr "Discussão" | |
558 | - | |
559 | -#: search/templates/search/search.html:5 | |
560 | -msgid "search" | |
561 | -msgstr "busca" | |
562 | - | |
563 | -#: search/templates/search/search.html:51 | |
564 | -msgid "documents found" | |
565 | -msgstr "documentos encontrados" | |
566 | - | |
567 | -#: search/templates/search/search.html:62 | |
568 | -msgid "Search here" | |
569 | -msgstr "Pesquise aqui" | |
570 | - | |
571 | -#: search/templates/search/search.html:74 | |
572 | -#: search/templates/search/search.html:84 | |
573 | -msgid "Filters" | |
574 | -msgstr "Filtros" | |
575 | - | |
576 | -#: search/templates/search/search.html:105 | |
577 | -msgid "No results for your search." | |
578 | -msgstr "Não há resultados para sua busca." | |
579 | - | |
580 | -#: search/templates/search/search.html:107 | |
581 | -msgid "You are searching for" | |
582 | -msgstr "Você está procurando por" | |
583 | - | |
584 | -#: settings.py:113 | |
585 | -msgid "English" | |
586 | -msgstr "Inglês" | |
587 | - | |
588 | -#: settings.py:114 | |
589 | -msgid "Portuguese" | |
590 | -msgstr "Português" | |
591 | - | |
592 | -#: settings.py:115 | |
593 | -msgid "Spanish" | |
594 | -msgstr "Espanhol" | |
595 | - | |
596 | -#: settings.py:138 | |
597 | -msgid "Recent activity" | |
598 | -msgstr "Atividade recente" | |
599 | - | |
600 | -#: settings.py:142 | |
601 | -msgid "Relevance" | |
602 | -msgstr "Relevância" | |
603 | - | |
604 | -#: settings.py:151 | |
605 | -msgid "Document" | |
606 | -msgstr "Documento" | |
607 | - | |
608 | -#: settings.py:153 | |
609 | -msgid "Presentation" | |
610 | -msgstr "Apresentação" | |
611 | - | |
612 | -#: settings.py:154 | |
613 | -msgid "Text" | |
614 | -msgstr "Texto" | |
615 | - | |
616 | -#: settings.py:155 | |
617 | -msgid "Code" | |
618 | -msgstr "Código" | |
181 | +#~ msgid "Password (again)" | |
182 | +#~ msgstr "Senha (novamente)" | |
619 | 183 | |
620 | -#: settings.py:157 | |
621 | -msgid "Compressed" | |
622 | -msgstr "Compactado" | |
184 | +#~ msgid "Enter a valid username." | |
185 | +#~ msgstr "Insira um nome de usuário válido." | |
623 | 186 | |
624 | -#: settings.py:158 | |
625 | -msgid "Image" | |
626 | -msgstr "Imagem" | |
187 | +#~ msgid "Group Subscriptions" | |
188 | +#~ msgstr "Inscrições em grupos" | |
627 | 189 | |
628 | -#: settings.py:160 | |
629 | -msgid "Spreadsheet" | |
630 | -msgstr "Planilha" | |
190 | +#~ msgid "Update subscriptions" | |
191 | +#~ msgstr "Atualizar inscrições" | |
631 | 192 | |
632 | -#: templates/404.html:5 | |
633 | -msgid "Not found. Keep searching! :)" | |
634 | -msgstr "Não encontrado. Continue procurando! :)" | |
193 | +#~ msgid "Sign up" | |
194 | +#~ msgstr "Cadastrar" | |
635 | 195 | |
636 | -#: templates/500.html:2 | |
637 | -msgid "Ooopz... something went wrong!" | |
638 | -msgstr "Ooopa... algo saiu errado!" | |
196 | +#~ msgid "Please correct the errors below and try again." | |
197 | +#~ msgstr "Por favor corrija os erros abaixo e tente novamente." | |
639 | 198 | |
640 | -#: templates/base.html:83 templates/header.html:21 | |
641 | -msgid "Groups" | |
642 | -msgstr "Grupos" | |
199 | +#~ msgid "Required fields" | |
200 | +#~ msgstr "Campos obrigatórios" | |
643 | 201 | |
644 | -#: templates/base.html:119 templates/header.html:59 | |
645 | -msgid "My Profile" | |
646 | -msgstr "Meu Perfil" | |
202 | +#~ msgid "Personal Information" | |
203 | +#~ msgstr "Informações pessoais" | |
204 | + | |
205 | +#~ msgid "Subscribe to groups" | |
206 | +#~ msgstr "Inscreva-se nos grupos" | |
207 | + | |
208 | +#~ msgid "Register" | |
209 | +#~ msgstr "Cadastre-se" | |
210 | + | |
211 | +#~ msgid "Messages" | |
212 | +#~ msgstr "Mensagens" | |
213 | + | |
214 | +#~ msgid "Contributions" | |
215 | +#~ msgstr "Contribuições" | |
216 | + | |
217 | +#~ msgid "edit profile" | |
218 | +#~ msgstr "editar perfil" | |
219 | + | |
220 | +#~ msgid "group membership" | |
221 | +#~ msgstr "Inscrições nos grupos" | |
222 | + | |
223 | +#~ msgid "Twitter account" | |
224 | +#~ msgstr "Conta Twitter" | |
225 | + | |
226 | +#~ msgid "Facebook account" | |
227 | +#~ msgstr "Conta Facebook" | |
228 | + | |
229 | +#~ msgid "Google talk account" | |
230 | +#~ msgstr "Conta Google talk" | |
231 | + | |
232 | +#~ msgid "Github account" | |
233 | +#~ msgstr "Conta Github" | |
234 | + | |
235 | +#~ msgid "Personal webpage" | |
236 | +#~ msgstr "Página web pessoal" | |
237 | + | |
238 | +#~ msgid "Groups: " | |
239 | +#~ msgstr "Grupos: " | |
240 | + | |
241 | +#~ msgid "Collaborations by Type" | |
242 | +#~ msgstr "Colaborações por tipo" | |
243 | + | |
244 | +#~ msgid "Participation by Group" | |
245 | +#~ msgstr "Participação por grupo" | |
246 | + | |
247 | +#~ msgid "Latest posted" | |
248 | +#~ msgstr "Últimas postagens" | |
249 | + | |
250 | +#~ msgid "There are no posts by this user so far." | |
251 | +#~ msgstr "Não há posts deste usuário até agora." | |
252 | + | |
253 | +#~ msgid "View more posts..." | |
254 | +#~ msgstr "Ver mais postagens..." | |
255 | + | |
256 | +#~ msgid "Latest contributions" | |
257 | +#~ msgstr "Últimas colaborações" | |
258 | + | |
259 | +#~ msgid "No contributions of this user so far." | |
260 | +#~ msgstr "Não há contribuições deste usuário até agora." | |
261 | + | |
262 | +#~ msgid "View more contributions..." | |
263 | +#~ msgstr "Ver mais colaborações..." | |
264 | + | |
265 | +#~ msgid "We sent a verification email to " | |
266 | +#~ msgstr "Enviamos um email de verificação para " | |
267 | + | |
268 | +#~ msgid "Please follow the instructions in it." | |
269 | +#~ msgstr "Por favor, siga as instruções." | |
270 | + | |
271 | +#~ msgid "profile information" | |
272 | +#~ msgstr "informações do perfil" | |
273 | + | |
274 | +#~ msgid "Change your avatar at Gravatar.com" | |
275 | +#~ msgstr "Troque seu avatar em Gravatar.com" | |
276 | + | |
277 | +#~ msgid "Emails" | |
278 | +#~ msgstr "Emails" | |
279 | + | |
280 | +#~ msgid "Primary" | |
281 | +#~ msgstr "Primário" | |
282 | + | |
283 | +#~ msgid "Setting..." | |
284 | +#~ msgstr "Definindo..." | |
285 | + | |
286 | +#~ msgid "Set as Primary" | |
287 | +#~ msgstr "Definir como Primário" | |
288 | + | |
289 | +#~ msgid "Deleting..." | |
290 | +#~ msgstr "Apagando..." | |
291 | + | |
292 | +#~ msgid "Delete" | |
293 | +#~ msgstr "Apagar" | |
294 | + | |
295 | +#~ msgid "Sending verification..." | |
296 | +#~ msgstr "Enviando verificação..." | |
297 | + | |
298 | +#~ msgid "Verify" | |
299 | +#~ msgstr "Verificar" | |
300 | + | |
301 | +#~ msgid "Add another email address:" | |
302 | +#~ msgstr "Adicionar outro endereço de email" | |
303 | + | |
304 | +#~ msgid "Add" | |
305 | +#~ msgstr "Adicionar" | |
306 | + | |
307 | +#~ msgid "Change Password" | |
308 | +#~ msgstr "Trocar senha" | |
309 | + | |
310 | +#~ msgid "Update" | |
311 | +#~ msgstr "Atualizar" | |
312 | + | |
313 | +#~ msgid "Please correct the error below and try again." | |
314 | +#~ msgstr "Por favor corrija o erro abaixo e tente novamente." | |
315 | + | |
316 | +#~ msgid "Login" | |
317 | +#~ msgstr "Entrar" | |
318 | + | |
319 | +#~ msgid "Forgot Password?" | |
320 | +#~ msgstr "Esqueci minha Senha?" | |
321 | + | |
322 | +#~ msgid "Change my password" | |
323 | +#~ msgstr "Alterar minha senha" | |
324 | + | |
325 | +#~ msgid "Setting New password" | |
326 | +#~ msgstr "Definir Nova Senha" | |
327 | + | |
328 | +#~ msgid "" | |
329 | +#~ "Forgotten your password? Enter your email address below, and we'll email " | |
330 | +#~ "instructions for setting a new one." | |
331 | +#~ msgstr "" | |
332 | +#~ "Esqueceu sua senha? Digite seu email abaixo, e enviaremos instruções para " | |
333 | +#~ "redefinir sua senha." | |
334 | + | |
335 | +#~ msgid "Email address:" | |
336 | +#~ msgstr "Endereço de email: " | |
337 | + | |
338 | +#~ msgid "Reset password" | |
339 | +#~ msgstr "Redefinir senha" | |
340 | + | |
341 | +#~ msgid "Your profile has been created!" | |
342 | +#~ msgstr "Seu perfil foi criado!" | |
343 | + | |
344 | +#~ msgid "Your password was changed." | |
345 | +#~ msgstr "Sua senha foi modificada." | |
346 | + | |
347 | +#~ msgid "Your password has been set. You may go ahead and log in now." | |
348 | +#~ msgstr "Sua senha foi modificada. Você já pode efetuar o login agora." | |
349 | + | |
350 | +#~ msgid "Fork me!" | |
351 | +#~ msgstr "Fork me!" | |
352 | + | |
353 | +#~ msgid "Gitlab Group" | |
354 | +#~ msgstr "Grupo no Gitlab" | |
355 | + | |
356 | +#~ msgid "Gitlab Groups" | |
357 | +#~ msgstr "Grupos no Gitlab" | |
358 | + | |
359 | +#~ msgid "Gitlab Merge Request" | |
360 | +#~ msgstr "Envio de Contribuição no Gitlab" | |
361 | + | |
362 | +#~ msgid "Gitlab Issue" | |
363 | +#~ msgstr "Tíquete no Gitlab" | |
364 | + | |
365 | +#~ msgid "Gitlab Comments" | |
366 | +#~ msgstr "Comentários no Gitlab" | |
367 | + | |
368 | +#~ msgid "Community" | |
369 | +#~ msgstr "Comunidade" | |
370 | + | |
371 | +#~ msgid "Article" | |
372 | +#~ msgstr "Artigo" | |
373 | + | |
374 | +#~ msgid "Articles" | |
375 | +#~ msgstr "Artigos" | |
376 | + | |
377 | +#~ msgid "Latest Discussions" | |
378 | +#~ msgstr "Últimas discussões" | |
379 | + | |
380 | +#~ msgid "Discussions Most Relevance" | |
381 | +#~ msgstr "Discussões Mais Relevantes" | |
382 | + | |
383 | +#~ msgid "Latest collaborations" | |
384 | +#~ msgstr "Últimas colaborações" | |
385 | + | |
386 | +#~ msgid "Search" | |
387 | +#~ msgstr "Busca" | |
388 | + | |
389 | +#~ msgid "Type" | |
390 | +#~ msgstr "Tipo" | |
391 | + | |
392 | +#~ msgid "Author" | |
393 | +#~ msgstr "Autor" | |
394 | + | |
395 | +#~ msgid "Modified by" | |
396 | +#~ msgstr "Modificado por" | |
397 | + | |
398 | +#~ msgid "Status" | |
399 | +#~ msgstr "Status" | |
400 | + | |
401 | +#~ msgid "Mailinglist" | |
402 | +#~ msgstr "Lista de discussão" | |
403 | + | |
404 | +#~ msgid "Milestone" | |
405 | +#~ msgstr "Marco" | |
406 | + | |
407 | +#~ msgid "Priority" | |
408 | +#~ msgstr "Prioridade" | |
409 | + | |
410 | +#~ msgid "Component" | |
411 | +#~ msgstr "Componente" | |
412 | + | |
413 | +#~ msgid "Severity" | |
414 | +#~ msgstr "Severidade" | |
415 | + | |
416 | +#~ msgid "Reporter" | |
417 | +#~ msgstr "Relator" | |
418 | + | |
419 | +#~ msgid "Keywords" | |
420 | +#~ msgstr "Palavras chave" | |
421 | + | |
422 | +#~ msgid "Collaborators" | |
423 | +#~ msgstr "Colaboradores" | |
424 | + | |
425 | +#~ msgid "Repository" | |
426 | +#~ msgstr "Repositório" | |
427 | + | |
428 | +#~ msgid "Name" | |
429 | +#~ msgstr "Nome" | |
430 | + | |
431 | +#~ msgid "Institution" | |
432 | +#~ msgstr "Instituição" | |
433 | + | |
434 | +#~ msgid "Role" | |
435 | +#~ msgstr "Papel" | |
436 | + | |
437 | +#~ msgid "Since" | |
438 | +#~ msgstr "Desde" | |
439 | + | |
440 | +#~ msgid "Until" | |
441 | +#~ msgstr "Até" | |
442 | + | |
443 | +#~ msgid "Filename" | |
444 | +#~ msgstr "Nome do arquivo" | |
445 | + | |
446 | +#~ msgid "Used by" | |
447 | +#~ msgstr "Usado por" | |
448 | + | |
449 | +#~ msgid "File type" | |
450 | +#~ msgstr "Tipo do arquivo" | |
451 | + | |
452 | +#~ msgid "Size" | |
453 | +#~ msgstr "Tamanho" | |
454 | + | |
455 | +#~ msgid "Remove filter" | |
456 | +#~ msgstr "Remover filtro" | |
457 | + | |
458 | +#~ msgid "Filter" | |
459 | +#~ msgstr "Filtro" | |
460 | + | |
461 | +#~ msgid "Sort by" | |
462 | +#~ msgstr "Ordenar por" | |
463 | + | |
464 | +#~ msgid "Types" | |
465 | +#~ msgstr "Tipos" | |
466 | + | |
467 | +#~ msgid "Discussion" | |
468 | +#~ msgstr "Discussão" | |
469 | + | |
470 | +#~ msgid "search" | |
471 | +#~ msgstr "busca" | |
472 | + | |
473 | +#~ msgid "documents found" | |
474 | +#~ msgstr "documentos encontrados" | |
475 | + | |
476 | +#~ msgid "Search here" | |
477 | +#~ msgstr "Pesquise aqui" | |
478 | + | |
479 | +#~ msgid "Filters" | |
480 | +#~ msgstr "Filtros" | |
481 | + | |
482 | +#~ msgid "No results for your search." | |
483 | +#~ msgstr "Não há resultados para sua busca." | |
484 | + | |
485 | +#~ msgid "You are searching for" | |
486 | +#~ msgstr "Você está procurando por" | |
487 | + | |
488 | +#~ msgid "English" | |
489 | +#~ msgstr "Inglês" | |
490 | + | |
491 | +#~ msgid "Portuguese" | |
492 | +#~ msgstr "Português" | |
493 | + | |
494 | +#~ msgid "Spanish" | |
495 | +#~ msgstr "Espanhol" | |
496 | + | |
497 | +#~ msgid "Recent activity" | |
498 | +#~ msgstr "Atividade recente" | |
499 | + | |
500 | +#~ msgid "Relevance" | |
501 | +#~ msgstr "Relevância" | |
502 | + | |
503 | +#~ msgid "Document" | |
504 | +#~ msgstr "Documento" | |
505 | + | |
506 | +#~ msgid "Presentation" | |
507 | +#~ msgstr "Apresentação" | |
508 | + | |
509 | +#~ msgid "Text" | |
510 | +#~ msgstr "Texto" | |
511 | + | |
512 | +#~ msgid "Compressed" | |
513 | +#~ msgstr "Compactado" | |
514 | + | |
515 | +#~ msgid "Image" | |
516 | +#~ msgstr "Imagem" | |
517 | + | |
518 | +#~ msgid "Spreadsheet" | |
519 | +#~ msgstr "Planilha" | |
520 | + | |
521 | +#~ msgid "Not found. Keep searching! :)" | |
522 | +#~ msgstr "Não encontrado. Continue procurando! :)" | |
523 | + | |
524 | +#~ msgid "Ooopz... something went wrong!" | |
525 | +#~ msgstr "Ooopa... algo saiu errado!" | |
647 | 526 | |
648 | -#: templates/base.html:120 templates/base.html.py:121 templates/header.html:60 | |
649 | -#: templates/header.html.py:61 | |
650 | -msgid "Logout" | |
651 | -msgstr "Sair" | |
527 | +#~ msgid "Logout" | |
528 | +#~ msgstr "Sair" | |
652 | 529 | |
653 | -#: templates/base.html:132 templates/base.html.py:135 templates/header.html:72 | |
654 | -#: templates/header.html.py:75 | |
655 | -msgid "Search here..." | |
656 | -msgstr "Pesquise aqui..." | |
530 | +#~ msgid "Search here..." | |
531 | +#~ msgstr "Pesquise aqui..." | |
657 | 532 | |
658 | -#: templates/base.html:149 | |
659 | -msgid "The login has failed. Please, try again." | |
660 | -msgstr "O login falhou. Por favor, tente novamente." | |
533 | +#~ msgid "The login has failed. Please, try again." | |
534 | +#~ msgstr "O login falhou. Por favor, tente novamente." | |
661 | 535 | |
662 | -#: templates/footer.html:6 | |
663 | -msgid "Last email imported at" | |
664 | -msgstr "Último email importado em" | |
536 | +#~ msgid "Last email imported at" | |
537 | +#~ msgstr "Último email importado em" | |
665 | 538 | |
666 | -#: templates/footer.html:12 | |
667 | -msgid "The contents of this site is published under license" | |
668 | -msgstr "O conteúdo deste site está publicado sob a licença" | |
539 | +#~ msgid "The contents of this site is published under license" | |
540 | +#~ msgstr "O conteúdo deste site está publicado sob a licença" | |
669 | 541 | |
670 | -#: templates/footer.html:15 | |
671 | -msgid "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
672 | -msgstr "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
542 | +#~ msgid "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
543 | +#~ msgstr "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
673 | 544 | |
674 | -#: templates/header.html:26 | |
675 | -msgid "Paste" | |
676 | -msgstr "Cole aqui" | |
545 | +#~ msgid "Paste" | |
546 | +#~ msgstr "Cole aqui" | |
677 | 547 | |
678 | -#: templates/home.html:17 | |
679 | -msgid "Latest Collaborations" | |
680 | -msgstr "Últimas Colaborações" | |
548 | +#~ msgid "Latest Collaborations" | |
549 | +#~ msgstr "Últimas Colaborações" | |
681 | 550 | |
682 | -#: templates/home.html:21 | |
683 | -msgid "RSS - Latest collaborations" | |
684 | -msgstr "RSS - Últimas Colaborações" | |
551 | +#~ msgid "RSS - Latest collaborations" | |
552 | +#~ msgstr "RSS - Últimas Colaborações" | |
685 | 553 | |
686 | -#: templates/home.html:30 | |
687 | -msgid "View more collaborations..." | |
688 | -msgstr "Ver mais colaborações..." | |
554 | +#~ msgid "View more collaborations..." | |
555 | +#~ msgstr "Ver mais colaborações..." | |
689 | 556 | |
690 | -#: templates/home.html:37 | |
691 | -msgid "Collaboration Graph" | |
692 | -msgstr "Gráfico de Colaborações" | |
557 | +#~ msgid "Collaboration Graph" | |
558 | +#~ msgstr "Gráfico de Colaborações" | |
693 | 559 | |
694 | -#: templates/home.html:48 | |
695 | -msgid "Most Relevant Threads" | |
696 | -msgstr "Discussões Mais Relevantes" | |
560 | +#~ msgid "Most Relevant Threads" | |
561 | +#~ msgstr "Discussões Mais Relevantes" | |
697 | 562 | |
698 | -#: templates/home.html:52 | |
699 | -msgid "RSS - Most Relevant Threads" | |
700 | -msgstr "RSS - Discussões Mais Relevantes" | |
563 | +#~ msgid "RSS - Most Relevant Threads" | |
564 | +#~ msgstr "RSS - Discussões Mais Relevantes" | |
701 | 565 | |
702 | -#: templates/home.html:60 templates/home.html.py:79 | |
703 | -msgid "View more discussions..." | |
704 | -msgstr "Ver mais discussões..." | |
566 | +#~ msgid "View more discussions..." | |
567 | +#~ msgstr "Ver mais discussões..." | |
705 | 568 | |
706 | -#: templates/home.html:67 | |
707 | -msgid "Latest Threads" | |
708 | -msgstr "Últimas Discussões" | |
569 | +#~ msgid "Latest Threads" | |
570 | +#~ msgstr "Últimas Discussões" | |
709 | 571 | |
710 | -#: templates/home.html:71 | |
711 | -msgid "RSS - Latest Threads" | |
712 | -msgstr "RSS - Últimas Discussões" | |
572 | +#~ msgid "RSS - Latest Threads" | |
573 | +#~ msgstr "RSS - Últimas Discussões" | ... | ... |
... | ... | @@ -0,0 +1,18 @@ |
1 | +from django import template | |
2 | + | |
3 | + | |
4 | +register = template.Library() | |
5 | + | |
6 | + | |
7 | +@register.assignment_tag | |
8 | +def get_search_preview_templates(model_indexed): | |
9 | + app_type = model_indexed.type | |
10 | + | |
11 | + return "search/{}_search_preview.html".format(app_type) | |
12 | + | |
13 | + | |
14 | +@register.assignment_tag | |
15 | +def get_dashboard_search_preview_templates(model_indexed): | |
16 | + app_type = model_indexed.type | |
17 | + | |
18 | + return "dashboard/{}_search_preview.html".format(app_type) | ... | ... |
colab/search/tests.py
... | ... | @@ -1,130 +0,0 @@ |
1 | -# -*- coding:utf-8 -*- | |
2 | - | |
3 | -import mock | |
4 | - | |
5 | -from colab.plugins.utils import filters_importer | |
6 | -from django.test import TestCase, Client | |
7 | -from django.core.management import call_command | |
8 | -from colab.search.forms import ColabSearchForm | |
9 | - | |
10 | - | |
11 | -class SearchViewTest(TestCase): | |
12 | - | |
13 | - fixtures = ['test_data.json'] | |
14 | - | |
15 | - def setUp(self): | |
16 | - call_command('rebuild_index', interactive=False, verbosity=0) | |
17 | - self.client = Client() | |
18 | - | |
19 | - def tearDown(self): | |
20 | - call_command('clear_index', interactive=False, verbosity=0) | |
21 | - | |
22 | - def test_search_thread(self): | |
23 | - request = self.client.get('/search/?q=thread') | |
24 | - thread_list = request.context['page'].object_list | |
25 | - | |
26 | - self.assertEqual(3, len(thread_list)) | |
27 | - | |
28 | - condition = any('This is a repply to Thread 1 on list A' in | |
29 | - t.description for t in thread_list) | |
30 | - self.assertTrue(condition) | |
31 | - condition = any('This is a repply to Thread 1 on list B' in | |
32 | - t.description for t in thread_list) | |
33 | - self.assertTrue(condition) | |
34 | - condition = any('This is a repply to Thread 1 on list C' in | |
35 | - t.description for t in thread_list) | |
36 | - self.assertTrue(condition) | |
37 | - | |
38 | - def test_search_account_by_firstName(self): | |
39 | - request = self.client.get('/search/?q=Chuck') | |
40 | - user_list = request.context['page'].object_list | |
41 | - | |
42 | - self.assertEqual(1, len(user_list)) | |
43 | - | |
44 | - self.assertIn('chucknorris@mail.com', user_list[0].object.email) | |
45 | - self.assertIn('Chuck', user_list[0].object.first_name) | |
46 | - self.assertIn('Norris', user_list[0].object.last_name) | |
47 | - self.assertIn('chucknorris', user_list[0].object.username) | |
48 | - | |
49 | - def test_search_account_by_lastName(self): | |
50 | - request = self.client.get('/search/?q=Norris') | |
51 | - user_list = request.context['page'].object_list | |
52 | - | |
53 | - self.assertEqual(2, len(user_list)) | |
54 | - | |
55 | - self.assertIn('heisenberg@mail.com', user_list[1].object.email) | |
56 | - self.assertIn('Heisenberg', user_list[1].object.first_name) | |
57 | - self.assertIn('Norris', user_list[1].object.last_name) | |
58 | - self.assertIn('heisenbergnorris', user_list[1].object.username) | |
59 | - | |
60 | - self.assertIn('chucknorris@mail.com', user_list[0].object.email) | |
61 | - self.assertIn('Chuck', user_list[0].object.first_name) | |
62 | - self.assertIn('Norris', user_list[0].object.last_name) | |
63 | - self.assertIn('chucknorris', user_list[0].object.username) | |
64 | - | |
65 | - def test_search_plugin_filters(self): | |
66 | - plugin_filter = { | |
67 | - 'plugin_name': { | |
68 | - 'name': 'PluginData', | |
69 | - 'icon': 'plugin_icon', | |
70 | - 'fields': ( | |
71 | - ('field_1', 'Field1', ''), | |
72 | - ('field_2', 'Field2', ''), | |
73 | - ), | |
74 | - }, | |
75 | - } | |
76 | - filters_importer.import_plugin_filters = mock.Mock( | |
77 | - return_value=plugin_filter) | |
78 | - | |
79 | - request = self.client.get('/search/?q=') | |
80 | - | |
81 | - value = [('plugin_name', 'PluginData', 'plugin_icon')] | |
82 | - | |
83 | - self.assertEqual(request.context['filters_options'], value) | |
84 | - | |
85 | - def test_search_dynamic_form_fields(self): | |
86 | - plugin_filter = { | |
87 | - 'plugin_name': { | |
88 | - 'name': 'PluginData', | |
89 | - 'icon': 'plugin_icon', | |
90 | - 'fields': ( | |
91 | - ('field_1', 'Field1', ''), | |
92 | - ('field_2', 'Field2', ''), | |
93 | - ), | |
94 | - }, | |
95 | - } | |
96 | - filters_importer.import_plugin_filters = mock.Mock( | |
97 | - return_value=plugin_filter) | |
98 | - | |
99 | - form = ColabSearchForm() | |
100 | - | |
101 | - self.assertIn('field_1', form.fields.keys()) | |
102 | - self.assertIn('field_2', form.fields.keys()) | |
103 | - | |
104 | - def test_search_multiple_filters(self): | |
105 | - request = self.client.get('/search/?q=&type=thread+user') | |
106 | - user_list = request.context['page'].object_list | |
107 | - | |
108 | - self.assertEqual(6, len(user_list)) | |
109 | - | |
110 | - self.assertIn('admin@mail.com', user_list[0].object.email) | |
111 | - self.assertIn('admin', user_list[0].object.username) | |
112 | - | |
113 | - self.assertIn('chucknorris@mail.com', user_list[1].object.email) | |
114 | - self.assertIn('Chuck', user_list[1].object.first_name) | |
115 | - self.assertIn('Norris', user_list[1].object.last_name) | |
116 | - self.assertIn('chucknorris', user_list[1].object.username) | |
117 | - | |
118 | - self.assertIn('heisenberg@mail.com', user_list[2].object.email) | |
119 | - self.assertIn('Heisenberg', user_list[2].object.first_name) | |
120 | - self.assertIn('Norris', user_list[2].object.last_name) | |
121 | - self.assertIn('heisenbergnorris', user_list[2].object.username) | |
122 | - | |
123 | - self.assertIn('Admin Administrator', user_list[3].author) | |
124 | - self.assertIn('Response to Thread 1A', user_list[3].title) | |
125 | - | |
126 | - self.assertIn('Admin Administrator', user_list[4].author) | |
127 | - self.assertIn('Message 1 on Thread 1B', user_list[4].title) | |
128 | - | |
129 | - self.assertIn('Admin Administrator', user_list[5].author) | |
130 | - self.assertIn('Message 1 on Thread 1C', user_list[5].title) |
... | ... | @@ -0,0 +1,130 @@ |
1 | +# -*- coding:utf-8 -*- | |
2 | + | |
3 | +import mock | |
4 | + | |
5 | +from colab.plugins.utils import filters_importer | |
6 | +from django.test import TestCase, Client | |
7 | +from django.core.management import call_command | |
8 | +from colab.search.forms import ColabSearchForm | |
9 | + | |
10 | + | |
11 | +class SearchViewTest(TestCase): | |
12 | + | |
13 | + fixtures = ['test_data.json'] | |
14 | + | |
15 | + def setUp(self): | |
16 | + call_command('rebuild_index', interactive=False, verbosity=0) | |
17 | + self.client = Client() | |
18 | + | |
19 | + def tearDown(self): | |
20 | + call_command('clear_index', interactive=False, verbosity=0) | |
21 | + | |
22 | + def test_search_thread(self): | |
23 | + request = self.client.get('/search/?q=thread') | |
24 | + thread_list = request.context['page'].object_list | |
25 | + | |
26 | + self.assertEqual(3, len(thread_list)) | |
27 | + | |
28 | + condition = any('This is a repply to Thread 1 on list A' in | |
29 | + t.description for t in thread_list) | |
30 | + self.assertTrue(condition) | |
31 | + condition = any('This is a repply to Thread 1 on list B' in | |
32 | + t.description for t in thread_list) | |
33 | + self.assertTrue(condition) | |
34 | + condition = any('This is a repply to Thread 1 on list C' in | |
35 | + t.description for t in thread_list) | |
36 | + self.assertTrue(condition) | |
37 | + | |
38 | + def test_search_account_by_firstName(self): | |
39 | + request = self.client.get('/search/?q=Chuck') | |
40 | + user_list = request.context['page'].object_list | |
41 | + | |
42 | + self.assertEqual(1, len(user_list)) | |
43 | + | |
44 | + self.assertIn('chucknorris@mail.com', user_list[0].object.email) | |
45 | + self.assertIn('Chuck', user_list[0].object.first_name) | |
46 | + self.assertIn('Norris', user_list[0].object.last_name) | |
47 | + self.assertIn('chucknorris', user_list[0].object.username) | |
48 | + | |
49 | + def test_search_account_by_lastName(self): | |
50 | + request = self.client.get('/search/?q=Norris') | |
51 | + user_list = request.context['page'].object_list | |
52 | + | |
53 | + self.assertEqual(2, len(user_list)) | |
54 | + | |
55 | + self.assertIn('heisenberg@mail.com', user_list[1].object.email) | |
56 | + self.assertIn('Heisenberg', user_list[1].object.first_name) | |
57 | + self.assertIn('Norris', user_list[1].object.last_name) | |
58 | + self.assertIn('heisenbergnorris', user_list[1].object.username) | |
59 | + | |
60 | + self.assertIn('chucknorris@mail.com', user_list[0].object.email) | |
61 | + self.assertIn('Chuck', user_list[0].object.first_name) | |
62 | + self.assertIn('Norris', user_list[0].object.last_name) | |
63 | + self.assertIn('chucknorris', user_list[0].object.username) | |
64 | + | |
65 | + def test_search_plugin_filters(self): | |
66 | + plugin_filter = { | |
67 | + 'plugin_name': { | |
68 | + 'name': 'PluginData', | |
69 | + 'icon': 'plugin_icon', | |
70 | + 'fields': ( | |
71 | + ('field_1', 'Field1', ''), | |
72 | + ('field_2', 'Field2', ''), | |
73 | + ), | |
74 | + }, | |
75 | + } | |
76 | + filters_importer.import_plugin_filters = mock.Mock( | |
77 | + return_value=plugin_filter) | |
78 | + | |
79 | + request = self.client.get('/search/?q=') | |
80 | + | |
81 | + value = [('plugin_name', 'PluginData', 'plugin_icon')] | |
82 | + | |
83 | + self.assertEqual(request.context['filters_options'], value) | |
84 | + | |
85 | + def test_search_dynamic_form_fields(self): | |
86 | + plugin_filter = { | |
87 | + 'plugin_name': { | |
88 | + 'name': 'PluginData', | |
89 | + 'icon': 'plugin_icon', | |
90 | + 'fields': ( | |
91 | + ('field_1', 'Field1', ''), | |
92 | + ('field_2', 'Field2', ''), | |
93 | + ), | |
94 | + }, | |
95 | + } | |
96 | + filters_importer.import_plugin_filters = mock.Mock( | |
97 | + return_value=plugin_filter) | |
98 | + | |
99 | + form = ColabSearchForm() | |
100 | + | |
101 | + self.assertIn('field_1', form.fields.keys()) | |
102 | + self.assertIn('field_2', form.fields.keys()) | |
103 | + | |
104 | + def test_search_multiple_filters(self): | |
105 | + request = self.client.get('/search/?q=&type=thread+user') | |
106 | + user_list = request.context['page'].object_list | |
107 | + | |
108 | + self.assertEqual(6, len(user_list)) | |
109 | + | |
110 | + self.assertIn('admin@mail.com', user_list[0].object.email) | |
111 | + self.assertIn('admin', user_list[0].object.username) | |
112 | + | |
113 | + self.assertIn('chucknorris@mail.com', user_list[1].object.email) | |
114 | + self.assertIn('Chuck', user_list[1].object.first_name) | |
115 | + self.assertIn('Norris', user_list[1].object.last_name) | |
116 | + self.assertIn('chucknorris', user_list[1].object.username) | |
117 | + | |
118 | + self.assertIn('heisenberg@mail.com', user_list[2].object.email) | |
119 | + self.assertIn('Heisenberg', user_list[2].object.first_name) | |
120 | + self.assertIn('Norris', user_list[2].object.last_name) | |
121 | + self.assertIn('heisenbergnorris', user_list[2].object.username) | |
122 | + | |
123 | + self.assertIn('Admin Administrator', user_list[3].author) | |
124 | + self.assertIn('Response to Thread 1A', user_list[3].title) | |
125 | + | |
126 | + self.assertIn('Admin Administrator', user_list[4].author) | |
127 | + self.assertIn('Message 1 on Thread 1B', user_list[4].title) | |
128 | + | |
129 | + self.assertIn('Admin Administrator', user_list[5].author) | |
130 | + self.assertIn('Message 1 on Thread 1C', user_list[5].title) | ... | ... |
... | ... | @@ -0,0 +1,34 @@ |
1 | +# -*- coding:utf-8 -*- | |
2 | + | |
3 | +from django.test import TestCase | |
4 | +from colab.search.templatetags.search_preview_templates import ( | |
5 | + get_search_preview_templates) | |
6 | +from mock import MagicMock, PropertyMock | |
7 | + | |
8 | + | |
9 | +class SearchTemplateTagsTest(TestCase): | |
10 | + | |
11 | + def setUp(self): | |
12 | + self.model_indexed_mock = MagicMock() | |
13 | + self.template_path = "{}/{}_search_preview.html" | |
14 | + | |
15 | + def set_mock_value(self, value): | |
16 | + type(self.model_indexed_mock).type = PropertyMock(return_value=value) | |
17 | + | |
18 | + def test_get_search_preview_templates_with_user(self): | |
19 | + self.set_mock_value("user") | |
20 | + include_path = get_search_preview_templates(self.model_indexed_mock) | |
21 | + self.assertEqual(include_path, self.template_path.format("search", | |
22 | + "user")) | |
23 | + | |
24 | + def test_get_search_preview_templates_with_thread(self): | |
25 | + self.set_mock_value("thread") | |
26 | + include_path = get_search_preview_templates(self.model_indexed_mock) | |
27 | + self.assertEqual(include_path, | |
28 | + self.template_path.format("search", "thread")) | |
29 | + | |
30 | + def test_get_search_preview_templates_with_plugin(self): | |
31 | + self.set_mock_value("plugin_model") | |
32 | + include_path = get_search_preview_templates(self.model_indexed_mock) | |
33 | + self.assertEqual(include_path, | |
34 | + self.template_path.format("search", "plugin_model")) | ... | ... |
colab/super_archives/templates/dashboard/thread_search_preview.html
0 → 100644
... | ... | @@ -0,0 +1,69 @@ |
1 | +{% load i18n tz highlight %} | |
2 | + | |
3 | +<li class="preview-message"> | |
4 | +<span class="glyphicon glyphicon-{{ result.icon_name }}" title="{{ result.type }}"></span> | |
5 | + | |
6 | +{% if result.tag %} | |
7 | +<a href="{% firstof result.mailinglist_url result.mailinglist.get_absolute_url result.url %}"> | |
8 | + <span class="label label-primary">{{ result.tag }}</span> | |
9 | +</a> | |
10 | +{% endif %} | |
11 | + | |
12 | +{% if result.title %} | |
13 | + <a href="{{ result.url }}{% if result.type == 'thread' and result.latest_message_pk %}#msg-{{ result.latest_message_pk }}{% elif result.type == 'thread' and result.pk %}#msg-{{ result.pk }}{% endif %}" {% if result.latest_description %}title="{{ result.latest_description|escape|truncatechars:150 }}"{% elif result.description %}title="{{ result.description|escape|truncatechars:150 }}"{% endif %}> | |
14 | + <span class="subject"> | |
15 | + <!-- a striptags filter was raising an error here because using with highlight --> | |
16 | + {% if query %} | |
17 | + {% highlight result.title with query max_length "1000" %} | |
18 | + {% else %} | |
19 | + {{ result.title }} | |
20 | + {% endif %} | |
21 | + </span> | |
22 | + </a> | |
23 | +{% endif %} | |
24 | + | |
25 | +{% if result.description %} | |
26 | + <!-- a striptags filter was raising an error here because using with highlight --> | |
27 | + <span class="quiet">- {% if query %} | |
28 | + {% highlight result.description with query max_length "150" %} | |
29 | + {% else %} | |
30 | + {% if result.latest_description %} | |
31 | + {{ result.latest_description|striptags|escape|truncatechars:150 }} | |
32 | + {% elif result.description %} | |
33 | + {{ result.description|striptags|escape|truncatechars:150 }} | |
34 | + {% endif %} | |
35 | + {% endif %} | |
36 | + </span> | |
37 | +{% endif %} | |
38 | + | |
39 | +{% if result.fullname or result.modified or result.modified_by %} | |
40 | + <div class="quiet"> | |
41 | + {% if result.modified_by %} | |
42 | + <span class="pull-left">{% trans "by" %} | |
43 | + {% if result.modified_by_url %} | |
44 | + <a href="{{ result.modified_by_url }}"> | |
45 | + {% else %} | |
46 | + <span> | |
47 | + {% endif %} | |
48 | + | |
49 | + {% if query %} | |
50 | + {% highlight result.modified_by with query %} | |
51 | + {% else %} | |
52 | + {{ result.modified_by }} | |
53 | + {% endif %} | |
54 | + | |
55 | + {% if result.modified_by_url %} | |
56 | + </a> | |
57 | + {% else %} | |
58 | + </span> | |
59 | + {% endif %} | |
60 | + </span> | |
61 | + {% else %} | |
62 | + <span class="pull-left">{% trans "by" %} {% trans "Anonymous" %}</span> | |
63 | + {% endif %} | |
64 | + {% if result.modified %} | |
65 | + <span class="pull-right">{{ result.modified|localtime|timesince }} {% trans "ago" %}</span> | |
66 | + {% endif %} | |
67 | + </div> | |
68 | +{% endif %} | |
69 | +</li> | |
0 | 70 | \ No newline at end of file | ... | ... |
colab/super_archives/templates/message-preview.html
... | ... | @@ -1,69 +0,0 @@ |
1 | -{% load i18n tz highlight %} | |
2 | - | |
3 | -<li class="preview-message"> | |
4 | -<span class="glyphicon glyphicon-{{ result.icon_name }}" title="{{ result.type }}"></span> | |
5 | - | |
6 | -{% if result.tag %} | |
7 | -<a href="{% firstof result.mailinglist_url result.mailinglist.get_absolute_url result.url %}"> | |
8 | - <span class="label label-primary">{{ result.tag }}</span> | |
9 | -</a> | |
10 | -{% endif %} | |
11 | - | |
12 | -{% if result.title %} | |
13 | - <a href="{{ result.url }}{% if result.type == 'thread' and result.latest_message_pk %}#msg-{{ result.latest_message_pk }}{% elif result.type == 'thread' and result.pk %}#msg-{{ result.pk }}{% endif %}" {% if result.latest_description %}title="{{ result.latest_description|escape|truncatechars:150 }}"{% elif result.description %}title="{{ result.description|escape|truncatechars:150 }}"{% endif %}> | |
14 | - <span class="subject"> | |
15 | - <!-- a striptags filter was raising an error here because using with highlight --> | |
16 | - {% if query %} | |
17 | - {% highlight result.title with query max_length "1000" %} | |
18 | - {% else %} | |
19 | - {{ result.title }} | |
20 | - {% endif %} | |
21 | - </span> | |
22 | - </a> | |
23 | -{% endif %} | |
24 | - | |
25 | -{% if result.description %} | |
26 | - <!-- a striptags filter was raising an error here because using with highlight --> | |
27 | - <span class="quiet">- {% if query %} | |
28 | - {% highlight result.description with query max_length "150" %} | |
29 | - {% else %} | |
30 | - {% if result.latest_description %} | |
31 | - {{ result.latest_description|striptags|escape|truncatechars:150 }} | |
32 | - {% elif result.description %} | |
33 | - {{ result.description|striptags|escape|truncatechars:150 }} | |
34 | - {% endif %} | |
35 | - {% endif %} | |
36 | - </span> | |
37 | -{% endif %} | |
38 | - | |
39 | -{% if result.fullname or result.modified or result.modified_by %} | |
40 | - <div class="quiet"> | |
41 | - {% if result.modified_by %} | |
42 | - <span class="pull-left">{% trans "by" %} | |
43 | - {% if result.modified_by_url %} | |
44 | - <a href="{{ result.modified_by_url }}"> | |
45 | - {% else %} | |
46 | - <span> | |
47 | - {% endif %} | |
48 | - | |
49 | - {% if query %} | |
50 | - {% highlight result.modified_by with query %} | |
51 | - {% else %} | |
52 | - {{ result.modified_by }} | |
53 | - {% endif %} | |
54 | - | |
55 | - {% if result.modified_by_url %} | |
56 | - </a> | |
57 | - {% else %} | |
58 | - </span> | |
59 | - {% endif %} | |
60 | - </span> | |
61 | - {% else %} | |
62 | - <span class="pull-left">{% trans "by" %} {% trans "Anonymous" %}</span> | |
63 | - {% endif %} | |
64 | - {% if result.modified %} | |
65 | - <span class="pull-right">{{ result.modified|localtime|timesince }} {% trans "ago" %}</span> | |
66 | - {% endif %} | |
67 | - </div> | |
68 | -{% endif %} | |
69 | -</li> |
colab/super_archives/templates/search/thread_search_preview.html
0 → 100644
... | ... | @@ -0,0 +1,13 @@ |
1 | +{% load i18n tz highlight date_format %} | |
2 | + | |
3 | +<div class="row"> | |
4 | + <div class="col-md-12"> | |
5 | + <small>{% datetime_format result.modified %} - <a href="{{result.modified_by_url}}">{{ result.modified_by }}</a></small><br> | |
6 | + <h4><a href="{{result.url}}">{{ result.title }}</a></h4> | |
7 | + {% with result.latest_description|truncatewords:"85" as description %} | |
8 | + {{description | default_if_none:"a"}}<br> | |
9 | + {% endwith %} | |
10 | + <small>{% trans "Registred in" %}: <strong>{% trans "Discussion" %}</strong></small> | |
11 | + </div> | |
12 | + <hr> | |
13 | +</div> | ... | ... |
colab/templates/home.html
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 | </a> |
23 | 23 | <ul class="message-list"> |
24 | 24 | {% for result in latest_results %} |
25 | - {% include "message-preview.html" %} | |
25 | + {% include "dashboard-message-preview.html" %} | |
26 | 26 | {% endfor %} |
27 | 27 | </ul> |
28 | 28 | <a class="column-align" |
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | </a> |
54 | 54 | <ul class="message-list"> |
55 | 55 | {% for thread in hottest_threads %} |
56 | - {% include "message-preview.html" with result=thread %} | |
56 | + {% include "dashboard-message-preview.html" with result=thread %} | |
57 | 57 | {% endfor %} |
58 | 58 | </ul> |
59 | 59 | <a href="{% url 'haystack_search' %}?type=thread"> |
... | ... | @@ -72,7 +72,7 @@ |
72 | 72 | </a> |
73 | 73 | <ul class="message-list"> |
74 | 74 | {% for thread in latest_threads %} |
75 | - {% include "message-preview.html" with result=thread.latest_message %} | |
75 | + {% include "dashboard-message-preview.html" with result=thread.latest_message %} | |
76 | 76 | {% endfor %} |
77 | 77 | </ul> |
78 | 78 | <a href="{% url 'haystack_search' %}?type=thread&order=latest"> | ... | ... |