Compare View
Commits (27)
-
Signed-off-by: Sergio Oliveira <sergio@tracy.com.br>
-
Would be nice that `private_token` gets deprecated and that the plugins to use it through the . Signed off by: Diego Araújo <diegoamc90@gmail.com>
-
Plugin extra configurations
-
Signed-off-by: Sergio Oliveira <sergio@tracy.com.br>
-
Signed-off-by: Sergio Oliveira <sergio@tracy.com.br>
-
Update development environment stuff in README
-
Signed-off-by: Carlos Oliveira <carlospecter@gmail.com> Signed-off-by: Peter Lima <peterlima@gmail.com>
-
Cleaned up HTML and extracted header
-
Signed-off-by: Carlos Oliveira <carlospecter@gmail.com>
-
Add requests as dep in setup.py
-
Signed-off-by: Sérgio Oliveira <sergio@tracy.com.br>
-
Signed-off-by: Sergio Oliveira <sergio@tracy.com.br>
-
Signed-off-by: Sergio Oliveira <sergio@tracy.com.br> Signed-off-by: Lucas Kanashiro <kanashiro.duarte@gmail.com>
-
Signed-off-by: Macartur Sousa <macartur.sc@gmail.com> Signed-off-by: Matheus Fernandes <matheus.souza.fernandes@gmail.com>
-
Signed-off-by: Lucas Kanashiro <kanashiro.duarte@gmail.com> Signed-off-by: Lucas Moura <lucas.moura128@gmail.com>
-
Update translations
-
Signed-off-by: Charles Oliveira <18oliveira.charles@gmail.com> Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
Showing
38 changed files
Show diff stats
README.rst
| ... | ... | @@ -50,8 +50,18 @@ First install the dependencies and than the project it self: |
| 50 | 50 | |
| 51 | 51 | .. code-block:: |
| 52 | 52 | |
| 53 | - pip install -r requirements.txt | |
| 54 | - pip install . | |
| 53 | + pip install -e . | |
| 54 | + | |
| 55 | +Development environment | |
| 56 | +----------------------- | |
| 57 | + | |
| 58 | +You must install vagrant to set up the development environment. With vagrant available you should run: | |
| 59 | + | |
| 60 | +.. code-block:: | |
| 61 | + | |
| 62 | + vagrant up | |
| 63 | + | |
| 64 | +During the process you should choose the vagrant box that you want to use. In the end you should have a virtual machine with development environment set up. | |
| 55 | 65 | |
| 56 | 66 | |
| 57 | 67 | |
| ... | ... | @@ -60,13 +70,17 @@ Running Colab |
| 60 | 70 | |
| 61 | 71 | To run Colab with development server you will have to: |
| 62 | 72 | |
| 63 | -1- Create the example configuration file: | |
| 73 | +1- Log in virtual machine: | |
| 64 | 74 | |
| 65 | 75 | .. code-block:: |
| 66 | 76 | |
| 67 | - colab-admin initconfig > /etc/colab/settings.py | |
| 77 | + vagrant ssh | |
| 68 | 78 | |
| 69 | -2- Edit the configuration file. Make sure you set everything you need including **database** credentials. | |
| 79 | +2- Use colab virtualenv: | |
| 80 | + | |
| 81 | +.. code-block:: | |
| 82 | + | |
| 83 | + workon colab | |
| 70 | 84 | |
| 71 | 85 | 3- Run the development server: |
| 72 | 86 | |
| ... | ... | @@ -74,6 +88,7 @@ To run Colab with development server you will have to: |
| 74 | 88 | |
| 75 | 89 | colab-admin runserver 0.0.0.0:8000 |
| 76 | 90 | |
| 91 | +Now you can access colab in your browser via http://localhost:8000 | |
| 77 | 92 | |
| 78 | 93 | **NOTE**: In case you want to keep the configuration file else where just set the |
| 79 | 94 | desired location in environment variable **COLAB_SETTINGS**. |
| ... | ... | @@ -84,12 +99,33 @@ About test |
| 84 | 99 | How to write a test |
| 85 | 100 | -------------------- |
| 86 | 101 | Inside of each folder on /vagrant/colab/<folder> you can create a folder called |
| 87 | -"tests", and inside of it implements the code for test each file. | |
| 102 | +"tests" and inside of it implements the code for test each file. Remember that you should create __init__.py file. | |
| 88 | 103 | |
| 89 | 104 | How to run the tests |
| 90 | 105 | -------------------- |
| 91 | 106 | |
| 92 | 107 | Follow the steps below: |
| 93 | 108 | |
| 94 | -* Go to vagrant/colab/ | |
| 95 | -* run: ./runtests.sh | |
| 109 | +1- Log in virtual machine: | |
| 110 | + | |
| 111 | +.. code-block:: | |
| 112 | + | |
| 113 | + vagrant ssh | |
| 114 | + | |
| 115 | +2- Use colab virtualenv: | |
| 116 | + | |
| 117 | +.. code-block:: | |
| 118 | + | |
| 119 | + workon colab | |
| 120 | + | |
| 121 | +3- Enter into colab source code directory: | |
| 122 | + | |
| 123 | +.. code-block:: | |
| 124 | + | |
| 125 | + cd /vagrant | |
| 126 | + | |
| 127 | +4- Run tests with setup.py: | |
| 128 | + | |
| 129 | +.. code-block:: | |
| 130 | + | |
| 131 | + python setup.py test | ... | ... |
colab/accounts/forms.py
| ... | ... | @@ -237,6 +237,7 @@ class UserChangeForm(forms.ModelForm): |
| 237 | 237 | help_text=_("Required. 30 characters or fewer. Letters and digits."), |
| 238 | 238 | error_messages={ |
| 239 | 239 | 'invalid': _("This value may contain only letters and numbers.")}) |
| 240 | + # TODO: remove this hardcoded URL from here | |
| 240 | 241 | password = ReadOnlyPasswordHashField(label=_("Password"), |
| 241 | 242 | help_text=_("Raw passwords are not" |
| 242 | 243 | " stored, so there is no" | ... | ... |
colab/accounts/templates/accounts/user_update_form.html
| 1 | 1 | {% extends "base.html" %} |
| 2 | -{% load i18n gravatar %} | |
| 2 | +{% load i18n gravatar plugins %} | |
| 3 | 3 | |
| 4 | 4 | {% block head_js %} |
| 5 | 5 | <script> |
| ... | ... | @@ -102,6 +102,14 @@ $(function() { |
| 102 | 102 | </script> |
| 103 | 103 | {% endblock %} |
| 104 | 104 | |
| 105 | +{% block head %} | |
| 106 | + {{ block.super }} | |
| 107 | + | |
| 108 | + {% for widget in widgets %} | |
| 109 | + {{ widget.get_header }} | |
| 110 | + {% endfor %} | |
| 111 | + | |
| 112 | +{% endblock %} | |
| 105 | 113 | |
| 106 | 114 | {% block main-content %} |
| 107 | 115 | |
| ... | ... | @@ -118,83 +126,115 @@ $(function() { |
| 118 | 126 | <br> |
| 119 | 127 | <br> |
| 120 | 128 | |
| 121 | - <form method="post"> | |
| 122 | - {% csrf_token %} | |
| 123 | - | |
| 124 | - <div class="row"> | |
| 125 | - <div class="col-lg-8 col-md-7 col-sm-12 col-xm-12"> | |
| 126 | - {% for field in form %} | |
| 127 | - <div class="col-lg-6 col-md-6 col-sm-12 col-xm-12"> | |
| 128 | - <div class="form-group{% if field.field.required %} required{% endif %}{% if field.errors %} alert alert-danger has-error{% endif %}"> | |
| 129 | - <label for="{{ field.name }}" class="control-label"> | |
| 130 | - {{ field.label }} | |
| 131 | - </label> | |
| 132 | - {{ field }} | |
| 133 | - {{ field.errors }} | |
| 134 | - </div> | |
| 135 | - </div> | |
| 136 | - {% endfor %} | |
| 137 | - </div> | |
| 129 | + <!-- Start of navs --> | |
| 130 | + <ul class="nav nav-tabs"> | |
| 131 | + <li class="active"><a data-toggle="pill" href="#profile">Profile</a></li> | |
| 132 | + {% for widget in widgets %} | |
| 133 | + <li> | |
| 134 | + <a data-toggle="pill" href="#{{ widget.identifier }}">{{ widget.name }}</a> | |
| 135 | + </li> | |
| 136 | + {% endfor %} | |
| 137 | + </ul> | |
| 138 | + <!-- End of navs --> | |
| 139 | + <style type="text/css"> | |
| 140 | + .tab-pane{ | |
| 141 | + border: 1px solid #DDD; | |
| 142 | + border-top: none; | |
| 143 | + padding: 10px; | |
| 144 | + } | |
| 138 | 145 | |
| 139 | - <div class="col-lg-4 col-md-5 col-sm-12 col-xm-12"> | |
| 140 | - <div class="panel panel-default"> | |
| 141 | - <div class="panel-heading"> | |
| 142 | - <h3 class="panel-title">{% trans "Emails" %}</h3> | |
| 143 | - </div> | |
| 144 | - <div class="panel-body"> | |
| 145 | - <ul class="unstyled-list emails"> | |
| 146 | - {% for email in user_.emails.iterator %} | |
| 147 | - <li> | |
| 148 | - {% gravatar user_.email 30 %} | |
| 149 | - <span class="email-address">{{ email.address }}</span> | |
| 150 | - {% if email.address == user_.email %} | |
| 151 | - <span class="label label-success">{% trans "Primary" %}</span> | |
| 152 | - {% else %} | |
| 153 | - <div class="text-right"> | |
| 154 | - <button class="btn btn-default set-primary" data-loading-text="{% trans 'Setting...' %}">{% trans "Set as Primary" %}</button> | |
| 155 | - <button class="btn btn-danger delete-email" data-loading-text="{% trans 'Deleting...' %}">{% trans "Delete" %}</button> | |
| 156 | - </div> | |
| 157 | - {% endif %} | |
| 158 | - <hr /> | |
| 159 | - </li> | |
| 146 | + .nav-tabs a:focus { | |
| 147 | + outline: none; | |
| 148 | + } | |
| 149 | + </style> | |
| 150 | + <div class="tab-content"> | |
| 151 | + <div id="profile" class="tab-pane fade in active"> | |
| 152 | + <form method="post"> | |
| 153 | + {% csrf_token %} | |
| 154 | + | |
| 155 | + <div class="row"> | |
| 156 | + <div class="col-lg-8 col-md-7 col-sm-12 col-xm-12"> | |
| 157 | + {% for field in form %} | |
| 158 | + <div class="col-lg-6 col-md-6 col-sm-12 col-xm-12"> | |
| 159 | + <div class="form-group{% if field.field.required %} required{% endif %}{% if field.errors %} alert alert-danger has-error{% endif %}"> | |
| 160 | + <label for="{{ field.name }}" class="control-label"> | |
| 161 | + {{ field.label }} | |
| 162 | + </label> | |
| 163 | + {{ field }} | |
| 164 | + {{ field.errors }} | |
| 165 | + </div> | |
| 166 | + </div> | |
| 160 | 167 | {% endfor %} |
| 161 | - {% for email in user_.emails_not_validated.iterator %} | |
| 162 | - <li> | |
| 163 | - {% gravatar user_.email 30 %} | |
| 164 | - <span class="email-address">{{ email.address }}</span> | |
| 165 | - <div class="text-right"> | |
| 166 | - <button class="btn btn-default verify-email" data-loading-text="{% trans 'Sending verification...' %}"><span class="icon-warning-sign"></span> {% trans "Verify" %}</button> | |
| 167 | - <button class="btn btn-danger delete-email">{% trans "Delete" %}</button> | |
| 168 | + </div> | |
| 169 | + | |
| 170 | + <div class="col-lg-4 col-md-5 col-sm-12 col-xm-12"> | |
| 171 | + <div class="panel panel-default"> | |
| 172 | + <div class="panel-heading"> | |
| 173 | + <h3 class="panel-title">{% trans "Emails" %}</h3> | |
| 174 | + </div> | |
| 175 | + <div class="panel-body"> | |
| 176 | + <ul class="unstyled-list emails"> | |
| 177 | + {% for email in user_.emails.iterator %} | |
| 178 | + <li> | |
| 179 | + {% gravatar user_.email 30 %} | |
| 180 | + <span class="email-address">{{ email.address }}</span> | |
| 181 | + {% if email.address == user_.email %} | |
| 182 | + <span class="label label-success">{% trans "Primary" %}</span> | |
| 183 | + {% else %} | |
| 184 | + <div class="text-right"> | |
| 185 | + <button class="btn btn-default set-primary" data-loading-text="{% trans 'Setting...' %}">{% trans "Set as Primary" %}</button> | |
| 186 | + <button class="btn btn-danger delete-email" data-loading-text="{% trans 'Deleting...' %}">{% trans "Delete" %}</button> | |
| 187 | + </div> | |
| 188 | + {% endif %} | |
| 189 | + <hr /> | |
| 190 | + </li> | |
| 191 | + {% endfor %} | |
| 192 | + {% for email in user_.emails_not_validated.iterator %} | |
| 193 | + <li> | |
| 194 | + {% gravatar user_.email 30 %} | |
| 195 | + <span class="email-address">{{ email.address }}</span> | |
| 196 | + <div class="text-right"> | |
| 197 | + <button class="btn btn-default verify-email" data-loading-text="{% trans 'Sending verification...' %}"><span class="icon-warning-sign"></span> {% trans "Verify" %}</button> | |
| 198 | + <button class="btn btn-danger delete-email">{% trans "Delete" %}</button> | |
| 199 | + </div> | |
| 200 | + <hr /> | |
| 201 | + </li> | |
| 202 | + {% endfor %} | |
| 203 | + </ul> | |
| 204 | + <div class="form-group"> | |
| 205 | + <label for="new_email">{% trans "Add another email address:" %}</label> | |
| 206 | + <input id="new_email" name="new_email" class="form-control" autocomplete="off" /> | |
| 168 | 207 | </div> |
| 169 | - <hr /> | |
| 170 | - </li> | |
| 171 | - {% endfor %} | |
| 172 | - </ul> | |
| 173 | - <div class="form-group"> | |
| 174 | - <label for="new_email">{% trans "Add another email address:" %}</label> | |
| 175 | - <input id="new_email" name="new_email" class="form-control" autocomplete="off" /> | |
| 208 | + <button class="btn btn-primary pull-right" id="add-email">{% trans "Add" %}</button> | |
| 209 | + </div> | |
| 176 | 210 | </div> |
| 177 | - <button class="btn btn-primary pull-right" id="add-email">{% trans "Add" %}</button> | |
| 178 | 211 | </div> |
| 179 | - </div> | |
| 180 | - </div> | |
| 181 | - <div class="col-lg-4 col-md-5 col-sm-12 col-xm-12"> | |
| 182 | - <div class="panel panel-default"> | |
| 183 | - <div class="panel-heading"> | |
| 184 | - <h3 class="panel-title"> | |
| 185 | - {% trans 'Change Password' %} | |
| 186 | - </h3> | |
| 212 | + <div class="col-lg-4 col-md-5 col-sm-12 col-xm-12"> | |
| 213 | + <div class="panel panel-default"> | |
| 214 | + <div class="panel-heading"> | |
| 215 | + <h3 class="panel-title"> | |
| 216 | + {% trans 'Change Password' %} | |
| 217 | + </h3> | |
| 218 | + </div> | |
| 219 | + <div class="panel-body"> | |
| 220 | + <a href="{% url 'password_change' %}" class="btn btn-default btn-primary pull-right btn-block">{% trans "Change Password" %}</a> | |
| 221 | + </div> | |
| 222 | + </div> | |
| 187 | 223 | </div> |
| 188 | - <div class="panel-body"> | |
| 189 | - <a href="{% url 'password_change' %}" class="btn btn-default btn-primary pull-right btn-block">{% trans "Change Password" %}</a> | |
| 224 | + </div> | |
| 225 | + <div class="row"> | |
| 226 | + <div class="submit"> | |
| 227 | + <button type="submit" class="btn btn-primary btn-lg btn-block">{% trans "Update" %}</button> | |
| 190 | 228 | </div> |
| 191 | 229 | </div> |
| 192 | - </div> | |
| 230 | + </form> | |
| 193 | 231 | </div> |
| 194 | - <div class="row"> | |
| 195 | - <div class="submit"> | |
| 196 | - <button type="submit" class="btn btn-primary btn-lg btn-block">{% trans "Update" %}</button> | |
| 232 | + {% for widget in widgets %} | |
| 233 | + <div id="{{ widget.identifier }}" class="tab-pane fade"> | |
| 234 | + <h2>{{ widget.name }}</h2> | |
| 235 | + {{ widget.get_body }} | |
| 197 | 236 | </div> |
| 198 | - </div> | |
| 199 | - </form> | |
| 237 | + {% endfor %} | |
| 238 | + </div> | |
| 239 | + | |
| 200 | 240 | {% endblock %} | ... | ... |
colab/accounts/views.py
| ... | ... | @@ -15,6 +15,7 @@ from colab.super_archives.models import (EmailAddress, |
| 15 | 15 | EmailAddressValidation) |
| 16 | 16 | from colab.search.utils import get_collaboration_data, get_visible_threads |
| 17 | 17 | from colab.accounts.models import User |
| 18 | +from colab.widgets.widget_manager import WidgetManager | |
| 18 | 19 | |
| 19 | 20 | from .forms import (UserCreationForm, ListsForm, UserUpdateForm) |
| 20 | 21 | from .utils import mailman |
| ... | ... | @@ -42,6 +43,12 @@ class UserProfileUpdateView(UserProfileBaseMixin, UpdateView): |
| 42 | 43 | |
| 43 | 44 | return obj |
| 44 | 45 | |
| 46 | + def get_context_data(self, **kwargs): | |
| 47 | + context = {} | |
| 48 | + context['widgets'] = WidgetManager.get_widgets('profile', self.request) | |
| 49 | + context.update(kwargs) | |
| 50 | + return super(UserProfileUpdateView, self).get_context_data(**context) | |
| 51 | + | |
| 45 | 52 | |
| 46 | 53 | class UserProfileDetailView(UserProfileBaseMixin, DetailView): |
| 47 | 54 | template_name = 'accounts/user_detail.html' | ... | ... |
colab/locale/en/LC_MESSAGES/django.mo
No preview for this file type
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 | -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
| 5 | -# | |
| 6 | -#, fuzzy | |
| 4 | +# | |
| 5 | +# Translators: | |
| 7 | 6 | msgid "" |
| 8 | 7 | msgstr "" |
| 9 | -"Project-Id-Version: PACKAGE VERSION\n" | |
| 8 | +"Project-Id-Version: colab\n" | |
| 10 | 9 | "Report-Msgid-Bugs-To: \n" |
| 11 | -"POT-Creation-Date: 2014-11-21 17:05+0000\n" | |
| 12 | -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |
| 13 | -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
| 14 | -"Language-Team: LANGUAGE <LL@li.org>\n" | |
| 15 | -"Language: \n" | |
| 10 | +"POT-Creation-Date: 2015-09-01 13:15+0000\n" | |
| 11 | +"PO-Revision-Date: 2015-09-04 19:21+0000\n" | |
| 12 | +"Last-Translator: Lucas Kanashiro Duarte <kanashiro.duarte@gmail.com>\n" | |
| 13 | +"Language-Team: English (http://www.transifex.com/colab/colab/language/en/)\n" | |
| 16 | 14 | "MIME-Version: 1.0\n" |
| 17 | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
| 18 | 16 | "Content-Transfer-Encoding: 8bit\n" |
| 17 | +"Language: en\n" | |
| 18 | +"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |
| 19 | 19 | |
| 20 | -#: accounts/admin.py:40 | |
| 20 | +#: accounts/admin.py:18 | |
| 21 | 21 | msgid "Personal info" |
| 22 | -msgstr "" | |
| 22 | +msgstr "Personal info" | |
| 23 | 23 | |
| 24 | -#: accounts/admin.py:43 | |
| 24 | +#: accounts/admin.py:24 | |
| 25 | 25 | msgid "Permissions" |
| 26 | -msgstr "" | |
| 26 | +msgstr "Permissions" | |
| 27 | 27 | |
| 28 | -#: accounts/admin.py:45 | |
| 28 | +#: accounts/admin.py:28 | |
| 29 | 29 | msgid "Important dates" |
| 30 | -msgstr "" | |
| 30 | +msgstr "Important dates" | |
| 31 | 31 | |
| 32 | -#: accounts/forms.py:25 | |
| 32 | +#: accounts/forms.py:37 | |
| 33 | 33 | msgid "Social account does not exist" |
| 34 | -msgstr "" | |
| 34 | +msgstr "Social account does not exist" | |
| 35 | 35 | |
| 36 | -#: accounts/forms.py:61 accounts/templates/accounts/user_detail.html:38 | |
| 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." | |
| 39 | + | |
| 40 | +#: accounts/forms.py:118 accounts/templates/accounts/user_detail.html:38 | |
| 37 | 41 | msgid "Bio" |
| 38 | -msgstr "" | |
| 42 | +msgstr "Bio" | |
| 39 | 43 | |
| 40 | -#: accounts/forms.py:62 | |
| 44 | +#: accounts/forms.py:119 | |
| 41 | 45 | msgid "Write something about you in 200 characters or less." |
| 42 | -msgstr "" | |
| 46 | +msgstr "Write something about you in 200 characters or less." | |
| 43 | 47 | |
| 44 | -#: accounts/forms.py:81 | |
| 48 | +#: accounts/forms.py:148 | |
| 45 | 49 | msgid "Mailing lists" |
| 46 | -msgstr "" | |
| 50 | +msgstr "Mailing lists" | |
| 51 | + | |
| 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>" | |
| 56 | + | |
| 57 | +#: accounts/forms.py:163 | |
| 58 | +msgid "A user with that username already exists." | |
| 59 | +msgstr "A user with that username already exists." | |
| 60 | + | |
| 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." | |
| 64 | + | |
| 65 | +#: accounts/forms.py:166 accounts/forms.py:236 search/forms.py:38 | |
| 66 | +msgid "Username" | |
| 67 | +msgstr "Username" | |
| 47 | 68 | |
| 48 | -#: accounts/forms.py:88 | |
| 69 | +#: accounts/forms.py:173 accounts/forms.py:240 accounts/forms.py:277 | |
| 70 | +#: accounts/forms.py:467 | |
| 49 | 71 | msgid "Password" |
| 50 | -msgstr "" | |
| 72 | +msgstr "Password" | |
| 51 | 73 | |
| 52 | -#: accounts/forms.py:90 | |
| 74 | +#: accounts/forms.py:175 | |
| 53 | 75 | msgid "Password confirmation" |
| 54 | -msgstr "" | |
| 76 | +msgstr "Password confirmation" | |
| 55 | 77 | |
| 56 | -#: accounts/forms.py:92 | |
| 57 | -msgid "Enter the same password as above, for verification." | |
| 58 | -msgstr "" | |
| 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." | |
| 59 | 81 | |
| 60 | -#: accounts/forms.py:110 | |
| 61 | -msgid "Password mismatch" | |
| 62 | -msgstr "" | |
| 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." | |
| 85 | + | |
| 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>." | |
| 63 | 92 | |
| 64 | -#: accounts/management/commands/delete_invalid.py:42 | |
| 93 | +#: accounts/forms.py:280 | |
| 65 | 94 | #, python-format |
| 66 | -msgid "%(count)s users deleted." | |
| 67 | -msgstr "" | |
| 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." | |
| 68 | 99 | |
| 69 | -#: accounts/models.py:65 | |
| 70 | -msgid "Required. 30 characters or fewer. Letters, digits and ./+/-/_ only." | |
| 71 | -msgstr "" | |
| 100 | +#: accounts/forms.py:282 | |
| 101 | +msgid "This account is inactive." | |
| 102 | +msgstr "This account is inactive." | |
| 72 | 103 | |
| 73 | -#: accounts/models.py:70 | |
| 74 | -msgid "Enter a valid username." | |
| 75 | -msgstr "" | |
| 104 | +#: accounts/forms.py:345 | |
| 105 | +msgid "Email" | |
| 106 | +msgstr "Email" | |
| 76 | 107 | |
| 77 | -#: accounts/templates/accounts/change_password.html:8 | |
| 78 | -msgid "Change XMPP Client and SVN Password" | |
| 79 | -msgstr "" | |
| 108 | +#: accounts/forms.py:403 | |
| 109 | +msgid "New password" | |
| 110 | +msgstr "New password" | |
| 80 | 111 | |
| 81 | -#: accounts/templates/accounts/change_password.html:17 | |
| 82 | -#: accounts/templates/accounts/user_update_form.html:188 | |
| 83 | -#: accounts/templates/accounts/user_update_form.html:195 | |
| 84 | -msgid "Change Password" | |
| 85 | -msgstr "" | |
| 112 | +#: accounts/forms.py:405 | |
| 113 | +msgid "New password confirmation" | |
| 114 | +msgstr "New password confirmation" | |
| 86 | 115 | |
| 87 | -#: accounts/templates/accounts/login.html:7 | |
| 88 | -msgid "To login please click in the link below:" | |
| 89 | -msgstr "" | |
| 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." | |
| 90 | 119 | |
| 91 | -#: accounts/templates/accounts/login.html:8 templates/base.html:182 | |
| 92 | -#: templates/base.html.py:187 | |
| 93 | -msgid "Login" | |
| 94 | -msgstr "" | |
| 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." | |
| 95 | 131 | |
| 96 | 132 | #: accounts/templates/accounts/manage_subscriptions.html:6 |
| 97 | 133 | msgid "Group Subscriptions" |
| 98 | -msgstr "" | |
| 134 | +msgstr "Group Subscriptions" | |
| 99 | 135 | |
| 100 | 136 | #: accounts/templates/accounts/manage_subscriptions.html:36 |
| 101 | 137 | msgid "Update subscriptions" |
| 102 | -msgstr "" | |
| 138 | +msgstr "Update subscriptions" | |
| 103 | 139 | |
| 104 | 140 | #: accounts/templates/accounts/user_create_form.html:5 |
| 105 | 141 | msgid "Sign up" |
| 106 | -msgstr "" | |
| 142 | +msgstr "Sign up" | |
| 107 | 143 | |
| 108 | 144 | #: accounts/templates/accounts/user_create_form.html:10 |
| 109 | -msgid "Please correct the errors below and try again" | |
| 110 | -msgstr "" | |
| 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." | |
| 111 | 151 | |
| 112 | 152 | #: accounts/templates/accounts/user_create_form.html:17 |
| 113 | 153 | msgid "Required fields" |
| 114 | -msgstr "" | |
| 154 | +msgstr "Required fields" | |
| 115 | 155 | |
| 116 | 156 | #: accounts/templates/accounts/user_create_form.html:29 |
| 117 | 157 | msgid "Personal Information" |
| 118 | -msgstr "" | |
| 158 | +msgstr "Personal Information" | |
| 119 | 159 | |
| 120 | 160 | #: accounts/templates/accounts/user_create_form.html:46 |
| 121 | 161 | msgid "Subscribe to groups" |
| 122 | -msgstr "" | |
| 162 | +msgstr "Subscribe to groups" | |
| 123 | 163 | |
| 124 | 164 | #: accounts/templates/accounts/user_create_form.html:60 |
| 125 | -#: templates/base.html:181 templates/base.html.py:186 | |
| 165 | +#: templates/base.html:100 templates/base.html.py:105 templates/header.html:40 | |
| 166 | +#: templates/header.html.py:45 | |
| 126 | 167 | msgid "Register" |
| 127 | -msgstr "" | |
| 168 | +msgstr "Register" | |
| 128 | 169 | |
| 129 | 170 | #: accounts/templates/accounts/user_detail.html:8 |
| 130 | 171 | msgid "Messages" |
| 131 | -msgstr "" | |
| 172 | +msgstr "Messages" | |
| 132 | 173 | |
| 133 | -#: accounts/templates/accounts/user_detail.html:9 | |
| 174 | +#: accounts/templates/accounts/user_detail.html:9 templates/home.html:7 | |
| 134 | 175 | msgid "Contributions" |
| 135 | -msgstr "" | |
| 176 | +msgstr "Contributions" | |
| 136 | 177 | |
| 137 | 178 | #: accounts/templates/accounts/user_detail.html:29 |
| 138 | 179 | msgid "edit profile" |
| 139 | -msgstr "" | |
| 180 | +msgstr "edit profile" | |
| 140 | 181 | |
| 141 | 182 | #: accounts/templates/accounts/user_detail.html:30 |
| 142 | 183 | msgid "group membership" |
| 143 | -msgstr "" | |
| 184 | +msgstr "group membership" | |
| 144 | 185 | |
| 145 | -#: accounts/templates/accounts/user_detail.html:65 | |
| 186 | +#: accounts/templates/accounts/user_detail.html:66 | |
| 146 | 187 | msgid "Twitter account" |
| 147 | -msgstr "" | |
| 188 | +msgstr "Twitter account" | |
| 148 | 189 | |
| 149 | -#: accounts/templates/accounts/user_detail.html:68 | |
| 190 | +#: accounts/templates/accounts/user_detail.html:69 | |
| 150 | 191 | msgid "Facebook account" |
| 151 | -msgstr "" | |
| 192 | +msgstr "Facebook account" | |
| 152 | 193 | |
| 153 | -#: accounts/templates/accounts/user_detail.html:73 | |
| 194 | +#: accounts/templates/accounts/user_detail.html:74 | |
| 154 | 195 | msgid "Google talk account" |
| 155 | -msgstr "" | |
| 196 | +msgstr "Google talk account" | |
| 156 | 197 | |
| 157 | -#: accounts/templates/accounts/user_detail.html:77 | |
| 198 | +#: accounts/templates/accounts/user_detail.html:78 | |
| 158 | 199 | msgid "Github account" |
| 159 | -msgstr "" | |
| 200 | +msgstr "Github account" | |
| 160 | 201 | |
| 161 | -#: accounts/templates/accounts/user_detail.html:81 | |
| 202 | +#: accounts/templates/accounts/user_detail.html:82 | |
| 162 | 203 | msgid "Personal webpage" |
| 163 | -msgstr "" | |
| 204 | +msgstr "Personal webpage" | |
| 164 | 205 | |
| 165 | -#: accounts/templates/accounts/user_detail.html:87 | |
| 206 | +#: accounts/templates/accounts/user_detail.html:88 | |
| 166 | 207 | msgid "Groups: " |
| 167 | -msgstr "" | |
| 208 | +msgstr "Groups: " | |
| 168 | 209 | |
| 169 | -#: accounts/templates/accounts/user_detail.html:100 | |
| 210 | +#: accounts/templates/accounts/user_detail.html:101 | |
| 170 | 211 | msgid "Collaborations by Type" |
| 171 | -msgstr "" | |
| 212 | +msgstr "Collaborations by Type" | |
| 172 | 213 | |
| 173 | -#: accounts/templates/accounts/user_detail.html:116 | |
| 214 | +#: accounts/templates/accounts/user_detail.html:117 | |
| 174 | 215 | msgid "Participation by Group" |
| 175 | -msgstr "" | |
| 176 | - | |
| 177 | -#: accounts/templates/accounts/user_detail.html:132 | |
| 178 | -msgid "Badges" | |
| 179 | -msgstr "" | |
| 216 | +msgstr "Participation by Group" | |
| 180 | 217 | |
| 181 | -#: accounts/templates/accounts/user_detail.html:151 | |
| 218 | +#: accounts/templates/accounts/user_detail.html:133 | |
| 182 | 219 | msgid "Latest posted" |
| 183 | -msgstr "" | |
| 220 | +msgstr "Latest posted" | |
| 184 | 221 | |
| 185 | -#: accounts/templates/accounts/user_detail.html:156 | |
| 222 | +#: accounts/templates/accounts/user_detail.html:138 | |
| 186 | 223 | msgid "There are no posts by this user so far." |
| 187 | -msgstr "" | |
| 224 | +msgstr "There are no posts by this user so far." | |
| 188 | 225 | |
| 189 | -#: accounts/templates/accounts/user_detail.html:160 | |
| 226 | +#: accounts/templates/accounts/user_detail.html:142 | |
| 190 | 227 | msgid "View more posts..." |
| 191 | -msgstr "" | |
| 228 | +msgstr "View more posts..." | |
| 192 | 229 | |
| 193 | -#: accounts/templates/accounts/user_detail.html:166 | |
| 230 | +#: accounts/templates/accounts/user_detail.html:148 | |
| 194 | 231 | msgid "Latest contributions" |
| 195 | -msgstr "" | |
| 232 | +msgstr "Latest contributions" | |
| 196 | 233 | |
| 197 | -#: accounts/templates/accounts/user_detail.html:171 | |
| 234 | +#: accounts/templates/accounts/user_detail.html:153 | |
| 198 | 235 | msgid "No contributions of this user so far." |
| 199 | -msgstr "" | |
| 236 | +msgstr "No contributions of this user so far." | |
| 200 | 237 | |
| 201 | -#: accounts/templates/accounts/user_detail.html:175 | |
| 238 | +#: accounts/templates/accounts/user_detail.html:157 | |
| 202 | 239 | msgid "View more contributions..." |
| 203 | -msgstr "" | |
| 240 | +msgstr "View more contributions..." | |
| 204 | 241 | |
| 205 | 242 | #: accounts/templates/accounts/user_update_form.html:65 |
| 206 | 243 | msgid "We sent a verification email to " |
| 207 | -msgstr "" | |
| 244 | +msgstr "We sent a verification email to " | |
| 208 | 245 | |
| 209 | 246 | #: accounts/templates/accounts/user_update_form.html:66 |
| 210 | 247 | msgid "Please follow the instructions in it." |
| 211 | -msgstr "" | |
| 248 | +msgstr "Please follow the instructions in it." | |
| 212 | 249 | |
| 213 | 250 | #: accounts/templates/accounts/user_update_form.html:110 |
| 214 | 251 | msgid "profile information" |
| 215 | -msgstr "" | |
| 252 | +msgstr "profile information" | |
| 216 | 253 | |
| 217 | 254 | #: accounts/templates/accounts/user_update_form.html:115 |
| 218 | 255 | msgid "Change your avatar at Gravatar.com" |
| 219 | -msgstr "" | |
| 256 | +msgstr "Change your avatar at Gravatar.com" | |
| 220 | 257 | |
| 221 | -#: accounts/templates/accounts/user_update_form.html:142 search/utils.py:8 | |
| 258 | +#: accounts/templates/accounts/user_update_form.html:142 search/utils.py:56 | |
| 222 | 259 | msgid "Emails" |
| 223 | -msgstr "" | |
| 260 | +msgstr "Emails" | |
| 224 | 261 | |
| 225 | 262 | #: accounts/templates/accounts/user_update_form.html:151 |
| 226 | 263 | msgid "Primary" |
| 227 | -msgstr "" | |
| 264 | +msgstr "Primary" | |
| 228 | 265 | |
| 229 | 266 | #: accounts/templates/accounts/user_update_form.html:154 |
| 230 | 267 | msgid "Setting..." |
| 231 | -msgstr "" | |
| 268 | +msgstr "Setting..." | |
| 232 | 269 | |
| 233 | 270 | #: accounts/templates/accounts/user_update_form.html:154 |
| 234 | 271 | msgid "Set as Primary" |
| 235 | -msgstr "" | |
| 272 | +msgstr "Set as Primary" | |
| 236 | 273 | |
| 237 | 274 | #: accounts/templates/accounts/user_update_form.html:155 |
| 238 | 275 | msgid "Deleting..." |
| 239 | -msgstr "" | |
| 276 | +msgstr "Deleting..." | |
| 240 | 277 | |
| 241 | 278 | #: accounts/templates/accounts/user_update_form.html:155 |
| 242 | 279 | #: accounts/templates/accounts/user_update_form.html:167 |
| 243 | 280 | msgid "Delete" |
| 244 | -msgstr "" | |
| 281 | +msgstr "Delete" | |
| 245 | 282 | |
| 246 | 283 | #: accounts/templates/accounts/user_update_form.html:166 |
| 247 | 284 | msgid "Sending verification..." |
| 248 | -msgstr "" | |
| 285 | +msgstr "Sending verification..." | |
| 249 | 286 | |
| 250 | 287 | #: accounts/templates/accounts/user_update_form.html:166 |
| 251 | 288 | msgid "Verify" |
| 252 | -msgstr "" | |
| 289 | +msgstr "Verify" | |
| 253 | 290 | |
| 254 | 291 | #: accounts/templates/accounts/user_update_form.html:174 |
| 255 | 292 | msgid "Add another email address:" |
| 256 | -msgstr "" | |
| 293 | +msgstr "Add another email address:" | |
| 257 | 294 | |
| 258 | 295 | #: accounts/templates/accounts/user_update_form.html:177 |
| 259 | 296 | msgid "Add" |
| 260 | -msgstr "" | |
| 297 | +msgstr "Add" | |
| 261 | 298 | |
| 262 | -#: accounts/templates/accounts/user_update_form.html:193 | |
| 263 | -msgid "" | |
| 264 | -"This feature is available only for those who need to change the password for " | |
| 265 | -"some reason as having an old user with the same username, forgot your " | |
| 266 | -"password to commit, usage of other XMPP Client for connection. Usually, you " | |
| 267 | -"won't need to change this password. Only change it if you are sure about " | |
| 268 | -"what you are doing." | |
| 269 | -msgstr "" | |
| 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" | |
| 270 | 305 | |
| 271 | -#: accounts/templates/accounts/user_update_form.html:203 | |
| 306 | +#: accounts/templates/accounts/user_update_form.html:196 | |
| 272 | 307 | msgid "Update" |
| 273 | -msgstr "" | |
| 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" | |
| 274 | 324 | |
| 275 | -#: accounts/views.py:148 | |
| 276 | -msgid "Your profile has been created!" | |
| 277 | -msgstr "" | |
| 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" | |
| 278 | 337 | |
| 279 | -#: accounts/views.py:149 | |
| 338 | +#: accounts/templates/registration/password_reset_form_custom.html:23 | |
| 280 | 339 | msgid "" |
| 281 | -"You must login to validated your profile. Profiles not validated are deleted " | |
| 282 | -"in 24h." | |
| 283 | -msgstr "" | |
| 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." | |
| 284 | 343 | |
| 285 | -#: accounts/views.py:233 | |
| 286 | -msgid "Could not change your password. Please, try again later." | |
| 287 | -msgstr "" | |
| 344 | +#: accounts/templates/registration/password_reset_form_custom.html:26 | |
| 345 | +msgid "Email address:" | |
| 346 | +msgstr "Email address:" | |
| 288 | 347 | |
| 289 | -#: accounts/views.py:242 | |
| 290 | -msgid "You've changed your password successfully!" | |
| 291 | -msgstr "" | |
| 348 | +#: accounts/templates/registration/password_reset_form_custom.html:37 | |
| 349 | +msgid "Reset password" | |
| 350 | +msgstr "Reset password" | |
| 292 | 351 | |
| 293 | -#: settings.py:160 | |
| 294 | -msgid "Image" | |
| 295 | -msgstr "" | |
| 352 | +#: accounts/views.py:126 | |
| 353 | +msgid "Your profile has been created!" | |
| 354 | +msgstr "Your profile has been created!" | |
| 296 | 355 | |
| 297 | -#: search/templates/search/includes/search_filters.html:122 | |
| 298 | -msgid "Ticket" | |
| 299 | -msgstr "" | |
| 356 | +#: accounts/views.py:186 | |
| 357 | +msgid "Your password was changed." | |
| 358 | +msgstr "Your password was changed." | |
| 300 | 359 | |
| 301 | -#: search/forms.py:18 | |
| 302 | -msgid "Type" | |
| 303 | -msgstr "" | |
| 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." | |
| 304 | 363 | |
| 305 | -#: home/context_processors.py:15 | |
| 364 | +#: home/context_processors.py:20 | |
| 306 | 365 | msgid "Fork me!" |
| 307 | -msgstr "" | |
| 366 | +msgstr "Fork me!" | |
| 367 | + | |
| 368 | +#: plugins/gitlab/models.py:27 | |
| 369 | +msgid "Gitlab Project" | |
| 370 | +msgstr "Gitlab Project" | |
| 371 | + | |
| 372 | +#: plugins/gitlab/models.py:28 | |
| 373 | +msgid "Gitlab Projects" | |
| 374 | +msgstr "Gitlab Projects" | |
| 375 | + | |
| 376 | +#: plugins/gitlab/models.py:54 | |
| 377 | +msgid "Gitlab Group" | |
| 378 | +msgstr "Gitlab Group" | |
| 379 | + | |
| 380 | +#: plugins/gitlab/models.py:55 | |
| 381 | +msgid "Gitlab Groups" | |
| 382 | +msgstr "Gitlab Groups" | |
| 383 | + | |
| 384 | +#: plugins/gitlab/models.py:91 | |
| 385 | +msgid "Gitlab Merge Request" | |
| 386 | +msgstr "Gitlab Merge Request" | |
| 387 | + | |
| 388 | +#: plugins/gitlab/models.py:92 | |
| 389 | +msgid "Gitlab Merge Requests" | |
| 390 | +msgstr "Gitlab Merge Requests" | |
| 391 | + | |
| 392 | +#: plugins/gitlab/models.py:120 | |
| 393 | +msgid "Gitlab Issue" | |
| 394 | +msgstr "Gitlab Issue" | |
| 395 | + | |
| 396 | +#: plugins/gitlab/models.py:121 | |
| 397 | +msgid "Gitlab Issues" | |
| 398 | +msgstr "Gitlab Issues" | |
| 399 | + | |
| 400 | +#: plugins/gitlab/models.py:176 plugins/gitlab/models.py:177 | |
| 401 | +msgid "Gitlab Comments" | |
| 402 | +msgstr "Gitlab Comments" | |
| 403 | + | |
| 404 | +#: plugins/noosfero/models.py:39 | |
| 405 | +msgid "Community" | |
| 406 | +msgstr "Community" | |
| 407 | + | |
| 408 | +#: plugins/noosfero/models.py:40 | |
| 409 | +msgid "Communities" | |
| 410 | +msgstr "Communities" | |
| 411 | + | |
| 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" | |
| 308 | 419 | |
| 309 | 420 | #: rss/feeds.py:13 |
| 310 | 421 | msgid "Latest Discussions" |
| 311 | -msgstr "" | |
| 422 | +msgstr "Latest Discussions" | |
| 312 | 423 | |
| 313 | 424 | #: rss/feeds.py:32 |
| 314 | 425 | msgid "Discussions Most Relevance" |
| 315 | -msgstr "" | |
| 426 | +msgstr "Discussions Most Relevance" | |
| 316 | 427 | |
| 317 | 428 | #: rss/feeds.py:51 |
| 318 | 429 | msgid "Latest collaborations" |
| 319 | -msgstr "" | |
| 430 | +msgstr "Latest collaborations" | |
| 320 | 431 | |
| 321 | 432 | #: search/forms.py:16 search/templates/search/search.html:46 |
| 322 | -#: templates/base.html:171 | |
| 433 | +#: templates/base.html:89 templates/header.html:29 | |
| 323 | 434 | msgid "Search" |
| 324 | -msgstr "" | |
| 435 | +msgstr "Search" | |
| 436 | + | |
| 437 | +#: search/forms.py:18 | |
| 438 | +msgid "Type" | |
| 439 | +msgstr "Type" | |
| 325 | 440 | |
| 326 | -#: search/forms.py:19 search/views.py:22 | |
| 441 | +#: search/forms.py:19 search/views.py:20 | |
| 327 | 442 | msgid "Author" |
| 328 | -msgstr "" | |
| 443 | +msgstr "Author" | |
| 329 | 444 | |
| 330 | 445 | #: search/forms.py:20 |
| 331 | 446 | msgid "Modified by" |
| 332 | -msgstr "" | |
| 447 | +msgstr "Modified by" | |
| 333 | 448 | |
| 334 | 449 | #: search/forms.py:22 |
| 335 | 450 | msgid "Status" |
| 336 | -msgstr "" | |
| 451 | +msgstr "Status" | |
| 337 | 452 | |
| 338 | -#: search/forms.py:26 search/views.py:25 | |
| 453 | +#: search/forms.py:26 search/views.py:23 | |
| 339 | 454 | msgid "Mailinglist" |
| 340 | -msgstr "" | |
| 455 | +msgstr "Mailinglist" | |
| 341 | 456 | |
| 342 | 457 | #: search/forms.py:30 |
| 343 | 458 | msgid "Milestone" |
| 344 | -msgstr "" | |
| 459 | +msgstr "Milestone" | |
| 345 | 460 | |
| 346 | 461 | #: search/forms.py:31 |
| 347 | 462 | msgid "Priority" |
| 348 | -msgstr "" | |
| 463 | +msgstr "Priority" | |
| 349 | 464 | |
| 350 | 465 | #: search/forms.py:32 |
| 351 | 466 | msgid "Component" |
| 352 | -msgstr "" | |
| 467 | +msgstr "Component" | |
| 353 | 468 | |
| 354 | 469 | #: search/forms.py:33 |
| 355 | 470 | msgid "Severity" |
| 356 | -msgstr "" | |
| 471 | +msgstr "Severity" | |
| 357 | 472 | |
| 358 | 473 | #: search/forms.py:34 |
| 359 | 474 | msgid "Reporter" |
| 360 | -msgstr "" | |
| 475 | +msgstr "Reporter" | |
| 361 | 476 | |
| 362 | 477 | #: search/forms.py:35 |
| 363 | 478 | msgid "Keywords" |
| 364 | -msgstr "" | |
| 479 | +msgstr "Keywords" | |
| 365 | 480 | |
| 366 | 481 | #: search/forms.py:36 |
| 367 | 482 | msgid "Collaborators" |
| 368 | -msgstr "" | |
| 483 | +msgstr "Collaborators" | |
| 369 | 484 | |
| 370 | -#: search/forms.py:37 templates/base.html:103 | |
| 485 | +#: search/forms.py:37 | |
| 371 | 486 | msgid "Repository" |
| 372 | -msgstr "" | |
| 373 | - | |
| 374 | -#: search/forms.py:38 | |
| 375 | -msgid "Username" | |
| 376 | -msgstr "" | |
| 487 | +msgstr "Repository" | |
| 377 | 488 | |
| 378 | 489 | #: search/forms.py:39 |
| 379 | 490 | msgid "Name" |
| 380 | -msgstr "" | |
| 491 | +msgstr "Name" | |
| 381 | 492 | |
| 382 | 493 | #: search/forms.py:40 |
| 383 | 494 | msgid "Institution" |
| 384 | -msgstr "" | |
| 495 | +msgstr "Institution" | |
| 385 | 496 | |
| 386 | 497 | #: search/forms.py:41 |
| 387 | 498 | msgid "Role" |
| 388 | -msgstr "" | |
| 499 | +msgstr "Role" | |
| 389 | 500 | |
| 390 | -#: search/forms.py:42 search/templates/search/includes/search_filters.html:154 | |
| 391 | -#: search/templates/search/includes/search_filters.html:156 | |
| 392 | -#: search/templates/search/includes/search_filters.html:188 | |
| 393 | -#: search/templates/search/includes/search_filters.html:189 | |
| 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 | |
| 394 | 505 | msgid "Since" |
| 395 | -msgstr "" | |
| 506 | +msgstr "Since" | |
| 396 | 507 | |
| 397 | -#: search/forms.py:43 search/templates/search/includes/search_filters.html:163 | |
| 398 | -#: search/templates/search/includes/search_filters.html:165 | |
| 399 | -#: search/templates/search/includes/search_filters.html:192 | |
| 400 | -#: search/templates/search/includes/search_filters.html:193 | |
| 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 | |
| 401 | 512 | msgid "Until" |
| 402 | -msgstr "" | |
| 513 | +msgstr "Until" | |
| 403 | 514 | |
| 404 | 515 | #: search/forms.py:44 |
| 405 | 516 | msgid "Filename" |
| 406 | -msgstr "" | |
| 517 | +msgstr "Filename" | |
| 407 | 518 | |
| 408 | 519 | #: search/forms.py:45 |
| 409 | 520 | msgid "Used by" |
| 410 | -msgstr "" | |
| 521 | +msgstr "Used by" | |
| 411 | 522 | |
| 412 | 523 | #: search/forms.py:46 |
| 413 | 524 | msgid "File type" |
| 414 | -msgstr "" | |
| 525 | +msgstr "File type" | |
| 415 | 526 | |
| 416 | 527 | #: search/forms.py:47 |
| 417 | 528 | msgid "Size" |
| 418 | -msgstr "" | |
| 529 | +msgstr "Size" | |
| 419 | 530 | |
| 420 | 531 | #: search/templates/search/includes/search_filters.html:5 |
| 421 | 532 | #: search/templates/search/includes/search_filters.html:33 |
| 422 | 533 | #: search/templates/search/includes/search_filters.html:51 |
| 423 | 534 | #: search/templates/search/includes/search_filters.html:69 |
| 424 | 535 | msgid "Remove filter" |
| 425 | -msgstr "" | |
| 536 | +msgstr "Remove filter" | |
| 426 | 537 | |
| 427 | 538 | #: search/templates/search/includes/search_filters.html:88 |
| 428 | -#: search/templates/search/includes/search_filters.html:174 | |
| 429 | -#: search/templates/search/includes/search_filters.html:198 | |
| 539 | +#: search/templates/search/includes/search_filters.html:152 | |
| 540 | +#: search/templates/search/includes/search_filters.html:176 | |
| 430 | 541 | msgid "Filter" |
| 431 | -msgstr "" | |
| 542 | +msgstr "Filter" | |
| 432 | 543 | |
| 433 | 544 | #: search/templates/search/includes/search_filters.html:94 |
| 434 | 545 | msgid "Sort by" |
| 435 | -msgstr "" | |
| 546 | +msgstr "Sort by" | |
| 436 | 547 | |
| 437 | 548 | #: search/templates/search/includes/search_filters.html:111 |
| 438 | 549 | msgid "Types" |
| 439 | -msgstr "" | |
| 440 | - | |
| 441 | -#: search/templates/search/includes/search_filters.html:118 search/utils.py:7 | |
| 442 | -#: templates/open-data.html:130 | |
| 443 | -msgid "Wiki" | |
| 444 | -msgstr "" | |
| 445 | - | |
| 446 | -#: search/templates/search/includes/search_filters.html:126 | |
| 447 | -msgid "Changeset" | |
| 448 | -msgstr "" | |
| 449 | - | |
| 450 | -#: search/templates/search/includes/search_filters.html:130 | |
| 451 | -msgid "User" | |
| 452 | -msgstr "" | |
| 453 | - | |
| 454 | -#: search/templates/search/includes/search_filters.html:134 | |
| 455 | -msgid "Attachment" | |
| 456 | -msgstr "" | |
| 550 | +msgstr "Types" | |
| 457 | 551 | |
| 458 | -#: search/templates/search/includes/search_filters.html:139 search/views.py:20 | |
| 552 | +#: search/templates/search/includes/search_filters.html:117 search/views.py:18 | |
| 459 | 553 | msgid "Discussion" |
| 460 | -msgstr "" | |
| 554 | +msgstr "Discussion" | |
| 461 | 555 | |
| 462 | 556 | #: search/templates/search/search.html:5 |
| 463 | 557 | msgid "search" |
| 464 | -msgstr "" | |
| 558 | +msgstr "search" | |
| 465 | 559 | |
| 466 | 560 | #: search/templates/search/search.html:51 |
| 467 | 561 | msgid "documents found" |
| 468 | -msgstr "" | |
| 562 | +msgstr "documents found" | |
| 469 | 563 | |
| 470 | 564 | #: search/templates/search/search.html:62 |
| 471 | 565 | msgid "Search here" |
| 472 | -msgstr "" | |
| 566 | +msgstr "Search here" | |
| 473 | 567 | |
| 474 | 568 | #: search/templates/search/search.html:74 |
| 475 | 569 | #: search/templates/search/search.html:84 |
| 476 | 570 | msgid "Filters" |
| 477 | -msgstr "" | |
| 571 | +msgstr "Filters" | |
| 478 | 572 | |
| 479 | 573 | #: search/templates/search/search.html:105 |
| 480 | 574 | msgid "No results for your search." |
| 481 | -msgstr "" | |
| 575 | +msgstr "No results for your search." | |
| 482 | 576 | |
| 483 | 577 | #: search/templates/search/search.html:107 |
| 484 | 578 | msgid "You are searching for" |
| 485 | -msgstr "" | |
| 486 | - | |
| 487 | -#: search/utils.py:9 settings.py:157 | |
| 488 | -msgid "Code" | |
| 489 | -msgstr "" | |
| 490 | - | |
| 491 | -#: search/utils.py:10 | |
| 492 | -msgid "Tickets" | |
| 493 | -msgstr "" | |
| 494 | - | |
| 495 | -#: search/utils.py:11 | |
| 496 | -msgid "Attachments" | |
| 497 | -msgstr "" | |
| 579 | +msgstr "You are searching for" | |
| 498 | 580 | |
| 499 | -#: settings.py:115 | |
| 581 | +#: settings.py:113 | |
| 500 | 582 | msgid "English" |
| 501 | -msgstr "" | |
| 583 | +msgstr "English" | |
| 502 | 584 | |
| 503 | -#: settings.py:116 | |
| 585 | +#: settings.py:114 | |
| 504 | 586 | msgid "Portuguese" |
| 505 | -msgstr "" | |
| 587 | +msgstr "Portuguese" | |
| 506 | 588 | |
| 507 | -#: settings.py:117 | |
| 589 | +#: settings.py:115 | |
| 508 | 590 | msgid "Spanish" |
| 509 | -msgstr "" | |
| 591 | +msgstr "Spanish" | |
| 510 | 592 | |
| 511 | -#: settings.py:140 | |
| 593 | +#: settings.py:138 | |
| 512 | 594 | msgid "Recent activity" |
| 513 | -msgstr "" | |
| 595 | +msgstr "Recent activity" | |
| 514 | 596 | |
| 515 | -#: settings.py:144 | |
| 597 | +#: settings.py:142 | |
| 516 | 598 | msgid "Relevance" |
| 517 | -msgstr "" | |
| 599 | +msgstr "Relevance" | |
| 518 | 600 | |
| 519 | -#: settings.py:153 | |
| 601 | +#: settings.py:151 | |
| 520 | 602 | msgid "Document" |
| 521 | -msgstr "" | |
| 603 | +msgstr "Document" | |
| 522 | 604 | |
| 523 | -#: settings.py:155 | |
| 605 | +#: settings.py:153 | |
| 524 | 606 | msgid "Presentation" |
| 525 | -msgstr "" | |
| 607 | +msgstr "Presentation" | |
| 526 | 608 | |
| 527 | -#: settings.py:156 | |
| 609 | +#: settings.py:154 | |
| 528 | 610 | msgid "Text" |
| 529 | -msgstr "" | |
| 530 | - | |
| 531 | -#: settings.py:159 | |
| 532 | -msgid "Compressed" | |
| 533 | -msgstr "" | |
| 534 | - | |
| 535 | -#: settings.py:162 | |
| 536 | -msgid "Spreadsheet" | |
| 537 | -msgstr "" | |
| 538 | - | |
| 539 | -#: settings.py:254 | |
| 540 | -msgid "Planet Colab" | |
| 541 | -msgstr "" | |
| 542 | - | |
| 543 | -#: settings.py:255 | |
| 544 | -msgid "Colab blog aggregator" | |
| 545 | -msgstr "" | |
| 546 | - | |
| 547 | -#: settings.py:288 | |
| 548 | -msgid "One Time Snippet" | |
| 549 | -msgstr "" | |
| 611 | +msgstr "Text" | |
| 550 | 612 | |
| 551 | -#: settings.py:289 | |
| 552 | -msgid "In one hour" | |
| 553 | -msgstr "" | |
| 613 | +#: settings.py:155 | |
| 614 | +msgid "Code" | |
| 615 | +msgstr "Code" | |
| 554 | 616 | |
| 555 | -#: settings.py:290 | |
| 556 | -msgid "In one week" | |
| 557 | -msgstr "" | |
| 617 | +#: settings.py:157 | |
| 618 | +msgid "Compressed" | |
| 619 | +msgstr "Compressed" | |
| 558 | 620 | |
| 559 | -#: settings.py:291 | |
| 560 | -msgid "In one month" | |
| 561 | -msgstr "" | |
| 621 | +#: settings.py:158 | |
| 622 | +msgid "Image" | |
| 623 | +msgstr "Image" | |
| 562 | 624 | |
| 563 | -#: settings.py:292 | |
| 564 | -msgid "Never" | |
| 565 | -msgstr "" | |
| 625 | +#: settings.py:160 | |
| 626 | +msgid "Spreadsheet" | |
| 627 | +msgstr "Spreadsheet" | |
| 566 | 628 | |
| 567 | 629 | #: templates/404.html:5 |
| 568 | 630 | msgid "Not found. Keep searching! :)" |
| 569 | -msgstr "" | |
| 631 | +msgstr "Not found. Keep searching! :)" | |
| 570 | 632 | |
| 571 | 633 | #: templates/500.html:2 |
| 572 | 634 | msgid "Ooopz... something went wrong!" |
| 573 | -msgstr "" | |
| 635 | +msgstr "Ooopz... something went wrong!" | |
| 574 | 636 | |
| 575 | -#: templates/base.html:87 | |
| 576 | -msgid "Timeline" | |
| 577 | -msgstr "" | |
| 578 | - | |
| 579 | -#: templates/base.html:92 templates/base.html.py:110 | |
| 637 | +#: templates/base.html:83 templates/header.html:21 | |
| 580 | 638 | msgid "Groups" |
| 581 | -msgstr "" | |
| 582 | - | |
| 583 | -#: templates/base.html:97 | |
| 584 | -msgid "Blogs" | |
| 585 | -msgstr "" | |
| 586 | - | |
| 587 | -#: templates/base.html:105 | |
| 588 | -msgid "Public Projects" | |
| 589 | -msgstr "" | |
| 590 | - | |
| 591 | -#: templates/base.html:107 templates/base.html.py:136 | |
| 592 | -msgid "Profile" | |
| 593 | -msgstr "" | |
| 594 | - | |
| 595 | -#: templates/base.html:108 | |
| 596 | -msgid "New Project" | |
| 597 | -msgstr "" | |
| 598 | - | |
| 599 | -#: templates/base.html:109 | |
| 600 | -msgid "Projects" | |
| 601 | -msgstr "" | |
| 602 | - | |
| 603 | -#: templates/base.html:111 | |
| 604 | -msgid "Issues" | |
| 605 | -msgstr "" | |
| 606 | - | |
| 607 | -#: templates/base.html:112 | |
| 608 | -msgid "Merge Requests" | |
| 609 | -msgstr "" | |
| 610 | - | |
| 611 | -#: templates/base.html:120 | |
| 612 | -msgid "Social" | |
| 613 | -msgstr "" | |
| 614 | - | |
| 615 | -#: templates/base.html:125 | |
| 616 | -msgid "Users" | |
| 617 | -msgstr "" | |
| 618 | - | |
| 619 | -#: templates/base.html:130 | |
| 620 | -msgid "Communities" | |
| 621 | -msgstr "" | |
| 622 | - | |
| 623 | -#: templates/base.html:141 | |
| 624 | -msgid "Control panel" | |
| 625 | -msgstr "" | |
| 639 | +msgstr "Groups" | |
| 626 | 640 | |
| 627 | -#: templates/base.html:150 | |
| 628 | -msgid "Contribute" | |
| 629 | -msgstr "" | |
| 630 | - | |
| 631 | -#: templates/base.html:154 | |
| 632 | -msgid "New Wiki Page" | |
| 633 | -msgstr "" | |
| 634 | - | |
| 635 | -#: templates/base.html:156 | |
| 636 | -msgid "View Tickets" | |
| 637 | -msgstr "" | |
| 638 | - | |
| 639 | -#: templates/base.html:158 | |
| 640 | -msgid "New Ticket" | |
| 641 | -msgstr "" | |
| 642 | - | |
| 643 | -#: templates/base.html:160 | |
| 644 | -msgid "Roadmap" | |
| 645 | -msgstr "" | |
| 646 | - | |
| 647 | -#: templates/base.html:163 | |
| 648 | -msgid "Browse Source" | |
| 649 | -msgstr "" | |
| 650 | - | |
| 651 | -#: templates/base.html:165 | |
| 652 | -msgid "Continuous Integration" | |
| 653 | -msgstr "" | |
| 654 | - | |
| 655 | -#: templates/base.html:201 | |
| 641 | +#: templates/base.html:119 templates/header.html:59 | |
| 656 | 642 | msgid "My Profile" |
| 657 | -msgstr "" | |
| 643 | +msgstr "My Profile" | |
| 658 | 644 | |
| 659 | -#: templates/base.html:202 | |
| 645 | +#: templates/base.html:120 templates/base.html.py:121 templates/header.html:60 | |
| 646 | +#: templates/header.html.py:61 | |
| 660 | 647 | msgid "Logout" |
| 661 | -msgstr "" | |
| 648 | +msgstr "Logout" | |
| 662 | 649 | |
| 663 | -#: templates/base.html:214 templates/base.html.py:217 | |
| 650 | +#: templates/base.html:132 templates/base.html.py:135 templates/header.html:72 | |
| 651 | +#: templates/header.html.py:75 | |
| 664 | 652 | msgid "Search here..." |
| 665 | -msgstr "" | |
| 653 | +msgstr "Search here..." | |
| 666 | 654 | |
| 667 | -#: templates/base.html:231 | |
| 655 | +#: templates/base.html:149 | |
| 668 | 656 | msgid "The login has failed. Please, try again." |
| 669 | -msgstr "" | |
| 657 | +msgstr "The login has failed. Please, try again." | |
| 670 | 658 | |
| 671 | -#: templates/base.html:256 | |
| 659 | +#: templates/footer.html:6 | |
| 672 | 660 | msgid "Last email imported at" |
| 673 | -msgstr "" | |
| 661 | +msgstr "Last email imported at" | |
| 674 | 662 | |
| 675 | -#: templates/base.html:263 | |
| 663 | +#: templates/footer.html:12 | |
| 676 | 664 | msgid "The contents of this site is published under license" |
| 677 | -msgstr "" | |
| 665 | +msgstr "The contents of this site is published under license" | |
| 678 | 666 | |
| 679 | -#: templates/base.html:266 | |
| 667 | +#: templates/footer.html:15 | |
| 680 | 668 | msgid "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" |
| 681 | -msgstr "" | |
| 669 | +msgstr "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" | |
| 670 | + | |
| 671 | +#: templates/header.html:26 | |
| 672 | +msgid "Paste" | |
| 673 | +msgstr "Paste" | |
| 682 | 674 | |
| 683 | 675 | #: templates/home.html:17 |
| 684 | 676 | msgid "Latest Collaborations" |
| 685 | -msgstr "" | |
| 677 | +msgstr "Latest Collaborations" | |
| 686 | 678 | |
| 687 | 679 | #: templates/home.html:21 |
| 688 | 680 | msgid "RSS - Latest collaborations" |
| 689 | -msgstr "" | |
| 681 | +msgstr "RSS - Latest collaborations" | |
| 690 | 682 | |
| 691 | 683 | #: templates/home.html:30 |
| 692 | 684 | msgid "View more collaborations..." |
| 693 | -msgstr "" | |
| 685 | +msgstr "View more collaborations..." | |
| 694 | 686 | |
| 695 | 687 | #: templates/home.html:37 |
| 696 | 688 | msgid "Collaboration Graph" |
| 697 | -msgstr "" | |
| 689 | +msgstr "Collaboration Graph" | |
| 698 | 690 | |
| 699 | 691 | #: templates/home.html:48 |
| 700 | 692 | msgid "Most Relevant Threads" |
| 701 | -msgstr "" | |
| 693 | +msgstr "Most Relevant Threads" | |
| 702 | 694 | |
| 703 | 695 | #: templates/home.html:52 |
| 704 | 696 | msgid "RSS - Most Relevant Threads" |
| 705 | -msgstr "" | |
| 697 | +msgstr "RSS - Most Relevant Threads" | |
| 706 | 698 | |
| 707 | 699 | #: templates/home.html:60 templates/home.html.py:79 |
| 708 | 700 | msgid "View more discussions..." |
| 709 | -msgstr "" | |
| 701 | +msgstr "View more discussions..." | |
| 710 | 702 | |
| 711 | 703 | #: templates/home.html:67 |
| 712 | 704 | msgid "Latest Threads" |
| 713 | -msgstr "" | |
| 705 | +msgstr "Latest Threads" | |
| 714 | 706 | |
| 715 | 707 | #: templates/home.html:71 |
| 716 | 708 | msgid "RSS - Latest Threads" |
| 717 | -msgstr "" | |
| 718 | - | |
| 719 | -#: templates/open-data.html:6 | |
| 720 | -msgid "OpenData - Communities" | |
| 721 | -msgstr "" | |
| 722 | - | |
| 723 | -#: templates/open-data.html:7 | |
| 724 | -msgid "" | |
| 725 | -"If you are interested in any other data that is not provided by this API, " | |
| 726 | -"please contact us via the ticketing system (you must be registered in order " | |
| 727 | -"to create a ticket)." | |
| 728 | -msgstr "" | |
| 729 | - | |
| 730 | -#: templates/open-data.html:9 | |
| 731 | -msgid "Retrieving data via API" | |
| 732 | -msgstr "" | |
| 733 | - | |
| 734 | -#: templates/open-data.html:10 | |
| 735 | -msgid "Colab API works through HTTP/REST, always returning JSON objects." | |
| 736 | -msgstr "" | |
| 737 | - | |
| 738 | -#: templates/open-data.html:12 | |
| 739 | -msgid "The base API URL is" | |
| 740 | -msgstr "" | |
| 741 | - | |
| 742 | -#: templates/open-data.html:19 | |
| 743 | -msgid "" | |
| 744 | -"Each model listed below has a resource_uri field available, which is the " | |
| 745 | -"object's data URI." | |
| 746 | -msgstr "" | |
| 747 | - | |
| 748 | -#: templates/open-data.html:20 | |
| 749 | -msgid "" | |
| 750 | -"The following list contains the available models to retrieve data and its " | |
| 751 | -"fields available for filtering" | |
| 752 | -msgstr "" | |
| 753 | - | |
| 754 | -#: templates/open-data.html:24 templates/open-data.html.py:39 | |
| 755 | -#: templates/open-data.html:50 templates/open-data.html.py:62 | |
| 756 | -#: templates/open-data.html:74 templates/open-data.html.py:95 | |
| 757 | -msgid "Fields" | |
| 758 | -msgstr "" | |
| 759 | - | |
| 760 | -#: templates/open-data.html:25 | |
| 761 | -msgid "" | |
| 762 | -"The email field is not shown for user's privacy, but you can use it to filter" | |
| 763 | -msgstr "" | |
| 764 | - | |
| 765 | -#: templates/open-data.html:27 | |
| 766 | -msgid "The user's username" | |
| 767 | -msgstr "" | |
| 768 | - | |
| 769 | -#: templates/open-data.html:28 | |
| 770 | -msgid "The user's email address" | |
| 771 | -msgstr "" | |
| 772 | - | |
| 773 | -#: templates/open-data.html:29 | |
| 774 | -msgid "What is the user's institution" | |
| 775 | -msgstr "" | |
| 776 | - | |
| 777 | -#: templates/open-data.html:30 | |
| 778 | -msgid "What is the user's role" | |
| 779 | -msgstr "" | |
| 780 | - | |
| 781 | -#: templates/open-data.html:31 | |
| 782 | -msgid "The user's first name" | |
| 783 | -msgstr "" | |
| 784 | - | |
| 785 | -#: templates/open-data.html:32 | |
| 786 | -msgid "The user's last name" | |
| 787 | -msgstr "" | |
| 788 | - | |
| 789 | -#: templates/open-data.html:33 | |
| 790 | -msgid "A mini bio of the user" | |
| 791 | -msgstr "" | |
| 792 | - | |
| 793 | -#: templates/open-data.html:40 | |
| 794 | -msgid "" | |
| 795 | -"The address field is not shown for user's privacy, but you can use it to " | |
| 796 | -"filter" | |
| 797 | -msgstr "" | |
| 798 | - | |
| 799 | -#: templates/open-data.html:42 | |
| 800 | -msgid "It has a relationshop with the user described above" | |
| 801 | -msgstr "" | |
| 802 | - | |
| 803 | -#: templates/open-data.html:43 | |
| 804 | -msgid "An email address" | |
| 805 | -msgstr "" | |
| 806 | - | |
| 807 | -#: templates/open-data.html:44 | |
| 808 | -msgid "The user's real name" | |
| 809 | -msgstr "" | |
| 810 | - | |
| 811 | -#: templates/open-data.html:52 | |
| 812 | -msgid "It has a relationship with the emailaddress described above" | |
| 813 | -msgstr "" | |
| 814 | - | |
| 815 | -#: templates/open-data.html:53 | |
| 816 | -msgid "The message's body" | |
| 817 | -msgstr "" | |
| 818 | - | |
| 819 | -#: templates/open-data.html:54 | |
| 820 | -msgid "The message's subject" | |
| 821 | -msgstr "" | |
| 822 | - | |
| 823 | -#: templates/open-data.html:55 | |
| 824 | -msgid "The message's id" | |
| 825 | -msgstr "" | |
| 826 | - | |
| 827 | -#: templates/open-data.html:56 | |
| 828 | -msgid "The message's received time" | |
| 829 | -msgstr "" | |
| 830 | - | |
| 831 | -#: templates/open-data.html:64 | |
| 832 | -msgid "The revision's author username" | |
| 833 | -msgstr "" | |
| 834 | - | |
| 835 | -#: templates/open-data.html:65 | |
| 836 | -msgid "When the revision's were created" | |
| 837 | -msgstr "" | |
| 838 | - | |
| 839 | -#: templates/open-data.html:66 | |
| 840 | -msgid "The revision's key" | |
| 841 | -msgstr "" | |
| 842 | - | |
| 843 | -#: templates/open-data.html:67 | |
| 844 | -msgid "The revision's message" | |
| 845 | -msgstr "" | |
| 846 | - | |
| 847 | -#: templates/open-data.html:68 | |
| 848 | -msgid "The revision's repository name" | |
| 849 | -msgstr "" | |
| 850 | - | |
| 851 | -#: templates/open-data.html:76 | |
| 852 | -msgid "The ticket's author username" | |
| 853 | -msgstr "" | |
| 854 | - | |
| 855 | -#: templates/open-data.html:77 | |
| 856 | -msgid "The ticket's component" | |
| 857 | -msgstr "" | |
| 858 | - | |
| 859 | -#: templates/open-data.html:78 | |
| 860 | -msgid "When the ticket's were created" | |
| 861 | -msgstr "" | |
| 862 | - | |
| 863 | -#: templates/open-data.html:79 | |
| 864 | -msgid "The ticket's description" | |
| 865 | -msgstr "" | |
| 866 | - | |
| 867 | -#: templates/open-data.html:80 | |
| 868 | -msgid "The ticket's id" | |
| 869 | -msgstr "" | |
| 870 | - | |
| 871 | -#: templates/open-data.html:81 | |
| 872 | -msgid "The ticket's keywords" | |
| 873 | -msgstr "" | |
| 874 | - | |
| 875 | -#: templates/open-data.html:82 | |
| 876 | -msgid "The ticket's milestone" | |
| 877 | -msgstr "" | |
| 878 | - | |
| 879 | -#: templates/open-data.html:83 templates/open-data.html.py:99 | |
| 880 | -msgid "The time of the last modification" | |
| 881 | -msgstr "" | |
| 882 | - | |
| 883 | -#: templates/open-data.html:84 | |
| 884 | -msgid "The username of the last user who modified the ticket" | |
| 885 | -msgstr "" | |
| 886 | - | |
| 887 | -#: templates/open-data.html:85 | |
| 888 | -msgid "The ticket's priority" | |
| 889 | -msgstr "" | |
| 890 | - | |
| 891 | -#: templates/open-data.html:86 | |
| 892 | -msgid "The ticket's severity" | |
| 893 | -msgstr "" | |
| 894 | - | |
| 895 | -#: templates/open-data.html:87 | |
| 896 | -msgid "The ticket's status" | |
| 897 | -msgstr "" | |
| 898 | - | |
| 899 | -#: templates/open-data.html:88 | |
| 900 | -msgid "The ticket's summary" | |
| 901 | -msgstr "" | |
| 902 | - | |
| 903 | -#: templates/open-data.html:89 | |
| 904 | -msgid "The ticket's version" | |
| 905 | -msgstr "" | |
| 906 | - | |
| 907 | -#: templates/open-data.html:97 | |
| 908 | -msgid "The wiki's author username" | |
| 909 | -msgstr "" | |
| 910 | - | |
| 911 | -#: templates/open-data.html:98 | |
| 912 | -msgid "When the wiki's were created" | |
| 913 | -msgstr "" | |
| 914 | - | |
| 915 | -#: templates/open-data.html:100 | |
| 916 | -msgid "The username of the last user who modified the wiki" | |
| 917 | -msgstr "" | |
| 918 | - | |
| 919 | -#: templates/open-data.html:101 | |
| 920 | -msgid "The wiki's name" | |
| 921 | -msgstr "" | |
| 922 | - | |
| 923 | -#: templates/open-data.html:102 | |
| 924 | -msgid "the wiki's content" | |
| 925 | -msgstr "" | |
| 926 | - | |
| 927 | -#: templates/open-data.html:109 | |
| 928 | -msgid "Parameters" | |
| 929 | -msgstr "" | |
| 930 | - | |
| 931 | -#: templates/open-data.html:112 | |
| 932 | -msgid "Results per page" | |
| 933 | -msgstr "" | |
| 934 | - | |
| 935 | -#: templates/open-data.html:113 | |
| 936 | -msgid "Number of results to be displayed per page." | |
| 937 | -msgstr "" | |
| 938 | - | |
| 939 | -#: templates/open-data.html:114 | |
| 940 | -msgid "Default: 20" | |
| 941 | -msgstr "" | |
| 942 | - | |
| 943 | -#: templates/open-data.html:118 | |
| 944 | -msgid "Starts of n element" | |
| 945 | -msgstr "" | |
| 946 | - | |
| 947 | -#: templates/open-data.html:119 | |
| 948 | -msgid "Where n is the index of the first result to appear in the page." | |
| 949 | -msgstr "" | |
| 950 | - | |
| 951 | -#: templates/open-data.html:120 | |
| 952 | -msgid "Default: 0" | |
| 953 | -msgstr "" | |
| 954 | - | |
| 955 | -#: templates/open-data.html:122 | |
| 956 | -msgid "Filtering" | |
| 957 | -msgstr "" | |
| 958 | - | |
| 959 | -#: templates/open-data.html:124 | |
| 960 | -msgid "The field name" | |
| 961 | -msgstr "" | |
| 962 | - | |
| 963 | -#: templates/open-data.html:125 | |
| 964 | -msgid "" | |
| 965 | -"If you are looking for a specific wiki, and you know the wiki's name, you " | |
| 966 | -"can filter it as below" | |
| 967 | -msgstr "" | |
| 968 | - | |
| 969 | -#: templates/open-data.html:126 | |
| 970 | -msgid "WikiName" | |
| 971 | -msgstr "" | |
| 972 | - | |
| 973 | -#: templates/open-data.html:127 | |
| 974 | -msgid "" | |
| 975 | -"Where "name" is the fieldname and "WikiName" is the " | |
| 976 | -"value you want to filter." | |
| 977 | -msgstr "" | |
| 978 | - | |
| 979 | -#: templates/open-data.html:128 | |
| 980 | -msgid "Usage" | |
| 981 | -msgstr "" | |
| 982 | - | |
| 983 | -#: templates/open-data.html:129 | |
| 984 | -msgid "" | |
| 985 | -"You can also filter using Django lookup fields with the double underscores, " | |
| 986 | -"just as below" | |
| 987 | -msgstr "" | |
| 988 | - | |
| 989 | -#: templates/open-data.html:131 templates/open-data.html.py:132 | |
| 990 | -msgid "test" | |
| 991 | -msgstr "" | |
| 992 | - | |
| 993 | -#: templates/open-data.html:133 | |
| 994 | -msgid "Usage with relationships" | |
| 995 | -msgstr "" | |
| 996 | - | |
| 997 | -#: templates/open-data.html:134 | |
| 998 | -msgid "" | |
| 999 | -"You can use related fields to filter too. So, you can filter by any field of " | |
| 1000 | -"emailaddress using the 'from_address' field of message, which has a relation " | |
| 1001 | -"to emailaddress. You will achieve the related fields by using double " | |
| 1002 | -"underscore and the field's name. See the example below" | |
| 1003 | -msgstr "" | |
| 1004 | - | |
| 1005 | -#: templates/open-data.html:136 | |
| 1006 | -msgid "" | |
| 1007 | -"So, real_name is a field of emailaddress, and you had access to this field " | |
| 1008 | -"by a message field called from_address and using double underscore to say " | |
| 1009 | -"you want to use a field of that relationship" | |
| 1010 | -msgstr "" | |
| 1011 | - | |
| 1012 | -#: templates/open-data.html:137 | |
| 1013 | -msgid "" | |
| 1014 | -"Note: email filters must be exact. Which means that __contains, " | |
| 1015 | -"__startswith, __endswith and others won't work" | |
| 1016 | -msgstr "" | |
| 1017 | - | |
| 1018 | -#: templates/open-data.html:138 | |
| 1019 | -msgid "" | |
| 1020 | -"Another example of usage with relations. Used to retrieve all messages of a " | |
| 1021 | -"given user, using the username or the email field" | |
| 1022 | -msgstr "" | |
| 709 | +msgstr "RSS - Latest Threads" | ... | ... |
colab/locale/pt_BR/LC_MESSAGES/django.mo
No preview for this file type
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 | +# Lucas Kanashiro Duarte <kanashiro.duarte@gmail.com>, 2015 | |
| 7 | +# macártur de sousa carvalho <macartur.sc@gmail.com>, 2015 | |
| 6 | 8 | # Sergio Oliveira <seocam@seocam.com>, 2014 |
| 7 | 9 | msgid "" |
| 8 | 10 | msgstr "" |
| 9 | 11 | "Project-Id-Version: colab\n" |
| 10 | 12 | "Report-Msgid-Bugs-To: \n" |
| 11 | -"POT-Creation-Date: 2015-01-21 13:55+0000\n" | |
| 12 | -"PO-Revision-Date: 2014-11-21 17:31+0000\n" | |
| 13 | -"Last-Translator: Sergio Oliveira <seocam@seocam.com>\n" | |
| 14 | -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" | |
| 15 | -"colab/language/pt_BR/)\n" | |
| 16 | -"Language: pt_BR\n" | |
| 13 | +"POT-Creation-Date: 2015-09-01 13:15+0000\n" | |
| 14 | +"PO-Revision-Date: 2015-09-07 19:13+0000\n" | |
| 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" | |
| 17 | 17 | "MIME-Version: 1.0\n" |
| 18 | 18 | "Content-Type: text/plain; charset=UTF-8\n" |
| 19 | 19 | "Content-Transfer-Encoding: 8bit\n" |
| 20 | +"Language: pt_BR\n" | |
| 20 | 21 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" |
| 21 | 22 | |
| 22 | -#: colab/accounts/admin.py:40 | |
| 23 | +#: accounts/admin.py:18 | |
| 23 | 24 | msgid "Personal info" |
| 24 | 25 | msgstr "Informações Pessoais" |
| 25 | 26 | |
| 26 | -#: colab/accounts/admin.py:43 | |
| 27 | +#: accounts/admin.py:24 | |
| 27 | 28 | msgid "Permissions" |
| 28 | 29 | msgstr "Permissões" |
| 29 | 30 | |
| 30 | -#: colab/accounts/admin.py:45 | |
| 31 | +#: accounts/admin.py:28 | |
| 31 | 32 | msgid "Important dates" |
| 32 | 33 | msgstr "Datas importantes" |
| 33 | 34 | |
| 34 | -#: colab/accounts/forms.py:25 | |
| 35 | +#: accounts/forms.py:37 | |
| 35 | 36 | msgid "Social account does not exist" |
| 36 | 37 | msgstr "Conta social não existe" |
| 37 | 38 | |
| 38 | -#: colab/accounts/forms.py:61 | |
| 39 | +#: accounts/forms.py:65 accounts/forms.py:71 accounts/forms.py:77 | |
| 39 | 40 | msgid "This field cannot be blank." |
| 40 | -msgstr "" | |
| 41 | - | |
| 42 | -#: colab/accounts/forms.py:67 colab/accounts/forms.py:128 | |
| 43 | -msgid "Password" | |
| 44 | -msgstr "Senha" | |
| 41 | +msgstr "Este campo não pode ficar em branco." | |
| 45 | 42 | |
| 46 | -#: colab/accounts/forms.py:68 | |
| 47 | -msgid "Confirm Password " | |
| 48 | -msgstr "Confirmar senha" | |
| 49 | - | |
| 50 | -#: colab/accounts/forms.py:79 | |
| 51 | -msgid "The two password fields didn't match." | |
| 52 | -msgstr "" | |
| 53 | - | |
| 54 | -#: colab/accounts/forms.py:96 | |
| 55 | -#: colab/accounts/templates/accounts/user_detail.html:38 | |
| 43 | +#: accounts/forms.py:118 accounts/templates/accounts/user_detail.html:38 | |
| 56 | 44 | msgid "Bio" |
| 57 | 45 | msgstr "Bio" |
| 58 | 46 | |
| 59 | -#: colab/accounts/forms.py:97 | |
| 47 | +#: accounts/forms.py:119 | |
| 60 | 48 | msgid "Write something about you in 200 characters or less." |
| 61 | 49 | msgstr "Escreva algo sobre você em 200 caracteres ou menos." |
| 62 | 50 | |
| 63 | -#: colab/accounts/forms.py:121 | |
| 51 | +#: accounts/forms.py:148 | |
| 64 | 52 | msgid "Mailing lists" |
| 65 | 53 | msgstr "Listas de e-mail" |
| 66 | 54 | |
| 67 | -#: colab/accounts/forms.py:130 | |
| 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>" | |
| 59 | + | |
| 60 | +#: accounts/forms.py:163 | |
| 61 | +msgid "A user with that username already exists." | |
| 62 | +msgstr "Já existe um usuário com este nome." | |
| 63 | + | |
| 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." | |
| 67 | + | |
| 68 | +#: accounts/forms.py:166 accounts/forms.py:236 search/forms.py:38 | |
| 69 | +msgid "Username" | |
| 70 | +msgstr "Usuário" | |
| 71 | + | |
| 72 | +#: accounts/forms.py:173 accounts/forms.py:240 accounts/forms.py:277 | |
| 73 | +#: accounts/forms.py:467 | |
| 74 | +msgid "Password" | |
| 75 | +msgstr "Senha" | |
| 76 | + | |
| 77 | +#: accounts/forms.py:175 | |
| 68 | 78 | msgid "Password confirmation" |
| 69 | 79 | msgstr "Confirmação de senha" |
| 70 | 80 | |
| 71 | -#: colab/accounts/forms.py:132 | |
| 72 | -msgid "Enter the same password as above, for verification." | |
| 73 | -msgstr "Digite a mesma senha que acima, para verificação." | |
| 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." | |
| 74 | 84 | |
| 75 | -#: colab/accounts/forms.py:150 | |
| 76 | -msgid "Password mismatch" | |
| 77 | -msgstr "Senhas diferentes" | |
| 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." | |
| 78 | 88 | |
| 79 | -#: colab/accounts/models.py:66 | |
| 80 | -msgid "Required. 30 characters or fewer. Letters, digits and ./+/-/_ only." | |
| 81 | -msgstr "" | |
| 82 | -"Obrigatório. 30 caracteres ou menos. Letras, números e ./+/-/_ somente." | |
| 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>." | |
| 83 | 95 | |
| 84 | -#: colab/accounts/models.py:71 | |
| 85 | -msgid "Enter a valid username." | |
| 86 | -msgstr "Insira um nome de usuário válido." | |
| 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" | |
| 87 | 102 | |
| 88 | -#: colab/accounts/templates/accounts/change_password.html:8 | |
| 89 | -msgid "Change XMPP Client and SVN Password" | |
| 90 | -msgstr "Trocar senha do Repositório e do Mensageiro" | |
| 91 | - | |
| 92 | -#: colab/accounts/templates/accounts/change_password.html:17 | |
| 93 | -#: colab/accounts/templates/accounts/user_update_form.html:186 | |
| 94 | -#: colab/accounts/templates/accounts/user_update_form.html:190 | |
| 95 | -#: colab/accounts/templates/accounts/user_update_form.html:202 | |
| 96 | -#: colab/accounts/templates/accounts/user_update_form.html:209 | |
| 97 | -#: colab/accounts/templates/registration/password_change_form_custom.html:27 | |
| 98 | -#: colab/accounts/templates/registration/password_reset_confirm_custom.html:29 | |
| 99 | -msgid "Change Password" | |
| 100 | -msgstr "Trocar senha" | |
| 103 | +#: accounts/forms.py:282 | |
| 104 | +msgid "This account is inactive." | |
| 105 | +msgstr "Esta conta está inativa." | |
| 101 | 106 | |
| 102 | -#: colab/accounts/templates/accounts/login.html:7 | |
| 103 | -msgid "To login please click in the link below:" | |
| 104 | -msgstr "Para acessar por favor clique no link abaixo:" | |
| 107 | +#: accounts/forms.py:345 | |
| 108 | +msgid "Email" | |
| 109 | +msgstr "Email" | |
| 105 | 110 | |
| 106 | -#: colab/accounts/templates/accounts/login.html:8 | |
| 107 | -#: colab/accounts/templates/registration/login.html:34 | |
| 108 | -#: colab/accounts/templates/registration/login.html:54 | |
| 109 | -#: colab/templates/base.html:185 colab/templates/base.html.py:190 | |
| 110 | -#: colab/templates/base.html:194 colab/templates/base.html.py:199 | |
| 111 | -msgid "Login" | |
| 112 | -msgstr "Entrar" | |
| 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." | |
| 113 | 122 | |
| 114 | -#: colab/accounts/templates/accounts/manage_subscriptions.html:6 | |
| 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 | |
| 115 | 136 | msgid "Group Subscriptions" |
| 116 | 137 | msgstr "Inscrições em grupos" |
| 117 | 138 | |
| 118 | -#: colab/accounts/templates/accounts/manage_subscriptions.html:36 | |
| 139 | +#: accounts/templates/accounts/manage_subscriptions.html:36 | |
| 119 | 140 | msgid "Update subscriptions" |
| 120 | 141 | msgstr "Atualizar inscrições" |
| 121 | 142 | |
| 122 | -#: colab/accounts/templates/accounts/user_create_form.html:5 | |
| 143 | +#: accounts/templates/accounts/user_create_form.html:5 | |
| 123 | 144 | msgid "Sign up" |
| 124 | 145 | msgstr "Cadastrar" |
| 125 | 146 | |
| 126 | -#: colab/accounts/templates/accounts/user_create_form.html:10 | |
| 127 | -#: colab/accounts/templates/registration/login.html:14 | |
| 128 | -#: colab/accounts/templates/registration/password_change_form_custom.html:13 | |
| 129 | -#: colab/accounts/templates/registration/password_reset_confirm_custom.html:15 | |
| 130 | -#: colab/accounts/templates/registration/password_reset_form_custom.html:9 | |
| 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 | |
| 131 | 152 | msgid "Please correct the errors below and try again." |
| 132 | -msgstr "Por favor, corrija os erros abaixo e tente novamente." | |
| 153 | +msgstr "Por favor corrija os erros abaixo e tente novamente." | |
| 133 | 154 | |
| 134 | -#: colab/accounts/templates/accounts/user_create_form.html:17 | |
| 155 | +#: accounts/templates/accounts/user_create_form.html:17 | |
| 135 | 156 | msgid "Required fields" |
| 136 | 157 | msgstr "Campos obrigatórios" |
| 137 | 158 | |
| 138 | -#: colab/accounts/templates/accounts/user_create_form.html:29 | |
| 159 | +#: accounts/templates/accounts/user_create_form.html:29 | |
| 139 | 160 | msgid "Personal Information" |
| 140 | 161 | msgstr "Informações pessoais" |
| 141 | 162 | |
| 142 | -#: colab/accounts/templates/accounts/user_create_form.html:46 | |
| 163 | +#: accounts/templates/accounts/user_create_form.html:46 | |
| 143 | 164 | msgid "Subscribe to groups" |
| 144 | 165 | msgstr "Inscreva-se nos grupos" |
| 145 | 166 | |
| 146 | -#: colab/accounts/templates/accounts/user_create_form.html:60 | |
| 147 | -#: colab/templates/base.html:189 colab/templates/base.html.py:198 | |
| 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 | |
| 148 | 170 | msgid "Register" |
| 149 | 171 | msgstr "Cadastre-se" |
| 150 | 172 | |
| 151 | -#: colab/accounts/templates/accounts/user_detail.html:8 | |
| 173 | +#: accounts/templates/accounts/user_detail.html:8 | |
| 152 | 174 | msgid "Messages" |
| 153 | 175 | msgstr "Mensagens" |
| 154 | 176 | |
| 155 | -#: colab/accounts/templates/accounts/user_detail.html:9 | |
| 156 | -#: colab/templates/home.html:7 | |
| 177 | +#: accounts/templates/accounts/user_detail.html:9 templates/home.html:7 | |
| 157 | 178 | msgid "Contributions" |
| 158 | 179 | msgstr "Contribuições" |
| 159 | 180 | |
| 160 | -#: colab/accounts/templates/accounts/user_detail.html:29 | |
| 181 | +#: accounts/templates/accounts/user_detail.html:29 | |
| 161 | 182 | msgid "edit profile" |
| 162 | 183 | msgstr "editar perfil" |
| 163 | 184 | |
| 164 | -#: colab/accounts/templates/accounts/user_detail.html:30 | |
| 185 | +#: accounts/templates/accounts/user_detail.html:30 | |
| 165 | 186 | msgid "group membership" |
| 166 | 187 | msgstr "Inscrições nos grupos" |
| 167 | 188 | |
| 168 | -#: colab/accounts/templates/accounts/user_detail.html:65 | |
| 189 | +#: accounts/templates/accounts/user_detail.html:66 | |
| 169 | 190 | msgid "Twitter account" |
| 170 | 191 | msgstr "Conta Twitter" |
| 171 | 192 | |
| 172 | -#: colab/accounts/templates/accounts/user_detail.html:68 | |
| 193 | +#: accounts/templates/accounts/user_detail.html:69 | |
| 173 | 194 | msgid "Facebook account" |
| 174 | 195 | msgstr "Conta Facebook" |
| 175 | 196 | |
| 176 | -#: colab/accounts/templates/accounts/user_detail.html:73 | |
| 197 | +#: accounts/templates/accounts/user_detail.html:74 | |
| 177 | 198 | msgid "Google talk account" |
| 178 | -msgstr "Conta Google" | |
| 199 | +msgstr "Conta Google talk" | |
| 179 | 200 | |
| 180 | -#: colab/accounts/templates/accounts/user_detail.html:77 | |
| 201 | +#: accounts/templates/accounts/user_detail.html:78 | |
| 181 | 202 | msgid "Github account" |
| 182 | 203 | msgstr "Conta Github" |
| 183 | 204 | |
| 184 | -#: colab/accounts/templates/accounts/user_detail.html:81 | |
| 205 | +#: accounts/templates/accounts/user_detail.html:82 | |
| 185 | 206 | msgid "Personal webpage" |
| 186 | 207 | msgstr "Página web pessoal" |
| 187 | 208 | |
| 188 | -#: colab/accounts/templates/accounts/user_detail.html:87 | |
| 209 | +#: accounts/templates/accounts/user_detail.html:88 | |
| 189 | 210 | msgid "Groups: " |
| 190 | 211 | msgstr "Grupos: " |
| 191 | 212 | |
| 192 | -#: colab/accounts/templates/accounts/user_detail.html:100 | |
| 213 | +#: accounts/templates/accounts/user_detail.html:101 | |
| 193 | 214 | msgid "Collaborations by Type" |
| 194 | 215 | msgstr "Colaborações por tipo" |
| 195 | 216 | |
| 196 | -#: colab/accounts/templates/accounts/user_detail.html:116 | |
| 217 | +#: accounts/templates/accounts/user_detail.html:117 | |
| 197 | 218 | msgid "Participation by Group" |
| 198 | 219 | msgstr "Participação por grupo" |
| 199 | 220 | |
| 200 | -#: colab/accounts/templates/accounts/user_detail.html:132 | |
| 201 | -msgid "Badges" | |
| 202 | -msgstr "Medalhas" | |
| 203 | - | |
| 204 | -#: colab/accounts/templates/accounts/user_detail.html:151 | |
| 221 | +#: accounts/templates/accounts/user_detail.html:133 | |
| 205 | 222 | msgid "Latest posted" |
| 206 | 223 | msgstr "Últimas postagens" |
| 207 | 224 | |
| 208 | -#: colab/accounts/templates/accounts/user_detail.html:156 | |
| 225 | +#: accounts/templates/accounts/user_detail.html:138 | |
| 209 | 226 | msgid "There are no posts by this user so far." |
| 210 | 227 | msgstr "Não há posts deste usuário até agora." |
| 211 | 228 | |
| 212 | -#: colab/accounts/templates/accounts/user_detail.html:160 | |
| 229 | +#: accounts/templates/accounts/user_detail.html:142 | |
| 213 | 230 | msgid "View more posts..." |
| 214 | 231 | msgstr "Ver mais postagens..." |
| 215 | 232 | |
| 216 | -#: colab/accounts/templates/accounts/user_detail.html:166 | |
| 233 | +#: accounts/templates/accounts/user_detail.html:148 | |
| 217 | 234 | msgid "Latest contributions" |
| 218 | 235 | msgstr "Últimas colaborações" |
| 219 | 236 | |
| 220 | -#: colab/accounts/templates/accounts/user_detail.html:171 | |
| 237 | +#: accounts/templates/accounts/user_detail.html:153 | |
| 221 | 238 | msgid "No contributions of this user so far." |
| 222 | -msgstr "Não há posts deste usuário até agora." | |
| 239 | +msgstr "Não há contribuições deste usuário até agora." | |
| 223 | 240 | |
| 224 | -#: colab/accounts/templates/accounts/user_detail.html:175 | |
| 241 | +#: accounts/templates/accounts/user_detail.html:157 | |
| 225 | 242 | msgid "View more contributions..." |
| 226 | 243 | msgstr "Ver mais colaborações..." |
| 227 | 244 | |
| 228 | -#: colab/accounts/templates/accounts/user_update_form.html:65 | |
| 245 | +#: accounts/templates/accounts/user_update_form.html:65 | |
| 229 | 246 | msgid "We sent a verification email to " |
| 230 | 247 | msgstr "Enviamos um email de verificação para " |
| 231 | 248 | |
| 232 | -#: colab/accounts/templates/accounts/user_update_form.html:66 | |
| 249 | +#: accounts/templates/accounts/user_update_form.html:66 | |
| 233 | 250 | msgid "Please follow the instructions in it." |
| 234 | 251 | msgstr "Por favor, siga as instruções." |
| 235 | 252 | |
| 236 | -#: colab/accounts/templates/accounts/user_update_form.html:110 | |
| 253 | +#: accounts/templates/accounts/user_update_form.html:110 | |
| 237 | 254 | msgid "profile information" |
| 238 | 255 | msgstr "informações do perfil" |
| 239 | 256 | |
| 240 | -#: colab/accounts/templates/accounts/user_update_form.html:115 | |
| 257 | +#: accounts/templates/accounts/user_update_form.html:115 | |
| 241 | 258 | msgid "Change your avatar at Gravatar.com" |
| 242 | 259 | msgstr "Troque seu avatar em Gravatar.com" |
| 243 | 260 | |
| 244 | -#: colab/accounts/templates/accounts/user_update_form.html:142 | |
| 245 | -#: colab/search/utils.py:8 | |
| 261 | +#: accounts/templates/accounts/user_update_form.html:142 search/utils.py:56 | |
| 246 | 262 | msgid "Emails" |
| 247 | -msgstr "E-mails" | |
| 263 | +msgstr "Emails" | |
| 248 | 264 | |
| 249 | -#: colab/accounts/templates/accounts/user_update_form.html:151 | |
| 265 | +#: accounts/templates/accounts/user_update_form.html:151 | |
| 250 | 266 | msgid "Primary" |
| 251 | 267 | msgstr "Primário" |
| 252 | 268 | |
| 253 | -#: colab/accounts/templates/accounts/user_update_form.html:154 | |
| 269 | +#: accounts/templates/accounts/user_update_form.html:154 | |
| 254 | 270 | msgid "Setting..." |
| 255 | 271 | msgstr "Definindo..." |
| 256 | 272 | |
| 257 | -#: colab/accounts/templates/accounts/user_update_form.html:154 | |
| 273 | +#: accounts/templates/accounts/user_update_form.html:154 | |
| 258 | 274 | msgid "Set as Primary" |
| 259 | 275 | msgstr "Definir como Primário" |
| 260 | 276 | |
| 261 | -#: colab/accounts/templates/accounts/user_update_form.html:155 | |
| 277 | +#: accounts/templates/accounts/user_update_form.html:155 | |
| 262 | 278 | msgid "Deleting..." |
| 263 | -msgstr "Deletando..." | |
| 279 | +msgstr "Apagando..." | |
| 264 | 280 | |
| 265 | -#: colab/accounts/templates/accounts/user_update_form.html:155 | |
| 266 | -#: colab/accounts/templates/accounts/user_update_form.html:167 | |
| 281 | +#: accounts/templates/accounts/user_update_form.html:155 | |
| 282 | +#: accounts/templates/accounts/user_update_form.html:167 | |
| 267 | 283 | msgid "Delete" |
| 268 | 284 | msgstr "Apagar" |
| 269 | 285 | |
| 270 | -#: colab/accounts/templates/accounts/user_update_form.html:166 | |
| 286 | +#: accounts/templates/accounts/user_update_form.html:166 | |
| 271 | 287 | msgid "Sending verification..." |
| 272 | 288 | msgstr "Enviando verificação..." |
| 273 | 289 | |
| 274 | -#: colab/accounts/templates/accounts/user_update_form.html:166 | |
| 290 | +#: accounts/templates/accounts/user_update_form.html:166 | |
| 275 | 291 | msgid "Verify" |
| 276 | 292 | msgstr "Verificar" |
| 277 | 293 | |
| 278 | -#: colab/accounts/templates/accounts/user_update_form.html:174 | |
| 294 | +#: accounts/templates/accounts/user_update_form.html:174 | |
| 279 | 295 | msgid "Add another email address:" |
| 280 | -msgstr "Adicionar outro endereço de e-mail" | |
| 296 | +msgstr "Adicionar outro endereço de email" | |
| 281 | 297 | |
| 282 | -#: colab/accounts/templates/accounts/user_update_form.html:177 | |
| 298 | +#: accounts/templates/accounts/user_update_form.html:177 | |
| 283 | 299 | msgid "Add" |
| 284 | 300 | msgstr "Adicionar" |
| 285 | 301 | |
| 286 | -#: colab/accounts/templates/accounts/user_update_form.html:207 | |
| 287 | -msgid "" | |
| 288 | -"This feature is available only for those who need to change the password for " | |
| 289 | -"some reason as having an old user with the same username, forgot your " | |
| 290 | -"password to commit, usage of other XMPP Client for connection. Usually, you " | |
| 291 | -"won't need to change this password. Only change it if you are sure about " | |
| 292 | -"what you are doing." | |
| 293 | -msgstr "" | |
| 294 | -"Este recurso está disponível para quem precisa trocar a senha por algum " | |
| 295 | -"motivo como ter um usuário antigo com mesmo nome de usuário, esqueceu da " | |
| 296 | -"senha antiga para commit, uso de outro cliente XMPP para conexão. " | |
| 297 | -"Normalmente, você não terá que trocar essa senha. Somente troque essa senha " | |
| 298 | -"se tiver certeza do que está fazendo." | |
| 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" | |
| 299 | 308 | |
| 300 | -#: colab/accounts/templates/accounts/user_update_form.html:217 | |
| 309 | +#: accounts/templates/accounts/user_update_form.html:196 | |
| 301 | 310 | msgid "Update" |
| 302 | 311 | msgstr "Atualizar" |
| 303 | 312 | |
| 304 | -#: colab/accounts/templates/registration/login.html:10 | |
| 305 | -#: colab/accounts/templates/registration/password_change_form_custom.html:11 | |
| 306 | -#: colab/accounts/templates/registration/password_reset_confirm_custom.html:12 | |
| 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 | |
| 307 | 316 | msgid "Please correct the error below and try again." |
| 308 | -msgstr "Por favor, corrija o erro abaixo e tente novamente." | |
| 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" | |
| 309 | 327 | |
| 310 | -#: colab/accounts/templates/registration/login.html:56 | |
| 328 | +#: accounts/templates/registration/login.html:56 | |
| 311 | 329 | msgid "Forgot Password?" |
| 312 | -msgstr "Esqueceu sua senha?" | |
| 330 | +msgstr "Esqueci minha Senha?" | |
| 313 | 331 | |
| 314 | -#: colab/accounts/templates/registration/password_change_form_custom.html:55 | |
| 315 | -#: colab/accounts/templates/registration/password_reset_confirm_custom.html:52 | |
| 316 | -#, fuzzy | |
| 317 | -#| msgid "Change Password" | |
| 332 | +#: accounts/templates/registration/password_change_form_custom.html:54 | |
| 333 | +#: accounts/templates/registration/password_reset_confirm_custom.html:51 | |
| 318 | 334 | msgid "Change my password" |
| 319 | -msgstr "Trocar senha" | |
| 335 | +msgstr "Alterar minha senha" | |
| 320 | 336 | |
| 321 | -#: colab/accounts/templates/registration/password_reset_confirm_custom.html:3 | |
| 322 | -#, fuzzy | |
| 323 | -#| msgid "Change Password" | |
| 337 | +#: accounts/templates/registration/password_reset_confirm_custom.html:3 | |
| 324 | 338 | msgid "Setting New password" |
| 325 | -msgstr "Trocar senha" | |
| 339 | +msgstr "Definir Nova Senha" | |
| 326 | 340 | |
| 327 | -#: colab/accounts/templates/registration/password_reset_form_custom.html:23 | |
| 328 | -msgid "Forgotten your password? Enter your email address below, and we'll email " | |
| 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 " | |
| 329 | 344 | "instructions for setting a new one." |
| 330 | -msgstr "Esqueceu sua senha? Entre com seu endereço de email abaixo e nós iremos lhe enviar instruções para configurar uma nova senha" | |
| 345 | +msgstr "Esqueceu sua senha? Digite seu email abaixo, e enviaremos instruções para redefinir sua senha." | |
| 331 | 346 | |
| 332 | -#: colab/accounts/templates/registration/password_reset_form_custom.html:26 | |
| 333 | -#, fuzzy | |
| 334 | -#| msgid "An email address" | |
| 347 | +#: accounts/templates/registration/password_reset_form_custom.html:26 | |
| 335 | 348 | msgid "Email address:" |
| 336 | -msgstr "Um endereço de e-mail" | |
| 349 | +msgstr "Endereço de email: " | |
| 337 | 350 | |
| 338 | -#: colab/accounts/templates/registration/password_reset_form_custom.html:37 | |
| 351 | +#: accounts/templates/registration/password_reset_form_custom.html:37 | |
| 339 | 352 | msgid "Reset password" |
| 340 | 353 | msgstr "Redefinir senha" |
| 341 | 354 | |
| 342 | -#: colab/accounts/views.py:180 | |
| 355 | +#: accounts/views.py:126 | |
| 343 | 356 | msgid "Your profile has been created!" |
| 344 | 357 | msgstr "Seu perfil foi criado!" |
| 345 | 358 | |
| 346 | -#: colab/accounts/views.py:264 | |
| 347 | -msgid "Could not change your password. Please, try again later." | |
| 348 | -msgstr "Não conseguimos alterar sua senha. Por favor, tente novamente mais tarde." | |
| 359 | +#: accounts/views.py:186 | |
| 360 | +msgid "Your password was changed." | |
| 361 | +msgstr "Sua senha foi modificada." | |
| 349 | 362 | |
| 350 | -#: colab/accounts/views.py:273 | |
| 351 | -msgid "You've changed your password successfully!" | |
| 352 | -msgstr "Senha alterada com sucesso!" | |
| 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." | |
| 353 | 366 | |
| 354 | -#: colab/accounts/views.py:279 | |
| 355 | -msgid "Your password was changed." | |
| 356 | -msgstr "Sua senha foi alterada" | |
| 367 | +#: home/context_processors.py:20 | |
| 368 | +msgid "Fork me!" | |
| 369 | +msgstr "Fork me!" | |
| 357 | 370 | |
| 358 | -#: colab/accounts/views.py:286 | |
| 359 | -msgid "We've emailed you instructions for setting your password. You should be receiving them shortly." | |
| 360 | -msgstr "Nos enviamos o email com as intruções para mudança de senha. Em breve você deve recebê-lo." | |
| 371 | +#: plugins/gitlab/models.py:27 | |
| 372 | +msgid "Gitlab Project" | |
| 373 | +msgstr "Projeto no Gitlab" | |
| 361 | 374 | |
| 362 | -#: colab/accounts/views.py:292 | |
| 363 | -msgid "Your password has been set. You may go ahead and log in now." | |
| 364 | -msgstr "Sua senha foi redefinida. Você pode prosseguir e autenticar agora." | |
| 375 | +#: plugins/gitlab/models.py:28 | |
| 376 | +msgid "Gitlab Projects" | |
| 377 | +msgstr "Projetos no Gitlab" | |
| 365 | 378 | |
| 366 | -#: colab/settings.py:160 | |
| 367 | -msgid "Image" | |
| 368 | -msgstr "Imagem" | |
| 379 | +#: plugins/gitlab/models.py:54 | |
| 380 | +msgid "Gitlab Group" | |
| 381 | +msgstr "Grupo no Gitlab" | |
| 369 | 382 | |
| 370 | -#: colab/search/templates/search/includes/search_filters.html:122 | |
| 371 | -msgid "Ticket" | |
| 372 | -msgstr "Tíquetes" | |
| 383 | +#: plugins/gitlab/models.py:55 | |
| 384 | +msgid "Gitlab Groups" | |
| 385 | +msgstr "Grupos no Gitlab" | |
| 373 | 386 | |
| 374 | -#: colab/search/forms.py:18 | |
| 375 | -msgid "Type" | |
| 376 | -msgstr "Tipo" | |
| 387 | +#: plugins/gitlab/models.py:91 | |
| 388 | +msgid "Gitlab Merge Request" | |
| 389 | +msgstr "Envio de Contribuição no Gitlab" | |
| 377 | 390 | |
| 378 | -#: colab/home/context_processors.py:20 | |
| 379 | -msgid "Fork me!" | |
| 380 | -msgstr "Fork me!" | |
| 391 | +#: plugins/gitlab/models.py:92 | |
| 392 | +msgid "Gitlab Merge Requests" | |
| 393 | +msgstr "Envio de Contribuições no Gitlab" | |
| 394 | + | |
| 395 | +#: plugins/gitlab/models.py:120 | |
| 396 | +msgid "Gitlab Issue" | |
| 397 | +msgstr "Tíquete no Gitlab" | |
| 398 | + | |
| 399 | +#: plugins/gitlab/models.py:121 | |
| 400 | +msgid "Gitlab Issues" | |
| 401 | +msgstr "Tíquetes no Gitlab" | |
| 381 | 402 | |
| 382 | -#: colab/rss/feeds.py:13 | |
| 403 | +#: plugins/gitlab/models.py:176 plugins/gitlab/models.py:177 | |
| 404 | +msgid "Gitlab Comments" | |
| 405 | +msgstr "Comentários no Gitlab" | |
| 406 | + | |
| 407 | +#: plugins/noosfero/models.py:39 | |
| 408 | +msgid "Community" | |
| 409 | +msgstr "Comunidade" | |
| 410 | + | |
| 411 | +#: plugins/noosfero/models.py:40 | |
| 412 | +msgid "Communities" | |
| 413 | +msgstr "Comunidades" | |
| 414 | + | |
| 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 | |
| 383 | 424 | msgid "Latest Discussions" |
| 384 | 425 | msgstr "Últimas discussões" |
| 385 | 426 | |
| 386 | -#: colab/rss/feeds.py:32 | |
| 427 | +#: rss/feeds.py:32 | |
| 387 | 428 | msgid "Discussions Most Relevance" |
| 388 | 429 | msgstr "Discussões Mais Relevantes" |
| 389 | 430 | |
| 390 | -#: colab/rss/feeds.py:51 | |
| 431 | +#: rss/feeds.py:51 | |
| 391 | 432 | msgid "Latest collaborations" |
| 392 | 433 | msgstr "Últimas colaborações" |
| 393 | 434 | |
| 394 | -#: colab/search/forms.py:16 colab/search/templates/search/search.html:46 | |
| 395 | -#: colab/templates/base.html:175 | |
| 435 | +#: search/forms.py:16 search/templates/search/search.html:46 | |
| 436 | +#: templates/base.html:89 templates/header.html:29 | |
| 396 | 437 | msgid "Search" |
| 397 | 438 | msgstr "Busca" |
| 398 | 439 | |
| 399 | -#: colab/search/forms.py:19 colab/search/views.py:22 | |
| 440 | +#: search/forms.py:18 | |
| 441 | +msgid "Type" | |
| 442 | +msgstr "Tipo" | |
| 443 | + | |
| 444 | +#: search/forms.py:19 search/views.py:20 | |
| 400 | 445 | msgid "Author" |
| 401 | 446 | msgstr "Autor" |
| 402 | 447 | |
| 403 | -#: colab/search/forms.py:20 | |
| 448 | +#: search/forms.py:20 | |
| 404 | 449 | msgid "Modified by" |
| 405 | 450 | msgstr "Modificado por" |
| 406 | 451 | |
| 407 | -#: colab/search/forms.py:22 | |
| 452 | +#: search/forms.py:22 | |
| 408 | 453 | msgid "Status" |
| 409 | 454 | msgstr "Status" |
| 410 | 455 | |
| 411 | -#: colab/search/forms.py:26 colab/search/views.py:25 | |
| 456 | +#: search/forms.py:26 search/views.py:23 | |
| 412 | 457 | msgid "Mailinglist" |
| 413 | -msgstr "Grupo" | |
| 458 | +msgstr "Lista de discussão" | |
| 414 | 459 | |
| 415 | -#: colab/search/forms.py:30 | |
| 460 | +#: search/forms.py:30 | |
| 416 | 461 | msgid "Milestone" |
| 417 | -msgstr "Etapa" | |
| 462 | +msgstr "Marco" | |
| 418 | 463 | |
| 419 | -#: colab/search/forms.py:31 | |
| 464 | +#: search/forms.py:31 | |
| 420 | 465 | msgid "Priority" |
| 421 | 466 | msgstr "Prioridade" |
| 422 | 467 | |
| 423 | -#: colab/search/forms.py:32 | |
| 468 | +#: search/forms.py:32 | |
| 424 | 469 | msgid "Component" |
| 425 | 470 | msgstr "Componente" |
| 426 | 471 | |
| 427 | -#: colab/search/forms.py:33 | |
| 472 | +#: search/forms.py:33 | |
| 428 | 473 | msgid "Severity" |
| 429 | -msgstr "Seriedade" | |
| 474 | +msgstr "Severidade" | |
| 430 | 475 | |
| 431 | -#: colab/search/forms.py:34 | |
| 476 | +#: search/forms.py:34 | |
| 432 | 477 | msgid "Reporter" |
| 433 | 478 | msgstr "Relator" |
| 434 | 479 | |
| 435 | -#: colab/search/forms.py:35 | |
| 480 | +#: search/forms.py:35 | |
| 436 | 481 | msgid "Keywords" |
| 437 | -msgstr "Palavras chaves" | |
| 482 | +msgstr "Palavras chave" | |
| 438 | 483 | |
| 439 | -#: colab/search/forms.py:36 | |
| 484 | +#: search/forms.py:36 | |
| 440 | 485 | msgid "Collaborators" |
| 441 | 486 | msgstr "Colaboradores" |
| 442 | 487 | |
| 443 | -#: colab/search/forms.py:37 colab/templates/base.html:107 | |
| 488 | +#: search/forms.py:37 | |
| 444 | 489 | msgid "Repository" |
| 445 | 490 | msgstr "Repositório" |
| 446 | 491 | |
| 447 | -#: colab/search/forms.py:38 | |
| 448 | -msgid "Username" | |
| 449 | -msgstr "Usuário" | |
| 450 | - | |
| 451 | -#: colab/search/forms.py:39 | |
| 492 | +#: search/forms.py:39 | |
| 452 | 493 | msgid "Name" |
| 453 | 494 | msgstr "Nome" |
| 454 | 495 | |
| 455 | -#: colab/search/forms.py:40 | |
| 496 | +#: search/forms.py:40 | |
| 456 | 497 | msgid "Institution" |
| 457 | 498 | msgstr "Instituição" |
| 458 | 499 | |
| 459 | -#: colab/search/forms.py:41 | |
| 500 | +#: search/forms.py:41 | |
| 460 | 501 | msgid "Role" |
| 461 | -msgstr "Cargo" | |
| 502 | +msgstr "Papel" | |
| 462 | 503 | |
| 463 | -#: colab/search/forms.py:42 | |
| 464 | -#: colab/search/templates/search/includes/search_filters.html:154 | |
| 465 | -#: colab/search/templates/search/includes/search_filters.html:156 | |
| 466 | -#: colab/search/templates/search/includes/search_filters.html:188 | |
| 467 | -#: colab/search/templates/search/includes/search_filters.html:189 | |
| 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 | |
| 468 | 508 | msgid "Since" |
| 469 | 509 | msgstr "Desde" |
| 470 | 510 | |
| 471 | -#: colab/search/forms.py:43 | |
| 472 | -#: colab/search/templates/search/includes/search_filters.html:163 | |
| 473 | -#: colab/search/templates/search/includes/search_filters.html:165 | |
| 474 | -#: colab/search/templates/search/includes/search_filters.html:192 | |
| 475 | -#: colab/search/templates/search/includes/search_filters.html:193 | |
| 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 | |
| 476 | 515 | msgid "Until" |
| 477 | 516 | msgstr "Até" |
| 478 | 517 | |
| 479 | -#: colab/search/forms.py:44 | |
| 518 | +#: search/forms.py:44 | |
| 480 | 519 | msgid "Filename" |
| 481 | 520 | msgstr "Nome do arquivo" |
| 482 | 521 | |
| 483 | -#: colab/search/forms.py:45 | |
| 522 | +#: search/forms.py:45 | |
| 484 | 523 | msgid "Used by" |
| 485 | 524 | msgstr "Usado por" |
| 486 | 525 | |
| 487 | -#: colab/search/forms.py:46 | |
| 526 | +#: search/forms.py:46 | |
| 488 | 527 | msgid "File type" |
| 489 | 528 | msgstr "Tipo do arquivo" |
| 490 | 529 | |
| 491 | -#: colab/search/forms.py:47 | |
| 530 | +#: search/forms.py:47 | |
| 492 | 531 | msgid "Size" |
| 493 | 532 | msgstr "Tamanho" |
| 494 | 533 | |
| 495 | -#: colab/search/templates/search/includes/search_filters.html:5 | |
| 496 | -#: colab/search/templates/search/includes/search_filters.html:33 | |
| 497 | -#: colab/search/templates/search/includes/search_filters.html:51 | |
| 498 | -#: colab/search/templates/search/includes/search_filters.html:69 | |
| 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 | |
| 499 | 538 | msgid "Remove filter" |
| 500 | 539 | msgstr "Remover filtro" |
| 501 | 540 | |
| 502 | -#: colab/search/templates/search/includes/search_filters.html:88 | |
| 503 | -#: colab/search/templates/search/includes/search_filters.html:174 | |
| 504 | -#: colab/search/templates/search/includes/search_filters.html:198 | |
| 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 | |
| 505 | 544 | msgid "Filter" |
| 506 | 545 | msgstr "Filtro" |
| 507 | 546 | |
| 508 | -#: colab/search/templates/search/includes/search_filters.html:94 | |
| 547 | +#: search/templates/search/includes/search_filters.html:94 | |
| 509 | 548 | msgid "Sort by" |
| 510 | 549 | msgstr "Ordenar por" |
| 511 | 550 | |
| 512 | -#: colab/search/templates/search/includes/search_filters.html:111 | |
| 551 | +#: search/templates/search/includes/search_filters.html:111 | |
| 513 | 552 | msgid "Types" |
| 514 | 553 | msgstr "Tipos" |
| 515 | 554 | |
| 516 | -#: colab/search/templates/search/includes/search_filters.html:118 | |
| 517 | -#: colab/search/utils.py:7 colab/templates/open-data.html:130 | |
| 518 | -msgid "Wiki" | |
| 519 | -msgstr "Wiki" | |
| 520 | - | |
| 521 | -#: colab/search/templates/search/includes/search_filters.html:126 | |
| 522 | -msgid "Changeset" | |
| 523 | -msgstr "Conjunto de Mudanças" | |
| 524 | - | |
| 525 | -#: colab/search/templates/search/includes/search_filters.html:130 | |
| 526 | -msgid "User" | |
| 527 | -msgstr "Usuário" | |
| 528 | - | |
| 529 | -#: colab/search/templates/search/includes/search_filters.html:134 | |
| 530 | -msgid "Attachment" | |
| 531 | -msgstr "Anexo" | |
| 532 | - | |
| 533 | -#: colab/search/templates/search/includes/search_filters.html:139 | |
| 534 | -#: colab/search/views.py:20 | |
| 555 | +#: search/templates/search/includes/search_filters.html:117 search/views.py:18 | |
| 535 | 556 | msgid "Discussion" |
| 536 | -msgstr "Discussões" | |
| 557 | +msgstr "Discussão" | |
| 537 | 558 | |
| 538 | -#: colab/search/templates/search/search.html:5 | |
| 559 | +#: search/templates/search/search.html:5 | |
| 539 | 560 | msgid "search" |
| 540 | 561 | msgstr "busca" |
| 541 | 562 | |
| 542 | -#: colab/search/templates/search/search.html:51 | |
| 563 | +#: search/templates/search/search.html:51 | |
| 543 | 564 | msgid "documents found" |
| 544 | 565 | msgstr "documentos encontrados" |
| 545 | 566 | |
| 546 | -#: colab/search/templates/search/search.html:62 | |
| 567 | +#: search/templates/search/search.html:62 | |
| 547 | 568 | msgid "Search here" |
| 548 | 569 | msgstr "Pesquise aqui" |
| 549 | 570 | |
| 550 | -#: colab/search/templates/search/search.html:74 | |
| 551 | -#: colab/search/templates/search/search.html:84 | |
| 571 | +#: search/templates/search/search.html:74 | |
| 572 | +#: search/templates/search/search.html:84 | |
| 552 | 573 | msgid "Filters" |
| 553 | 574 | msgstr "Filtros" |
| 554 | 575 | |
| 555 | -#: colab/search/templates/search/search.html:105 | |
| 576 | +#: search/templates/search/search.html:105 | |
| 556 | 577 | msgid "No results for your search." |
| 557 | 578 | msgstr "Não há resultados para sua busca." |
| 558 | 579 | |
| 559 | -#: colab/search/templates/search/search.html:107 | |
| 580 | +#: search/templates/search/search.html:107 | |
| 560 | 581 | msgid "You are searching for" |
| 561 | 582 | msgstr "Você está procurando por" |
| 562 | 583 | |
| 563 | -#: colab/search/utils.py:9 colab/settings.py:157 | |
| 564 | -msgid "Code" | |
| 565 | -msgstr "Código" | |
| 566 | - | |
| 567 | -#: colab/search/utils.py:10 | |
| 568 | -msgid "Tickets" | |
| 569 | -msgstr "Tíquetes" | |
| 570 | - | |
| 571 | -#: colab/search/utils.py:11 | |
| 572 | -msgid "Attachments" | |
| 573 | -msgstr "Anexos" | |
| 574 | - | |
| 575 | -#: colab/settings.py:115 | |
| 584 | +#: settings.py:113 | |
| 576 | 585 | msgid "English" |
| 577 | 586 | msgstr "Inglês" |
| 578 | 587 | |
| 579 | -#: colab/settings.py:116 | |
| 588 | +#: settings.py:114 | |
| 580 | 589 | msgid "Portuguese" |
| 581 | 590 | msgstr "Português" |
| 582 | 591 | |
| 583 | -#: colab/settings.py:117 | |
| 592 | +#: settings.py:115 | |
| 584 | 593 | msgid "Spanish" |
| 585 | 594 | msgstr "Espanhol" |
| 586 | 595 | |
| 587 | -#: colab/settings.py:140 | |
| 596 | +#: settings.py:138 | |
| 588 | 597 | msgid "Recent activity" |
| 589 | 598 | msgstr "Atividade recente" |
| 590 | 599 | |
| 591 | -#: colab/settings.py:144 | |
| 600 | +#: settings.py:142 | |
| 592 | 601 | msgid "Relevance" |
| 593 | 602 | msgstr "Relevância" |
| 594 | 603 | |
| 595 | -#: colab/settings.py:153 | |
| 604 | +#: settings.py:151 | |
| 596 | 605 | msgid "Document" |
| 597 | 606 | msgstr "Documento" |
| 598 | 607 | |
| 599 | -#: colab/settings.py:155 | |
| 608 | +#: settings.py:153 | |
| 600 | 609 | msgid "Presentation" |
| 601 | 610 | msgstr "Apresentação" |
| 602 | 611 | |
| 603 | -#: colab/settings.py:156 | |
| 612 | +#: settings.py:154 | |
| 604 | 613 | msgid "Text" |
| 605 | 614 | msgstr "Texto" |
| 606 | 615 | |
| 607 | -#: colab/settings.py:159 | |
| 616 | +#: settings.py:155 | |
| 617 | +msgid "Code" | |
| 618 | +msgstr "Código" | |
| 619 | + | |
| 620 | +#: settings.py:157 | |
| 608 | 621 | msgid "Compressed" |
| 609 | 622 | msgstr "Compactado" |
| 610 | 623 | |
| 611 | -#: colab/settings.py:162 | |
| 624 | +#: settings.py:158 | |
| 625 | +msgid "Image" | |
| 626 | +msgstr "Imagem" | |
| 627 | + | |
| 628 | +#: settings.py:160 | |
| 612 | 629 | msgid "Spreadsheet" |
| 613 | 630 | msgstr "Planilha" |
| 614 | 631 | |
| 615 | -#: colab/settings.py:260 | |
| 616 | -msgid "Planet Colab" | |
| 617 | -msgstr "Planet Colab" | |
| 618 | - | |
| 619 | -#: colab/settings.py:261 | |
| 620 | -msgid "Colab blog aggregator" | |
| 621 | -msgstr "Agregador de blog Colab" | |
| 622 | - | |
| 623 | -#: colab/settings.py:295 | |
| 624 | -msgid "One Time Snippet" | |
| 625 | -msgstr "Uma única visualização" | |
| 626 | - | |
| 627 | -#: colab/settings.py:296 | |
| 628 | -msgid "In one hour" | |
| 629 | -msgstr "Em uma hora" | |
| 630 | - | |
| 631 | -#: colab/settings.py:297 | |
| 632 | -msgid "In one week" | |
| 633 | -msgstr "Em uma semana" | |
| 634 | - | |
| 635 | -#: colab/settings.py:298 | |
| 636 | -msgid "In one month" | |
| 637 | -msgstr "Em um mês" | |
| 638 | - | |
| 639 | -#: colab/settings.py:299 | |
| 640 | -msgid "Never" | |
| 641 | -msgstr "Nunca" | |
| 642 | - | |
| 643 | -#: colab/templates/404.html:5 | |
| 632 | +#: templates/404.html:5 | |
| 644 | 633 | msgid "Not found. Keep searching! :)" |
| 645 | 634 | msgstr "Não encontrado. Continue procurando! :)" |
| 646 | 635 | |
| 647 | -#: colab/templates/500.html:2 | |
| 636 | +#: templates/500.html:2 | |
| 648 | 637 | msgid "Ooopz... something went wrong!" |
| 649 | -msgstr "Opa... algo saiu errado!" | |
| 638 | +msgstr "Ooopa... algo saiu errado!" | |
| 650 | 639 | |
| 651 | -#: colab/templates/base.html:91 | |
| 652 | -msgid "Timeline" | |
| 653 | -msgstr "Linha do Tempo" | |
| 654 | - | |
| 655 | -#: colab/templates/base.html:96 colab/templates/base.html.py:114 | |
| 640 | +#: templates/base.html:83 templates/header.html:21 | |
| 656 | 641 | msgid "Groups" |
| 657 | 642 | msgstr "Grupos" |
| 658 | 643 | |
| 659 | -#: colab/templates/base.html:101 | |
| 660 | -msgid "Blogs" | |
| 661 | -msgstr "Blogs" | |
| 662 | - | |
| 663 | -#: colab/templates/base.html:109 | |
| 664 | -msgid "Public Projects" | |
| 665 | -msgstr "Projetos Públicos" | |
| 666 | - | |
| 667 | -#: colab/templates/base.html:111 colab/templates/base.html.py:140 | |
| 668 | -msgid "Profile" | |
| 669 | -msgstr "Perfil" | |
| 670 | - | |
| 671 | -#: colab/templates/base.html:112 | |
| 672 | -msgid "New Project" | |
| 673 | -msgstr "Novo Projeto" | |
| 674 | - | |
| 675 | -#: colab/templates/base.html:113 | |
| 676 | -msgid "Projects" | |
| 677 | -msgstr "Projetos" | |
| 678 | - | |
| 679 | -#: colab/templates/base.html:115 | |
| 680 | -msgid "Issues" | |
| 681 | -msgstr "Tiquetes" | |
| 682 | - | |
| 683 | -#: colab/templates/base.html:116 | |
| 684 | -msgid "Merge Requests" | |
| 685 | -msgstr "Merge Requests" | |
| 686 | - | |
| 687 | -#: colab/templates/base.html:124 | |
| 688 | -msgid "Social" | |
| 689 | -msgstr "Social" | |
| 690 | - | |
| 691 | -#: colab/templates/base.html:129 | |
| 692 | -msgid "Users" | |
| 693 | -msgstr "Usuários" | |
| 694 | - | |
| 695 | -#: colab/templates/base.html:134 | |
| 696 | -msgid "Communities" | |
| 697 | -msgstr "Comunidades" | |
| 698 | - | |
| 699 | -#: colab/templates/base.html:145 | |
| 700 | -msgid "Control panel" | |
| 701 | -msgstr "Painel de Controle" | |
| 702 | - | |
| 703 | -#: colab/templates/base.html:154 | |
| 704 | -msgid "Contribute" | |
| 705 | -msgstr "Contribua" | |
| 706 | - | |
| 707 | -#: colab/templates/base.html:158 | |
| 708 | -msgid "New Wiki Page" | |
| 709 | -msgstr "Nova Página Wiki" | |
| 710 | - | |
| 711 | -#: colab/templates/base.html:160 | |
| 712 | -msgid "View Tickets" | |
| 713 | -msgstr "Ver Tiquetes" | |
| 714 | - | |
| 715 | -#: colab/templates/base.html:162 | |
| 716 | -msgid "New Ticket" | |
| 717 | -msgstr "Novo Tíquete" | |
| 718 | - | |
| 719 | -#: colab/templates/base.html:164 | |
| 720 | -msgid "Roadmap" | |
| 721 | -msgstr "Planejamento" | |
| 722 | - | |
| 723 | -#: colab/templates/base.html:167 | |
| 724 | -msgid "Browse Source" | |
| 725 | -msgstr "Códigos Fontes" | |
| 726 | - | |
| 727 | -#: colab/templates/base.html:169 | |
| 728 | -msgid "Continuous Integration" | |
| 729 | -msgstr "Integração Contínua" | |
| 730 | - | |
| 731 | -#: colab/templates/base.html:213 | |
| 644 | +#: templates/base.html:119 templates/header.html:59 | |
| 732 | 645 | msgid "My Profile" |
| 733 | 646 | msgstr "Meu Perfil" |
| 734 | 647 | |
| 735 | -#: colab/templates/base.html:214 colab/templates/base.html.py:218 | |
| 648 | +#: templates/base.html:120 templates/base.html.py:121 templates/header.html:60 | |
| 649 | +#: templates/header.html.py:61 | |
| 736 | 650 | msgid "Logout" |
| 737 | 651 | msgstr "Sair" |
| 738 | 652 | |
| 739 | -#: colab/templates/base.html:230 colab/templates/base.html.py:233 | |
| 653 | +#: templates/base.html:132 templates/base.html.py:135 templates/header.html:72 | |
| 654 | +#: templates/header.html.py:75 | |
| 740 | 655 | msgid "Search here..." |
| 741 | 656 | msgstr "Pesquise aqui..." |
| 742 | 657 | |
| 743 | -#: colab/templates/base.html:247 | |
| 658 | +#: templates/base.html:149 | |
| 744 | 659 | msgid "The login has failed. Please, try again." |
| 745 | 660 | msgstr "O login falhou. Por favor, tente novamente." |
| 746 | 661 | |
| 747 | -#: colab/templates/base.html:272 | |
| 662 | +#: templates/footer.html:6 | |
| 748 | 663 | msgid "Last email imported at" |
| 749 | -msgstr "Último e-mail importado em" | |
| 664 | +msgstr "Último email importado em" | |
| 750 | 665 | |
| 751 | -#: colab/templates/base.html:279 | |
| 666 | +#: templates/footer.html:12 | |
| 752 | 667 | msgid "The contents of this site is published under license" |
| 753 | 668 | msgstr "O conteúdo deste site está publicado sob a licença" |
| 754 | 669 | |
| 755 | -#: colab/templates/base.html:282 | |
| 670 | +#: templates/footer.html:15 | |
| 756 | 671 | msgid "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" |
| 757 | 672 | msgstr "Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual" |
| 758 | 673 | |
| 759 | -#: colab/templates/dpaste/snippet_details.html:37 | |
| 760 | -#, fuzzy | |
| 761 | -#| msgid "Comparison" | |
| 762 | -msgid "Compare" | |
| 763 | -msgstr "Comparação" | |
| 764 | - | |
| 765 | -#: colab/templates/dpaste/snippet_details.html:47 | |
| 766 | -#, python-format | |
| 767 | -msgid "Expires in: %(date)s" | |
| 768 | -msgstr "Expira em: %(date)s" | |
| 769 | - | |
| 770 | -#: colab/templates/dpaste/snippet_details.html:49 | |
| 771 | -msgid "Snippet never expires" | |
| 772 | -msgstr "Snippet nunca expira" | |
| 773 | - | |
| 774 | -#: colab/templates/dpaste/snippet_details.html:51 | |
| 775 | -#, fuzzy | |
| 776 | -#| msgid "One Time Snippet" | |
| 777 | -msgid "One-time snippet" | |
| 778 | -msgstr "Uma única visualização" | |
| 779 | - | |
| 780 | -#: colab/templates/dpaste/snippet_details.html:56 | |
| 781 | -msgid "Really delete this snippet?" | |
| 782 | -msgstr "Deseja realmente deletar esse snippet?" | |
| 783 | - | |
| 784 | -#: colab/templates/dpaste/snippet_details.html:58 | |
| 785 | -#, fuzzy | |
| 786 | -#| msgid "Delete" | |
| 787 | -msgid "Delete Now" | |
| 788 | -msgstr "Apagar" | |
| 789 | - | |
| 790 | -#: colab/templates/dpaste/snippet_details.html:63 | |
| 791 | -#: colab/templates/dpaste/snippet_details.html:65 | |
| 792 | -#, fuzzy | |
| 793 | -#| msgid "One Time Snippet" | |
| 794 | -msgid "Compare Snippets" | |
| 795 | -msgstr "Uma única visualização" | |
| 796 | - | |
| 797 | -#: colab/templates/dpaste/snippet_details.html:69 | |
| 798 | -#: colab/templates/dpaste/snippet_details.html:71 | |
| 799 | -msgid "View Raw" | |
| 800 | -msgstr "Ver código" | |
| 801 | - | |
| 802 | -#: colab/templates/dpaste/snippet_details.html:75 | |
| 803 | -msgid "Gist" | |
| 804 | -msgstr "Gist" | |
| 805 | - | |
| 806 | -#: colab/templates/dpaste/snippet_details.html:88 | |
| 807 | -msgid "This is a one-time snippet." | |
| 808 | -msgstr "Esste é um snippet que será usado apenas uma vez." | |
| 809 | - | |
| 810 | -#: colab/templates/dpaste/snippet_details.html:90 | |
| 811 | -msgid "It will automatically get deleted after {{ remaining }} further views." | |
| 812 | -msgstr "Isso será automaticamente deletado depois de {{ remaining }} visualizações." | |
| 813 | - | |
| 814 | -#: colab/templates/dpaste/snippet_details.html:92 | |
| 815 | -msgid "It will automatically get deleted after the next view." | |
| 816 | -msgstr "Isso será automaticamente deletado após a próxima visualização." | |
| 817 | - | |
| 818 | -#: colab/templates/dpaste/snippet_details.html:94 | |
| 819 | -msgid "It cannot be viewed again." | |
| 820 | -msgstr "Isso não pode ser visto novamente." | |
| 821 | - | |
| 822 | -#: colab/templates/dpaste/snippet_details.html:109 | |
| 823 | -msgid "Reply to this snippet" | |
| 824 | -msgstr "Responda esse snippet" | |
| 825 | - | |
| 826 | -#: colab/templates/dpaste/snippet_diff.html:5 | |
| 827 | -#, python-format | |
| 828 | -msgid "" | |
| 829 | -"\n" | |
| 830 | -" Diff between <a href=\"%(filea_url)s\">#%(filea_id)s</a> and <a href=" | |
| 831 | -"\"%(fileb_url)s\">#%(fileb_id)s</a>\n" | |
| 832 | -" " | |
| 833 | -msgstr "" | |
| 834 | -"\n" | |
| 835 | - " Diferença entre <a href=\"%(filea_url)s\">#%(filea_id)s</a> e <a href=" | |
| 836 | - "\"%(fileb_url)s\">#%(fileb_id)s</a>\n" | |
| 837 | - " " | |
| 838 | - | |
| 839 | -#: colab/templates/dpaste/snippet_form.html:28 | |
| 840 | -msgid "Paste it" | |
| 674 | +#: templates/header.html:26 | |
| 675 | +msgid "Paste" | |
| 841 | 676 | msgstr "Cole aqui" |
| 842 | 677 | |
| 843 | -#: colab/templates/home.html:17 | |
| 678 | +#: templates/home.html:17 | |
| 844 | 679 | msgid "Latest Collaborations" |
| 845 | 680 | msgstr "Últimas Colaborações" |
| 846 | 681 | |
| 847 | -#: colab/templates/home.html:21 | |
| 682 | +#: templates/home.html:21 | |
| 848 | 683 | msgid "RSS - Latest collaborations" |
| 849 | 684 | msgstr "RSS - Últimas Colaborações" |
| 850 | 685 | |
| 851 | -#: colab/templates/home.html:30 | |
| 686 | +#: templates/home.html:30 | |
| 852 | 687 | msgid "View more collaborations..." |
| 853 | 688 | msgstr "Ver mais colaborações..." |
| 854 | 689 | |
| 855 | -#: colab/templates/home.html:37 | |
| 690 | +#: templates/home.html:37 | |
| 856 | 691 | msgid "Collaboration Graph" |
| 857 | 692 | msgstr "Gráfico de Colaborações" |
| 858 | 693 | |
| 859 | -#: colab/templates/home.html:48 | |
| 694 | +#: templates/home.html:48 | |
| 860 | 695 | msgid "Most Relevant Threads" |
| 861 | 696 | msgstr "Discussões Mais Relevantes" |
| 862 | 697 | |
| 863 | -#: colab/templates/home.html:52 | |
| 698 | +#: templates/home.html:52 | |
| 864 | 699 | msgid "RSS - Most Relevant Threads" |
| 865 | 700 | msgstr "RSS - Discussões Mais Relevantes" |
| 866 | 701 | |
| 867 | -#: colab/templates/home.html:60 colab/templates/home.html.py:79 | |
| 702 | +#: templates/home.html:60 templates/home.html.py:79 | |
| 868 | 703 | msgid "View more discussions..." |
| 869 | 704 | msgstr "Ver mais discussões..." |
| 870 | 705 | |
| 871 | -#: colab/templates/home.html:67 | |
| 706 | +#: templates/home.html:67 | |
| 872 | 707 | msgid "Latest Threads" |
| 873 | 708 | msgstr "Últimas Discussões" |
| 874 | 709 | |
| 875 | -#: colab/templates/home.html:71 | |
| 710 | +#: templates/home.html:71 | |
| 876 | 711 | msgid "RSS - Latest Threads" |
| 877 | 712 | msgstr "RSS - Últimas Discussões" |
| 878 | - | |
| 879 | -#: colab/templates/open-data.html:6 | |
| 880 | -msgid "OpenData - Communities" | |
| 881 | -msgstr "OpenData - Comunidades" | |
| 882 | - | |
| 883 | -#: colab/templates/open-data.html:7 | |
| 884 | -msgid "" | |
| 885 | -"If you are interested in any other data that is not provided by this API, " | |
| 886 | -"please contact us via the ticketing system (you must be registered in order " | |
| 887 | -"to create a ticket)." | |
| 888 | -msgstr "" | |
| 889 | -"Se você estiver interessado por qualquer outra informação não provida por " | |
| 890 | -"esta API, por favor nos contacte através do nosso sistema de tíquetes (você " | |
| 891 | -"deve estar logado para conseguir criar um tíquete). " | |
| 892 | - | |
| 893 | -#: colab/templates/open-data.html:9 | |
| 894 | -msgid "Retrieving data via API" | |
| 895 | -msgstr "Recuperando informação através da API" | |
| 896 | - | |
| 897 | -#: colab/templates/open-data.html:10 | |
| 898 | -msgid "Colab API works through HTTP/REST, always returning JSON objects." | |
| 899 | -msgstr "" | |
| 900 | -"A API do Colab funciona com a utilização de HTTP/REST e sempre retorna " | |
| 901 | -"objetos JSON." | |
| 902 | - | |
| 903 | -#: colab/templates/open-data.html:12 | |
| 904 | -msgid "The base API URL is" | |
| 905 | -msgstr "A URL base da API é" | |
| 906 | - | |
| 907 | -#: colab/templates/open-data.html:19 | |
| 908 | -msgid "" | |
| 909 | -"Each model listed below has a resource_uri field available, which is the " | |
| 910 | -"object's data URI." | |
| 911 | -msgstr "" | |
| 912 | -"Cada modelo listado abaixo tem um resource_uri que representa a URI do objeto" | |
| 913 | - | |
| 914 | -#: colab/templates/open-data.html:20 | |
| 915 | -msgid "" | |
| 916 | -"The following list contains the available models to retrieve data and its " | |
| 917 | -"fields available for filtering" | |
| 918 | -msgstr "" | |
| 919 | -"A lista abaixo contém a lista de modelo disponíveis para pesquisa e os " | |
| 920 | -"campos disponíveis para filtro" | |
| 921 | - | |
| 922 | -#: colab/templates/open-data.html:24 colab/templates/open-data.html.py:39 | |
| 923 | -#: colab/templates/open-data.html:50 colab/templates/open-data.html.py:62 | |
| 924 | -#: colab/templates/open-data.html:74 colab/templates/open-data.html.py:95 | |
| 925 | -msgid "Fields" | |
| 926 | -msgstr "Campos" | |
| 927 | - | |
| 928 | -#: colab/templates/open-data.html:25 | |
| 929 | -msgid "" | |
| 930 | -"The email field is not shown for user's privacy, but you can use it to filter" | |
| 931 | -msgstr "" | |
| 932 | -"O campo email não é exibido por uma questão de privacidade do usuário, por " | |
| 933 | -"outro lado ele poderá ser utilizado em filtros" | |
| 934 | - | |
| 935 | -#: colab/templates/open-data.html:27 | |
| 936 | -msgid "The user's username" | |
| 937 | -msgstr "O username do usuário" | |
| 938 | - | |
| 939 | -#: colab/templates/open-data.html:28 | |
| 940 | -msgid "The user's email address" | |
| 941 | -msgstr "O endereço e-mail do usuário" | |
| 942 | - | |
| 943 | -#: colab/templates/open-data.html:29 | |
| 944 | -msgid "What is the user's institution" | |
| 945 | -msgstr "Instituição do usuário" | |
| 946 | - | |
| 947 | -#: colab/templates/open-data.html:30 | |
| 948 | -msgid "What is the user's role" | |
| 949 | -msgstr "Posição do usuário" | |
| 950 | - | |
| 951 | -#: colab/templates/open-data.html:31 | |
| 952 | -msgid "The user's first name" | |
| 953 | -msgstr "Primeiro nome do usuário" | |
| 954 | - | |
| 955 | -#: colab/templates/open-data.html:32 | |
| 956 | -msgid "The user's last name" | |
| 957 | -msgstr "Último nome do usuário" | |
| 958 | - | |
| 959 | -#: colab/templates/open-data.html:33 | |
| 960 | -msgid "A mini bio of the user" | |
| 961 | -msgstr "O mini bio do usuário" | |
| 962 | - | |
| 963 | -#: colab/templates/open-data.html:40 | |
| 964 | -msgid "" | |
| 965 | -"The address field is not shown for user's privacy, but you can use it to " | |
| 966 | -"filter" | |
| 967 | -msgstr "" | |
| 968 | -"O campo email não é exibido por uma questão de privacidade do usuário, por " | |
| 969 | -"outro lado ele poderá ser utilizado em filtros" | |
| 970 | - | |
| 971 | -#: colab/templates/open-data.html:42 | |
| 972 | -msgid "It has a relationshop with the user described above" | |
| 973 | -msgstr "Tem um relacionamento com usuário como descrito acima" | |
| 974 | - | |
| 975 | -#: colab/templates/open-data.html:43 | |
| 976 | -msgid "An email address" | |
| 977 | -msgstr "Um endereço de e-mail" | |
| 978 | - | |
| 979 | -#: colab/templates/open-data.html:44 | |
| 980 | -msgid "The user's real name" | |
| 981 | -msgstr "O nome real do usuário" | |
| 982 | - | |
| 983 | -#: colab/templates/open-data.html:52 | |
| 984 | -msgid "It has a relationship with the emailaddress described above" | |
| 985 | -msgstr "Tem um relacionamento com emailaddress como descrito acima" | |
| 986 | - | |
| 987 | -#: colab/templates/open-data.html:53 | |
| 988 | -msgid "The message's body" | |
| 989 | -msgstr "O corpo da mensagem" | |
| 990 | - | |
| 991 | -#: colab/templates/open-data.html:54 | |
| 992 | -msgid "The message's subject" | |
| 993 | -msgstr "O título da mensagem" | |
| 994 | - | |
| 995 | -#: colab/templates/open-data.html:55 | |
| 996 | -msgid "The message's id" | |
| 997 | -msgstr "O ID da mensagem" | |
| 998 | - | |
| 999 | -#: colab/templates/open-data.html:56 | |
| 1000 | -msgid "The message's received time" | |
| 1001 | -msgstr "A hora que a mensagem foi recebida" | |
| 1002 | - | |
| 1003 | -#: colab/templates/open-data.html:64 | |
| 1004 | -msgid "The revision's author username" | |
| 1005 | -msgstr "O username do autor da revisão" | |
| 1006 | - | |
| 1007 | -#: colab/templates/open-data.html:65 | |
| 1008 | -msgid "When the revision's were created" | |
| 1009 | -msgstr "Quando a revisão foi criada" | |
| 1010 | - | |
| 1011 | -#: colab/templates/open-data.html:66 | |
| 1012 | -msgid "The revision's key" | |
| 1013 | -msgstr "A chave da revisão" | |
| 1014 | - | |
| 1015 | -#: colab/templates/open-data.html:67 | |
| 1016 | -msgid "The revision's message" | |
| 1017 | -msgstr "A mensagem da revisão" | |
| 1018 | - | |
| 1019 | -#: colab/templates/open-data.html:68 | |
| 1020 | -msgid "The revision's repository name" | |
| 1021 | -msgstr "O nome do repositório da revisão" | |
| 1022 | - | |
| 1023 | -#: colab/templates/open-data.html:76 | |
| 1024 | -msgid "The ticket's author username" | |
| 1025 | -msgstr "O nome do autor do tíquete" | |
| 1026 | - | |
| 1027 | -#: colab/templates/open-data.html:77 | |
| 1028 | -msgid "The ticket's component" | |
| 1029 | -msgstr "O componente do tíquete" | |
| 1030 | - | |
| 1031 | -#: colab/templates/open-data.html:78 | |
| 1032 | -msgid "When the ticket's were created" | |
| 1033 | -msgstr "Quando o tíquete foi criado" | |
| 1034 | - | |
| 1035 | -#: colab/templates/open-data.html:79 | |
| 1036 | -msgid "The ticket's description" | |
| 1037 | -msgstr "A descrição do tíquete" | |
| 1038 | - | |
| 1039 | -#: colab/templates/open-data.html:80 | |
| 1040 | -msgid "The ticket's id" | |
| 1041 | -msgstr "O ID do tíquete" | |
| 1042 | - | |
| 1043 | -#: colab/templates/open-data.html:81 | |
| 1044 | -msgid "The ticket's keywords" | |
| 1045 | -msgstr "As keywords do tíquete" | |
| 1046 | - | |
| 1047 | -#: colab/templates/open-data.html:82 | |
| 1048 | -msgid "The ticket's milestone" | |
| 1049 | -msgstr "O milestone do tíquete" | |
| 1050 | - | |
| 1051 | -#: colab/templates/open-data.html:83 colab/templates/open-data.html.py:99 | |
| 1052 | -msgid "The time of the last modification" | |
| 1053 | -msgstr "A hora da última modificação" | |
| 1054 | - | |
| 1055 | -#: colab/templates/open-data.html:84 | |
| 1056 | -msgid "The username of the last user who modified the ticket" | |
| 1057 | -msgstr "O username do último usuário que modificou o tíquete" | |
| 1058 | - | |
| 1059 | -#: colab/templates/open-data.html:85 | |
| 1060 | -msgid "The ticket's priority" | |
| 1061 | -msgstr "A prioridade do tíquete" | |
| 1062 | - | |
| 1063 | -#: colab/templates/open-data.html:86 | |
| 1064 | -msgid "The ticket's severity" | |
| 1065 | -msgstr "A gravidade do tíquete" | |
| 1066 | - | |
| 1067 | -#: colab/templates/open-data.html:87 | |
| 1068 | -msgid "The ticket's status" | |
| 1069 | -msgstr "O status do tíquete" | |
| 1070 | - | |
| 1071 | -#: colab/templates/open-data.html:88 | |
| 1072 | -msgid "The ticket's summary" | |
| 1073 | -msgstr "O resumo do tíquete" | |
| 1074 | - | |
| 1075 | -#: colab/templates/open-data.html:89 | |
| 1076 | -msgid "The ticket's version" | |
| 1077 | -msgstr "A versão do tíquete" | |
| 1078 | - | |
| 1079 | -#: colab/templates/open-data.html:97 | |
| 1080 | -msgid "The wiki's author username" | |
| 1081 | -msgstr "O username do autor da wiki" | |
| 1082 | - | |
| 1083 | -#: colab/templates/open-data.html:98 | |
| 1084 | -msgid "When the wiki's were created" | |
| 1085 | -msgstr "Quando a wiki foi criada" | |
| 1086 | - | |
| 1087 | -#: colab/templates/open-data.html:100 | |
| 1088 | -msgid "The username of the last user who modified the wiki" | |
| 1089 | -msgstr "O username do último usuário a modificar a wiki" | |
| 1090 | - | |
| 1091 | -#: colab/templates/open-data.html:101 | |
| 1092 | -msgid "The wiki's name" | |
| 1093 | -msgstr "O nome da wiki" | |
| 1094 | - | |
| 1095 | -#: colab/templates/open-data.html:102 | |
| 1096 | -msgid "the wiki's content" | |
| 1097 | -msgstr "O conteúdo da wiki" | |
| 1098 | - | |
| 1099 | -#: colab/templates/open-data.html:109 | |
| 1100 | -msgid "Parameters" | |
| 1101 | -msgstr "Parâmetros" | |
| 1102 | - | |
| 1103 | -#: colab/templates/open-data.html:112 | |
| 1104 | -msgid "Results per page" | |
| 1105 | -msgstr "Resultados por página" | |
| 1106 | - | |
| 1107 | -#: colab/templates/open-data.html:113 | |
| 1108 | -msgid "Number of results to be displayed per page." | |
| 1109 | -msgstr "Número de resultados a serem exibidos por página." | |
| 1110 | - | |
| 1111 | -#: colab/templates/open-data.html:114 | |
| 1112 | -msgid "Default: 20" | |
| 1113 | -msgstr "Padrão: 20" | |
| 1114 | - | |
| 1115 | -#: colab/templates/open-data.html:118 | |
| 1116 | -msgid "Starts of n element" | |
| 1117 | -msgstr "Inicia pelo n-ésimo elemento" | |
| 1118 | - | |
| 1119 | -#: colab/templates/open-data.html:119 | |
| 1120 | -msgid "Where n is the index of the first result to appear in the page." | |
| 1121 | -msgstr "Onde n é o índice do primeiro resultado a ser exibido na página." | |
| 1122 | - | |
| 1123 | -#: colab/templates/open-data.html:120 | |
| 1124 | -msgid "Default: 0" | |
| 1125 | -msgstr "Padrão: 0" | |
| 1126 | - | |
| 1127 | -#: colab/templates/open-data.html:122 | |
| 1128 | -msgid "Filtering" | |
| 1129 | -msgstr "Filtrando" | |
| 1130 | - | |
| 1131 | -#: colab/templates/open-data.html:124 | |
| 1132 | -msgid "The field name" | |
| 1133 | -msgstr "O nome do campo" | |
| 1134 | - | |
| 1135 | -#: colab/templates/open-data.html:125 | |
| 1136 | -msgid "" | |
| 1137 | -"If you are looking for a specific wiki, and you know the wiki's name, you " | |
| 1138 | -"can filter it as below" | |
| 1139 | -msgstr "" | |
| 1140 | -"Se você está buscando especificamente por uma wiki e você sabe o nome da " | |
| 1141 | -"wiki, você pode utilizar o filtro abaixo" | |
| 1142 | - | |
| 1143 | -#: colab/templates/open-data.html:126 | |
| 1144 | -msgid "WikiName" | |
| 1145 | -msgstr "WikiName" | |
| 1146 | - | |
| 1147 | -#: colab/templates/open-data.html:127 | |
| 1148 | -msgid "" | |
| 1149 | -"Where "name" is the fieldname and "WikiName" is the " | |
| 1150 | -"value you want to filter." | |
| 1151 | -msgstr "" | |
| 1152 | -"Onde "name" é o fieldname e "WikiName" é o value que " | |
| 1153 | -"você quer filtrar." | |
| 1154 | - | |
| 1155 | -#: colab/templates/open-data.html:128 | |
| 1156 | -msgid "Usage" | |
| 1157 | -msgstr "Uso" | |
| 1158 | - | |
| 1159 | -#: colab/templates/open-data.html:129 | |
| 1160 | -msgid "" | |
| 1161 | -"You can also filter using Django lookup fields with the double underscores, " | |
| 1162 | -"just as below" | |
| 1163 | -msgstr "" | |
| 1164 | -"Você também pode filtrar usando lookup fields do Django com underscores " | |
| 1165 | -"duplos, como demonstrado abaixo" | |
| 1166 | - | |
| 1167 | -#: colab/templates/open-data.html:131 colab/templates/open-data.html.py:132 | |
| 1168 | -msgid "test" | |
| 1169 | -msgstr "test" | |
| 1170 | - | |
| 1171 | -#: colab/templates/open-data.html:133 | |
| 1172 | -msgid "Usage with relationships" | |
| 1173 | -msgstr "Uso com relacionamentos" | |
| 1174 | - | |
| 1175 | -#: colab/templates/open-data.html:134 | |
| 1176 | -msgid "" | |
| 1177 | -"You can use related fields to filter too. So, you can filter by any field of " | |
| 1178 | -"emailaddress using the 'from_address' field of message, which has a relation " | |
| 1179 | -"to emailaddress. You will achieve the related fields by using double " | |
| 1180 | -"underscore and the field's name. See the example below" | |
| 1181 | -msgstr "" | |
| 1182 | -"Você pode também pode utilizar campos relacionados para filtrar. Você pode " | |
| 1183 | -"filtrar por qualquer campo de emailaddress utilizando o 'from_address' da " | |
| 1184 | -"mensagem, que tem relação com emailaddress. Para tal você precisará utilizar " | |
| 1185 | -"os underscores duplos e o nome do campo desejado. Veja o exemplo abaixo" | |
| 1186 | - | |
| 1187 | -#: colab/templates/open-data.html:136 | |
| 1188 | -msgid "" | |
| 1189 | -"So, real_name is a field of emailaddress, and you had access to this field " | |
| 1190 | -"by a message field called from_address and using double underscore to say " | |
| 1191 | -"you want to use a field of that relationship" | |
| 1192 | -msgstr "" | |
| 1193 | -"real_name é um campo de emailaddress e você pode acessá-lo através de um " | |
| 1194 | -"campo do do objeto message, from_address, e underscores duplos para " | |
| 1195 | -"referenciar que este campo pertence ao modelo relacionado" | |
| 1196 | - | |
| 1197 | -#: colab/templates/open-data.html:137 | |
| 1198 | -msgid "" | |
| 1199 | -"Note: email filters must be exact. Which means that __contains, " | |
| 1200 | -"__startswith, __endswith and others won't work" | |
| 1201 | -msgstr "" | |
| 1202 | -"Nota: os filtros de email devem ser exatos. Isso significa que __contains, " | |
| 1203 | -"__startswith, __endswith e outros métodos de busca parcial não funcionarão" | |
| 1204 | - | |
| 1205 | -#: colab/templates/open-data.html:138 | |
| 1206 | -msgid "" | |
| 1207 | -"Another example of usage with relations. Used to retrieve all messages of a " | |
| 1208 | -"given user, using the username or the email field" | |
| 1209 | -msgstr "" | |
| 1210 | -"Outro exemplo de uso com relacionamento. Usado para recuperar todos as " | |
| 1211 | -"mensagem de um dado usuário usando o campo username ou email" | |
| 1212 | - | |
| 1213 | - | |
| 1214 | -#: colab/accounts/forms.py:276 | |
| 1215 | -msgid "This value may contain only letters and numbers." | |
| 1216 | -msgstr "Esse campo só pode conter letras e/ou numeros." | |
| 1217 | - | |
| 1218 | -#~ msgid "Please correct the errors below and try again" | |
| 1219 | -#~ msgstr "Por favor, corrija os erros abaixo e tente novamente" | |
| 1220 | - | |
| 1221 | -#, fuzzy | |
| 1222 | -#~| msgid "Please correct the error below and try again" | |
| 1223 | -#~ msgid "Please correct the error below and try again" | |
| 1224 | -#~ msgstr "Por favor, corrija o erro abaixo e tente novamente" | |
| 1225 | - | |
| 1226 | -#~ msgid "%(count)s users deleted." | |
| 1227 | -#~ msgstr "%(count)s usuários deletados." | |
| 1228 | - | |
| 1229 | -#~ msgid "" | |
| 1230 | -#~ "You must login to validated your profile. Profiles not validated are " | |
| 1231 | -#~ "deleted in 24h." | |
| 1232 | -#~ msgstr "" | |
| 1233 | -#~ "Você deve se logar para validar seu perfil. Perfis não validados serão " | |
| 1234 | -#~ "deletados em 24h." | ... | ... |
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | + | |
| 2 | + | |
| 3 | +default_app_config = 'colab.plugins.gitlab.apps.ProxyGitlabAppConfig' | |
| 4 | + | |
| 5 | +from colab.plugins.utils.widget_manager import WidgetManager | |
| 6 | +from colab.plugins.gitlab.widgets import GitlabProfileWidget | |
| 7 | + | |
| 8 | +WidgetManager.register_widget('profile', GitlabProfileWidget()) | ... | ... |
| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | +<rules | |
| 2 | + xmlns="http://namespaces.plone.org/diazo" | |
| 3 | + xmlns:css="http://namespaces.plone.org/diazo/css" | |
| 4 | + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | |
| 5 | + | |
| 6 | + <xsl:variable name="username" select="str:replace(//a/@href[(contains(., '/gitlab/u/'))], '/gitlab/u/', '')" /> | |
| 7 | + <xsl:template match="a/@href[(contains(., '/profile/'))]"> | |
| 8 | + <xsl:attribute name="href">/account/<xsl:value-of select="$username"/>/edit?code=<xsl:value-of select="."/>/</xsl:attribute> | |
| 9 | + </xsl:template> | |
| 10 | + <xsl:template match="form/@action[(contains(., '/gitlab/'))]"> | |
| 11 | + <xsl:attribute name="action">/account/<xsl:value-of select="$username"/>/edit?code=<xsl:value-of select="."/>/</xsl:attribute> | |
| 12 | + </xsl:template> | |
| 13 | + | |
| 14 | + <!-- Drop colab stuff --> | |
| 15 | + <drop css:theme="nav.navbar-fixed-top" /> | |
| 16 | + <drop css:theme="div.footer" /> | |
| 17 | + | |
| 18 | + <!-- Drop unused tabs on gitlab --> | |
| 19 | + <drop content="div[@class='container']/ul/li[1]" /> | |
| 20 | + <drop content="div[@class='container']/ul/li[3]" /> | |
| 21 | + <drop content="div[@class='container']/ul/li[4]" /> | |
| 22 | + <drop content="div[@class='container']/ul/li[7]" /> | |
| 23 | + <drop content="fieldset[@class='update-username']" /> | |
| 24 | + | |
| 25 | + <before theme-children="/html/head" content-children="/html/head" /> | |
| 26 | + <before css:theme-children="#main-content" css:content-children="body" /> | |
| 27 | + | |
| 28 | + <merge attributes="class" css:theme="body" css:content="body" /> | |
| 29 | + | |
| 30 | + <!-- Add gitlab properties --> | |
| 31 | + <merge attributes="data-page" css:theme="body" css:content="body" /> | |
| 32 | + <merge attributes="data-project-id" css:theme="body" css:content="body" /> | |
| 33 | + | |
| 34 | + <drop css:content="#top-panel" /> | |
| 35 | + <drop css:content=".navbar-gitlab" /> | |
| 36 | +</rules> | ... | ... |
colab/plugins/gitlab/templates/proxy/gitlab_profile.html
0 → 100644
| ... | ... | @@ -0,0 +1,49 @@ |
| 1 | + | |
| 2 | +{% load static from staticfiles %} | |
| 3 | + | |
| 4 | +{% block head_css %} | |
| 5 | +<style> | |
| 6 | + /* Reset left and with for .modal-dialog style (like gitlab does), | |
| 7 | + the bootstrap.css one makes it small */ | |
| 8 | + @media screen and (min-width: 768px) { | |
| 9 | + .modal-dialog { | |
| 10 | + left: auto; | |
| 11 | + width: auto; | |
| 12 | + } | |
| 13 | + } | |
| 14 | + | |
| 15 | + div#main-content div.container { | |
| 16 | + width: 1110px; | |
| 17 | + } | |
| 18 | + div#main-content div.flash-container{ | |
| 19 | + width: 85%; | |
| 20 | + } | |
| 21 | + #breadcrumbs { | |
| 22 | + border: 0 !important; | |
| 23 | + } | |
| 24 | + | |
| 25 | + #right-top-nav { | |
| 26 | + margin-right: 5em !important; | |
| 27 | + } | |
| 28 | +</style> | |
| 29 | +{% endblock %} | |
| 30 | + | |
| 31 | +{% block head_js %} | |
| 32 | +<script>jQuery.noConflict();</script> | |
| 33 | +{% endblock %} | |
| 34 | + | |
| 35 | +<div id="main-content"></div> | |
| 36 | +<script type="text/javascript"> | |
| 37 | + jQuery(function(){ | |
| 38 | + // bootstrap.css forces .hide {display:none!important}, and this makes | |
| 39 | + // gitlab .hide elements NEVER have a display:block, so | |
| 40 | + // instead of editing bootstrap.css, we just removed '.hide' css class and | |
| 41 | + // toggled | |
| 42 | + jQuery('.hide').removeClass('hide').css('display', 'none'); | |
| 43 | + }); | |
| 44 | + | |
| 45 | + // Extremelly ugly solutions to add Colab's CSRF token to Gitlab forms | |
| 46 | + // add CSRF token to HTTP header*** | |
| 47 | + jQuery('div#code form').append(jQuery("input[name='csrfmiddlewaretoken']")); | |
| 48 | + $('a.delete-key').attr('data-method', 'delete\" type=\"hidden\" /> <input name=\"csrfmiddlewaretoken\" value=\"' + jQuery("input[name='csrfmiddlewaretoken']").val()); | |
| 49 | +</script> | ... | ... |
| ... | ... | @@ -0,0 +1,22 @@ |
| 1 | + | |
| 2 | +from ..utils.views import ColabProxyView | |
| 3 | +import os, sys | |
| 4 | + | |
| 5 | + | |
| 6 | +class GitlabProxyView(ColabProxyView): | |
| 7 | + app_label = 'gitlab' | |
| 8 | + diazo_theme_template = 'proxy/gitlab.html' | |
| 9 | + | |
| 10 | + | |
| 11 | +class GitlabProfileProxyView(ColabProxyView): | |
| 12 | + app_label = 'gitlab' | |
| 13 | + diazo_theme_template = 'proxy/gitlab_profile.html' | |
| 14 | + | |
| 15 | + @property | |
| 16 | + def diazo_rules(self): | |
| 17 | + child_class_file = sys.modules[self.__module__].__file__ | |
| 18 | + app_path = os.path.abspath(os.path.dirname(child_class_file)) | |
| 19 | + diazo_path = os.path.join(app_path, 'profile/diazo.xml') | |
| 20 | + | |
| 21 | + self.log.debug("diazo_rules: %s", diazo_path) | |
| 22 | + return diazo_path | ... | ... |
| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | +from colab.plugins.gitlab.views import GitlabProxyView, GitlabProfileProxyView | |
| 2 | +from colab.plugins.utils.widget_manager import Widget | |
| 3 | +from django.utils.safestring import mark_safe | |
| 4 | + | |
| 5 | + | |
| 6 | +class GitlabProfileWidget(GitlabProxyView, Widget): | |
| 7 | + identifier = 'code' | |
| 8 | + name = 'Gitlab Profile' | |
| 9 | + default_url = '/gitlab/profile/account' | |
| 10 | + | |
| 11 | + def get_body(self): | |
| 12 | + start = self.content.find('<body') | |
| 13 | + start = self.content.find('>', start) | |
| 14 | + end = self.content.find('</body>') | |
| 15 | + print "start = " + str(start) + ", end = " + str(end) | |
| 16 | + print "content = " + self.content | |
| 17 | + | |
| 18 | + if -1 in [start, end]: | |
| 19 | + return '' | |
| 20 | + | |
| 21 | + body = self.content[start + len('>'):end] | |
| 22 | + return mark_safe(body) | |
| 23 | + | |
| 24 | + def generate_content(self, request): | |
| 25 | + requested_url = request.GET.get('code', self.default_url) | |
| 26 | + g = GitlabProfileProxyView() | |
| 27 | + r = g.dispatch(request, requested_url) | |
| 28 | + | |
| 29 | + if r.status_code == 302: | |
| 30 | + location = r.get('Location') | |
| 31 | + requested_url = location[location.find('/{}/'.format(self.app_label)):] | |
| 32 | + request.method = 'GET' | |
| 33 | + r = g.dispatch(request, requested_url) | |
| 34 | + | |
| 35 | + self.content = r.content | ... | ... |
colab/settings.py
| ... | ... | @@ -241,10 +241,9 @@ SUPER_ARCHIVES_LOCK_FILE = '/var/lock/colab/import_emails.lock' |
| 241 | 241 | # Mailman API settings |
| 242 | 242 | MAILMAN_API_URL = 'http://localhost:8124/v2/' |
| 243 | 243 | |
| 244 | -LOGIN_URL = '/user/login' | |
| 244 | +LOGIN_URL = '/account/login' | |
| 245 | +LOGOUT_URL = '/account/logout' | |
| 245 | 246 | LOGIN_REDIRECT_URL = '/' |
| 246 | -LOGIN_REDIRECT_URL_FAILURE = '/?bid_login_failed=true' | |
| 247 | -LOGOUT_REDIRECT_URL = '/' | |
| 248 | 247 | |
| 249 | 248 | REVPROXY_ADD_REMOTE_USER = True |
| 250 | 249 | |
| ... | ... | @@ -294,3 +293,5 @@ TEMPLATE_DIRS += ( |
| 294 | 293 | ) |
| 295 | 294 | |
| 296 | 295 | conf.validate_database(DATABASES, DEFAULT_DATABASE, DEBUG) |
| 296 | + | |
| 297 | +conf.load_widgets_settings() | ... | ... |
No preview for this file type
colab/super_archives/locale/en/LC_MESSAGES/django.po
| ... | ... | @@ -8,7 +8,7 @@ msgid "" |
| 8 | 8 | msgstr "" |
| 9 | 9 | "Project-Id-Version: PACKAGE VERSION\n" |
| 10 | 10 | "Report-Msgid-Bugs-To: \n" |
| 11 | -"POT-Creation-Date: 2014-11-21 17:05+0000\n" | |
| 11 | +"POT-Creation-Date: 2015-09-01 13:15+0000\n" | |
| 12 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
| 13 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
| 14 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
| ... | ... | @@ -21,65 +21,65 @@ msgstr "" |
| 21 | 21 | msgid "[Colab] Warning - Email sent with a blank subject." |
| 22 | 22 | msgstr "" |
| 23 | 23 | |
| 24 | -#: super_archives/models.py:61 | |
| 24 | +#: super_archives/models.py:77 | |
| 25 | 25 | #: super_archives/templates/message-preview.html:62 |
| 26 | 26 | #: super_archives/templates/message-thread.html:4 |
| 27 | 27 | msgid "Anonymous" |
| 28 | 28 | msgstr "" |
| 29 | 29 | |
| 30 | -#: super_archives/models.py:111 | |
| 30 | +#: super_archives/models.py:133 | |
| 31 | 31 | msgid "Mailing List" |
| 32 | 32 | msgstr "" |
| 33 | 33 | |
| 34 | -#: super_archives/models.py:112 | |
| 34 | +#: super_archives/models.py:134 | |
| 35 | 35 | msgid "The Mailing List where is the thread" |
| 36 | 36 | msgstr "" |
| 37 | 37 | |
| 38 | -#: super_archives/models.py:115 | |
| 38 | +#: super_archives/models.py:137 | |
| 39 | 39 | msgid "Latest message" |
| 40 | 40 | msgstr "" |
| 41 | 41 | |
| 42 | -#: super_archives/models.py:116 | |
| 42 | +#: super_archives/models.py:138 | |
| 43 | 43 | msgid "Latest message posted" |
| 44 | 44 | msgstr "" |
| 45 | 45 | |
| 46 | -#: super_archives/models.py:117 | |
| 46 | +#: super_archives/models.py:139 | |
| 47 | 47 | msgid "Score" |
| 48 | 48 | msgstr "" |
| 49 | 49 | |
| 50 | -#: super_archives/models.py:117 | |
| 50 | +#: super_archives/models.py:140 | |
| 51 | 51 | msgid "Thread score" |
| 52 | 52 | msgstr "" |
| 53 | 53 | |
| 54 | -#: super_archives/models.py:126 | |
| 54 | +#: super_archives/models.py:153 | |
| 55 | 55 | msgid "Thread" |
| 56 | 56 | msgstr "" |
| 57 | 57 | |
| 58 | -#: super_archives/models.py:127 | |
| 58 | +#: super_archives/models.py:154 | |
| 59 | 59 | msgid "Threads" |
| 60 | 60 | msgstr "" |
| 61 | 61 | |
| 62 | -#: super_archives/models.py:241 | |
| 62 | +#: super_archives/models.py:267 | |
| 63 | 63 | msgid "Subject" |
| 64 | 64 | msgstr "" |
| 65 | 65 | |
| 66 | -#: super_archives/models.py:242 | |
| 66 | +#: super_archives/models.py:268 | |
| 67 | 67 | msgid "Please enter a message subject" |
| 68 | 68 | msgstr "" |
| 69 | 69 | |
| 70 | -#: super_archives/models.py:245 | |
| 70 | +#: super_archives/models.py:271 | |
| 71 | 71 | msgid "Message body" |
| 72 | 72 | msgstr "" |
| 73 | 73 | |
| 74 | -#: super_archives/models.py:246 | |
| 74 | +#: super_archives/models.py:272 | |
| 75 | 75 | msgid "Please enter a message body" |
| 76 | 76 | msgstr "" |
| 77 | 77 | |
| 78 | -#: super_archives/models.py:256 | |
| 78 | +#: super_archives/models.py:282 | |
| 79 | 79 | msgid "Message" |
| 80 | 80 | msgstr "" |
| 81 | 81 | |
| 82 | -#: super_archives/models.py:257 | |
| 82 | +#: super_archives/models.py:283 | |
| 83 | 83 | msgid "Messages" |
| 84 | 84 | msgstr "" |
| 85 | 85 | |
| ... | ... | @@ -208,16 +208,16 @@ msgstr "" |
| 208 | 208 | msgid "%(number_of_users)s members" |
| 209 | 209 | msgstr "" |
| 210 | 210 | |
| 211 | -#: super_archives/templates/superarchives/thread-dashboard.html:23 | |
| 211 | +#: super_archives/templates/superarchives/thread-dashboard.html:20 | |
| 212 | 212 | msgid "latest" |
| 213 | 213 | msgstr "" |
| 214 | 214 | |
| 215 | -#: super_archives/templates/superarchives/thread-dashboard.html:31 | |
| 216 | -#: super_archives/templates/superarchives/thread-dashboard.html:45 | |
| 215 | +#: super_archives/templates/superarchives/thread-dashboard.html:28 | |
| 216 | +#: super_archives/templates/superarchives/thread-dashboard.html:42 | |
| 217 | 217 | msgid "more..." |
| 218 | 218 | msgstr "" |
| 219 | 219 | |
| 220 | -#: super_archives/templates/superarchives/thread-dashboard.html:37 | |
| 220 | +#: super_archives/templates/superarchives/thread-dashboard.html:34 | |
| 221 | 221 | msgid "most relevant" |
| 222 | 222 | msgstr "" |
| 223 | 223 | |
| ... | ... | @@ -225,45 +225,45 @@ msgstr "" |
| 225 | 225 | msgid "Please verify your email " |
| 226 | 226 | msgstr "" |
| 227 | 227 | |
| 228 | -#: super_archives/views.py:92 | |
| 228 | +#: super_archives/views.py:112 | |
| 229 | 229 | msgid "Error trying to connect to Mailman API" |
| 230 | 230 | msgstr "" |
| 231 | 231 | |
| 232 | -#: super_archives/views.py:95 | |
| 232 | +#: super_archives/views.py:115 | |
| 233 | 233 | msgid "Timeout trying to connect to Mailman API" |
| 234 | 234 | msgstr "" |
| 235 | 235 | |
| 236 | -#: super_archives/views.py:99 | |
| 236 | +#: super_archives/views.py:119 | |
| 237 | 237 | msgid "" |
| 238 | 238 | "Your message was sent to this topic. It may take some minutes before it's " |
| 239 | 239 | "delivered by email to the group. Why don't you breath some fresh air in the " |
| 240 | 240 | "meanwhile?" |
| 241 | 241 | msgstr "" |
| 242 | 242 | |
| 243 | -#: super_archives/views.py:108 | |
| 243 | +#: super_archives/views.py:128 | |
| 244 | 244 | msgid "You cannot send an empty email" |
| 245 | 245 | msgstr "" |
| 246 | 246 | |
| 247 | -#: super_archives/views.py:110 | |
| 247 | +#: super_archives/views.py:130 | |
| 248 | 248 | msgid "Mailing list does not exist" |
| 249 | 249 | msgstr "" |
| 250 | 250 | |
| 251 | -#: super_archives/views.py:112 | |
| 251 | +#: super_archives/views.py:133 | |
| 252 | 252 | msgid "Unknown error trying to connect to Mailman API" |
| 253 | 253 | msgstr "" |
| 254 | 254 | |
| 255 | -#: super_archives/views.py:152 | |
| 255 | +#: super_archives/views.py:188 | |
| 256 | 256 | msgid "" |
| 257 | 257 | "The email address you are trying to verify either has already been verified " |
| 258 | 258 | "or does not exist." |
| 259 | 259 | msgstr "" |
| 260 | 260 | |
| 261 | -#: super_archives/views.py:163 | |
| 261 | +#: super_archives/views.py:199 | |
| 262 | 262 | msgid "" |
| 263 | 263 | "The email address you are trying to verify is already an active email " |
| 264 | 264 | "address." |
| 265 | 265 | msgstr "" |
| 266 | 266 | |
| 267 | -#: super_archives/views.py:173 | |
| 267 | +#: super_archives/views.py:213 | |
| 268 | 268 | msgid "Email address verified!" |
| 269 | 269 | msgstr "" | ... | ... |
No preview for this file type
colab/super_archives/locale/pt_BR/LC_MESSAGES/django.mo
No preview for this file type
colab/super_archives/locale/pt_BR/LC_MESSAGES/django.po
| ... | ... | @@ -8,7 +8,7 @@ msgid "" |
| 8 | 8 | msgstr "" |
| 9 | 9 | "Project-Id-Version: colab\n" |
| 10 | 10 | "Report-Msgid-Bugs-To: \n" |
| 11 | -"POT-Creation-Date: 2015-01-21 13:55+0000\n" | |
| 11 | +"POT-Creation-Date: 2015-09-01 13:15+0000\n" | |
| 12 | 12 | "PO-Revision-Date: 2014-11-21 17:38+0000\n" |
| 13 | 13 | "Last-Translator: Sergio Oliveira <seocam@seocam.com>\n" |
| 14 | 14 | "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" |
| ... | ... | @@ -19,137 +19,137 @@ msgstr "" |
| 19 | 19 | "Content-Transfer-Encoding: 8bit\n" |
| 20 | 20 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" |
| 21 | 21 | |
| 22 | -#: colab/super_archives/management/commands/import_emails.py:213 | |
| 22 | +#: super_archives/management/commands/import_emails.py:213 | |
| 23 | 23 | msgid "[Colab] Warning - Email sent with a blank subject." |
| 24 | 24 | msgstr "[Colab] Atenção - Email enviado sem assunto." |
| 25 | 25 | |
| 26 | -#: colab/super_archives/models.py:68 | |
| 27 | -#: colab/super_archives/templates/message-preview.html:62 | |
| 28 | -#: colab/super_archives/templates/message-thread.html:4 | |
| 26 | +#: super_archives/models.py:77 | |
| 27 | +#: super_archives/templates/message-preview.html:62 | |
| 28 | +#: super_archives/templates/message-thread.html:4 | |
| 29 | 29 | msgid "Anonymous" |
| 30 | 30 | msgstr "Anônimo" |
| 31 | 31 | |
| 32 | -#: colab/super_archives/models.py:118 | |
| 32 | +#: super_archives/models.py:133 | |
| 33 | 33 | msgid "Mailing List" |
| 34 | 34 | msgstr "Lista de discussão" |
| 35 | 35 | |
| 36 | -#: colab/super_archives/models.py:119 | |
| 36 | +#: super_archives/models.py:134 | |
| 37 | 37 | msgid "The Mailing List where is the thread" |
| 38 | 38 | msgstr "Lista de emails da discussão" |
| 39 | 39 | |
| 40 | -#: colab/super_archives/models.py:122 | |
| 40 | +#: super_archives/models.py:137 | |
| 41 | 41 | msgid "Latest message" |
| 42 | 42 | msgstr "Última mensagem" |
| 43 | 43 | |
| 44 | -#: colab/super_archives/models.py:123 | |
| 44 | +#: super_archives/models.py:138 | |
| 45 | 45 | msgid "Latest message posted" |
| 46 | 46 | msgstr "Última mensagem enviada" |
| 47 | 47 | |
| 48 | -#: colab/super_archives/models.py:124 | |
| 48 | +#: super_archives/models.py:139 | |
| 49 | 49 | msgid "Score" |
| 50 | 50 | msgstr "Pontuação" |
| 51 | 51 | |
| 52 | -#: colab/super_archives/models.py:124 | |
| 52 | +#: super_archives/models.py:140 | |
| 53 | 53 | msgid "Thread score" |
| 54 | 54 | msgstr "Pontuação da discussão" |
| 55 | 55 | |
| 56 | -#: colab/super_archives/models.py:133 | |
| 56 | +#: super_archives/models.py:153 | |
| 57 | 57 | msgid "Thread" |
| 58 | 58 | msgstr "Discussão" |
| 59 | 59 | |
| 60 | -#: colab/super_archives/models.py:134 | |
| 60 | +#: super_archives/models.py:154 | |
| 61 | 61 | msgid "Threads" |
| 62 | 62 | msgstr "Discussões" |
| 63 | 63 | |
| 64 | -#: colab/super_archives/models.py:248 | |
| 64 | +#: super_archives/models.py:267 | |
| 65 | 65 | msgid "Subject" |
| 66 | 66 | msgstr "Assuntos" |
| 67 | 67 | |
| 68 | -#: colab/super_archives/models.py:249 | |
| 68 | +#: super_archives/models.py:268 | |
| 69 | 69 | msgid "Please enter a message subject" |
| 70 | 70 | msgstr "Por favor digite um assunto de email" |
| 71 | 71 | |
| 72 | -#: colab/super_archives/models.py:252 | |
| 72 | +#: super_archives/models.py:271 | |
| 73 | 73 | msgid "Message body" |
| 74 | 74 | msgstr "Corpo do email" |
| 75 | 75 | |
| 76 | -#: colab/super_archives/models.py:253 | |
| 76 | +#: super_archives/models.py:272 | |
| 77 | 77 | msgid "Please enter a message body" |
| 78 | 78 | msgstr "Por favor digite o corpo do email" |
| 79 | 79 | |
| 80 | -#: colab/super_archives/models.py:263 | |
| 80 | +#: super_archives/models.py:282 | |
| 81 | 81 | msgid "Message" |
| 82 | 82 | msgstr "Mensagem" |
| 83 | 83 | |
| 84 | -#: colab/super_archives/models.py:264 | |
| 84 | +#: super_archives/models.py:283 | |
| 85 | 85 | msgid "Messages" |
| 86 | 86 | msgstr "Mensagens" |
| 87 | 87 | |
| 88 | -#: colab/super_archives/templates/message-preview.html:42 | |
| 89 | -#: colab/super_archives/templates/message-preview.html:62 | |
| 88 | +#: super_archives/templates/message-preview.html:42 | |
| 89 | +#: super_archives/templates/message-preview.html:62 | |
| 90 | 90 | msgid "by" |
| 91 | 91 | msgstr "por" |
| 92 | 92 | |
| 93 | -#: colab/super_archives/templates/message-preview.html:65 | |
| 94 | -#: colab/super_archives/templates/message-thread.html:161 | |
| 93 | +#: super_archives/templates/message-preview.html:65 | |
| 94 | +#: super_archives/templates/message-thread.html:161 | |
| 95 | 95 | msgid "ago" |
| 96 | 96 | msgstr "atrás" |
| 97 | 97 | |
| 98 | -#: colab/super_archives/templates/message-thread.html:35 | |
| 98 | +#: super_archives/templates/message-thread.html:35 | |
| 99 | 99 | msgid "You must login before voting." |
| 100 | 100 | msgstr "Você deve logar antes de votar." |
| 101 | 101 | |
| 102 | -#: colab/super_archives/templates/message-thread.html:132 | |
| 102 | +#: super_archives/templates/message-thread.html:132 | |
| 103 | 103 | msgid "Order by" |
| 104 | 104 | msgstr "Ordenar por" |
| 105 | 105 | |
| 106 | -#: colab/super_archives/templates/message-thread.html:136 | |
| 106 | +#: super_archives/templates/message-thread.html:136 | |
| 107 | 107 | msgid "Votes" |
| 108 | 108 | msgstr "Votos" |
| 109 | 109 | |
| 110 | -#: colab/super_archives/templates/message-thread.html:140 | |
| 110 | +#: super_archives/templates/message-thread.html:140 | |
| 111 | 111 | msgid "Date" |
| 112 | 112 | msgstr "Data" |
| 113 | 113 | |
| 114 | -#: colab/super_archives/templates/message-thread.html:145 | |
| 114 | +#: super_archives/templates/message-thread.html:145 | |
| 115 | 115 | msgid "Related:" |
| 116 | 116 | msgstr "Relacionado:" |
| 117 | 117 | |
| 118 | -#: colab/super_archives/templates/message-thread.html:156 | |
| 118 | +#: super_archives/templates/message-thread.html:156 | |
| 119 | 119 | msgid "Statistics:" |
| 120 | 120 | msgstr "Estatísticas:" |
| 121 | 121 | |
| 122 | -#: colab/super_archives/templates/message-thread.html:160 | |
| 122 | +#: super_archives/templates/message-thread.html:160 | |
| 123 | 123 | msgid "started at" |
| 124 | 124 | msgstr "iniciada em" |
| 125 | 125 | |
| 126 | -#: colab/super_archives/templates/message-thread.html:166 | |
| 126 | +#: super_archives/templates/message-thread.html:166 | |
| 127 | 127 | msgid "viewed" |
| 128 | 128 | msgstr "vizualizada" |
| 129 | 129 | |
| 130 | -#: colab/super_archives/templates/message-thread.html:167 | |
| 131 | -#: colab/super_archives/templates/message-thread.html:172 | |
| 132 | -#: colab/super_archives/templates/message-thread.html:177 | |
| 130 | +#: super_archives/templates/message-thread.html:167 | |
| 131 | +#: super_archives/templates/message-thread.html:172 | |
| 132 | +#: super_archives/templates/message-thread.html:177 | |
| 133 | 133 | msgid "times" |
| 134 | 134 | msgstr "vezes" |
| 135 | 135 | |
| 136 | -#: colab/super_archives/templates/message-thread.html:171 | |
| 136 | +#: super_archives/templates/message-thread.html:171 | |
| 137 | 137 | msgid "answered" |
| 138 | 138 | msgstr "respondida" |
| 139 | 139 | |
| 140 | -#: colab/super_archives/templates/message-thread.html:176 | |
| 140 | +#: super_archives/templates/message-thread.html:176 | |
| 141 | 141 | msgid "voted" |
| 142 | 142 | msgstr "votada" |
| 143 | 143 | |
| 144 | -#: colab/super_archives/templates/message-thread.html:182 | |
| 144 | +#: super_archives/templates/message-thread.html:182 | |
| 145 | 145 | msgid "Tags:" |
| 146 | 146 | msgstr "Tags:" |
| 147 | 147 | |
| 148 | -#: colab/super_archives/templates/superarchives/emails/email_blank_subject.txt:2 | |
| 148 | +#: super_archives/templates/superarchives/emails/email_blank_subject.txt:2 | |
| 149 | 149 | msgid "Hello" |
| 150 | 150 | msgstr "Olá" |
| 151 | 151 | |
| 152 | -#: colab/super_archives/templates/superarchives/emails/email_blank_subject.txt:3 | |
| 152 | +#: super_archives/templates/superarchives/emails/email_blank_subject.txt:3 | |
| 153 | 153 | #, python-format |
| 154 | 154 | msgid "" |
| 155 | 155 | "\n" |
| ... | ... | @@ -172,7 +172,7 @@ msgstr "" |
| 172 | 172 | "\n" |
| 173 | 173 | "Obrigado.\n" |
| 174 | 174 | |
| 175 | -#: colab/super_archives/templates/superarchives/emails/email_verification.txt:2 | |
| 175 | +#: super_archives/templates/superarchives/emails/email_verification.txt:2 | |
| 176 | 176 | #, python-format |
| 177 | 177 | msgid "" |
| 178 | 178 | "Hey, we want to verify that you are indeed \"%(fullname)s (%(username)s)\". " |
| ... | ... | @@ -181,7 +181,7 @@ msgstr "" |
| 181 | 181 | "Ei, nós queremos verificar que você é realmente \"%(fullname)s " |
| 182 | 182 | "(%(username)s)\". Se este for o caso, por favor clique no link abaixo:" |
| 183 | 183 | |
| 184 | -#: colab/super_archives/templates/superarchives/emails/email_verification.txt:6 | |
| 184 | +#: super_archives/templates/superarchives/emails/email_verification.txt:6 | |
| 185 | 185 | #, python-format |
| 186 | 186 | msgid "" |
| 187 | 187 | "If you're not %(username)s or didn't request verification you can ignore " |
| ... | ... | @@ -190,20 +190,20 @@ msgstr "" |
| 190 | 190 | "Se você não é %(username)s ou não solicitou verificação apenas ignore este " |
| 191 | 191 | "email." |
| 192 | 192 | |
| 193 | -#: colab/super_archives/templates/superarchives/includes/message.html:17 | |
| 194 | -#: colab/super_archives/templates/superarchives/includes/message.html:18 | |
| 193 | +#: super_archives/templates/superarchives/includes/message.html:17 | |
| 194 | +#: super_archives/templates/superarchives/includes/message.html:18 | |
| 195 | 195 | msgid "Link to this message" |
| 196 | 196 | msgstr "Link para esta mensagem" |
| 197 | 197 | |
| 198 | -#: colab/super_archives/templates/superarchives/includes/message.html:46 | |
| 198 | +#: super_archives/templates/superarchives/includes/message.html:46 | |
| 199 | 199 | msgid "Reply" |
| 200 | 200 | msgstr "Responder" |
| 201 | 201 | |
| 202 | -#: colab/super_archives/templates/superarchives/includes/message.html:63 | |
| 202 | +#: super_archives/templates/superarchives/includes/message.html:63 | |
| 203 | 203 | msgid "Send a message" |
| 204 | 204 | msgstr "Enviar mensagem" |
| 205 | 205 | |
| 206 | -#: colab/super_archives/templates/superarchives/includes/message.html:66 | |
| 206 | +#: super_archives/templates/superarchives/includes/message.html:66 | |
| 207 | 207 | msgid "" |
| 208 | 208 | "After sending a message it will take few minutes before it shows up in here. " |
| 209 | 209 | "Why don't you grab a coffee?" |
| ... | ... | @@ -211,46 +211,46 @@ msgstr "" |
| 211 | 211 | "Após enviar uma mensagem pode levar alguns minutos até que ela seja exibida " |
| 212 | 212 | "aqui. Por que você não busca um café enquanto isso?" |
| 213 | 213 | |
| 214 | -#: colab/super_archives/templates/superarchives/includes/message.html:69 | |
| 214 | +#: super_archives/templates/superarchives/includes/message.html:69 | |
| 215 | 215 | msgid "Send" |
| 216 | 216 | msgstr "Enviar" |
| 217 | 217 | |
| 218 | -#: colab/super_archives/templates/superarchives/thread-dashboard.html:4 | |
| 219 | -#: colab/super_archives/templates/superarchives/thread-dashboard.html:7 | |
| 218 | +#: super_archives/templates/superarchives/thread-dashboard.html:4 | |
| 219 | +#: super_archives/templates/superarchives/thread-dashboard.html:7 | |
| 220 | 220 | msgid "Groups" |
| 221 | 221 | msgstr "Grupos" |
| 222 | 222 | |
| 223 | -#: colab/super_archives/templates/superarchives/thread-dashboard.html:14 | |
| 223 | +#: super_archives/templates/superarchives/thread-dashboard.html:14 | |
| 224 | 224 | #, python-format |
| 225 | 225 | msgid "%(number_of_users)s members" |
| 226 | 226 | msgstr "%(number_of_users)s membros" |
| 227 | 227 | |
| 228 | -#: colab/super_archives/templates/superarchives/thread-dashboard.html:23 | |
| 228 | +#: super_archives/templates/superarchives/thread-dashboard.html:20 | |
| 229 | 229 | msgid "latest" |
| 230 | 230 | msgstr "última" |
| 231 | 231 | |
| 232 | -#: colab/super_archives/templates/superarchives/thread-dashboard.html:31 | |
| 233 | -#: colab/super_archives/templates/superarchives/thread-dashboard.html:45 | |
| 232 | +#: super_archives/templates/superarchives/thread-dashboard.html:28 | |
| 233 | +#: super_archives/templates/superarchives/thread-dashboard.html:42 | |
| 234 | 234 | msgid "more..." |
| 235 | 235 | msgstr "mais..." |
| 236 | 236 | |
| 237 | -#: colab/super_archives/templates/superarchives/thread-dashboard.html:37 | |
| 237 | +#: super_archives/templates/superarchives/thread-dashboard.html:34 | |
| 238 | 238 | msgid "most relevant" |
| 239 | 239 | msgstr "Mais relevante" |
| 240 | 240 | |
| 241 | -#: colab/super_archives/utils/email.py:14 | |
| 241 | +#: super_archives/utils/email.py:14 | |
| 242 | 242 | msgid "Please verify your email " |
| 243 | 243 | msgstr "Por favor verifique seu email" |
| 244 | 244 | |
| 245 | -#: colab/super_archives/views.py:93 | |
| 245 | +#: super_archives/views.py:112 | |
| 246 | 246 | msgid "Error trying to connect to Mailman API" |
| 247 | 247 | msgstr "Erro tentando conectar à API do Mailman" |
| 248 | 248 | |
| 249 | -#: colab/super_archives/views.py:96 | |
| 249 | +#: super_archives/views.py:115 | |
| 250 | 250 | msgid "Timeout trying to connect to Mailman API" |
| 251 | -msgstr "Timeout tentando conectar à API do Mailman" | |
| 251 | +msgstr "Tempo excedido tentando conectar à API do Mailman" | |
| 252 | 252 | |
| 253 | -#: colab/super_archives/views.py:100 | |
| 253 | +#: super_archives/views.py:119 | |
| 254 | 254 | msgid "" |
| 255 | 255 | "Your message was sent to this topic. It may take some minutes before it's " |
| 256 | 256 | "delivered by email to the group. Why don't you breath some fresh air in the " |
| ... | ... | @@ -260,19 +260,19 @@ msgstr "" |
| 260 | 260 | "minutos até que ela seja enviada por email para o grupo. Por que você não " |
| 261 | 261 | "respira um ar fresco enquanto isso?" |
| 262 | 262 | |
| 263 | -#: colab/super_archives/views.py:109 | |
| 263 | +#: super_archives/views.py:128 | |
| 264 | 264 | msgid "You cannot send an empty email" |
| 265 | 265 | msgstr "Você não pode enviar um email vazio" |
| 266 | 266 | |
| 267 | -#: colab/super_archives/views.py:111 | |
| 267 | +#: super_archives/views.py:130 | |
| 268 | 268 | msgid "Mailing list does not exist" |
| 269 | 269 | msgstr "Lista de email inexistente" |
| 270 | 270 | |
| 271 | -#: colab/super_archives/views.py:113 | |
| 271 | +#: super_archives/views.py:133 | |
| 272 | 272 | msgid "Unknown error trying to connect to Mailman API" |
| 273 | 273 | msgstr "Erro desconhecido tentando conectar à API do Mailman" |
| 274 | 274 | |
| 275 | -#: colab/super_archives/views.py:153 | |
| 275 | +#: super_archives/views.py:188 | |
| 276 | 276 | msgid "" |
| 277 | 277 | "The email address you are trying to verify either has already been verified " |
| 278 | 278 | "or does not exist." |
| ... | ... | @@ -280,12 +280,12 @@ msgstr "" |
| 280 | 280 | "O email que você está tentando verificar não existe ou já foi verificado " |
| 281 | 281 | "anteriormente. " |
| 282 | 282 | |
| 283 | -#: colab/super_archives/views.py:164 | |
| 283 | +#: super_archives/views.py:199 | |
| 284 | 284 | msgid "" |
| 285 | 285 | "The email address you are trying to verify is already an active email " |
| 286 | 286 | "address." |
| 287 | 287 | msgstr "O email que você está tentando verificar já é um email ativo." |
| 288 | 288 | |
| 289 | -#: colab/super_archives/views.py:178 | |
| 289 | +#: super_archives/views.py:213 | |
| 290 | 290 | msgid "Email address verified!" |
| 291 | 291 | msgstr "Endereço de email verificado!" | ... | ... |
colab/templates/base.html
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | </head> |
| 51 | 51 | |
| 52 | 52 | <!-- data-no-turbolink will disable Rails TurboLinks for all pages under Colab --> |
| 53 | - <body class="container" data-no-turbolink> | |
| 53 | + <body data-no-turbolink> | |
| 54 | 54 | |
| 55 | 55 | {% block ribbon %} |
| 56 | 56 | {% if ribbon %} |
| ... | ... | @@ -62,84 +62,8 @@ |
| 62 | 62 | {% endif %} |
| 63 | 63 | {% endblock %} |
| 64 | 64 | |
| 65 | - {% block navbar %} | |
| 66 | - <nav class="navbar navbar-default navbar-fixed-top" role="navigation"> | |
| 67 | - <div class="container"> | |
| 68 | - <div class="navbar-header"> | |
| 69 | - | |
| 70 | - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main"> | |
| 71 | - <span class="sr-only">Toggle navigation</span> | |
| 72 | - <span class="icon-bar"></span> | |
| 73 | - <span class="icon-bar"></span> | |
| 74 | - <span class="icon-bar"></span> | |
| 75 | - <span class="icon-bar"></span> | |
| 76 | - </button> | |
| 77 | - <a class="navbar-brand" href="/"><img alt="Colab" src="{% static 'img/logo.svg' %}"></a> | |
| 78 | - </div> | |
| 79 | - <div class="collapse navbar-collapse navbar-main"> | |
| 80 | - <ul class="nav navbar-nav"> | |
| 81 | - | |
| 82 | - <li> | |
| 83 | - <a href="{% url 'thread_list' %}">{% trans "Groups" %}</a> | |
| 84 | - </li> | |
| 85 | - | |
| 86 | - {% plugins_menu %} | |
| 87 | - | |
| 88 | - <li class="hidden-lg hidden-md"> | |
| 89 | - <a href="{% url 'haystack_search' %}?q=">{% trans "Search" %}</a> | |
| 90 | - </li> | |
| 91 | - </ul> | |
| 92 | - | |
| 93 | - <ul class="nav navbar-nav navbar-right"> | |
| 94 | - {% if not user.is_authenticated %} | |
| 95 | - | |
| 96 | - <li class="dropdown hidden-xs hidden-lg"> | |
| 97 | - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Acesso <b class="caret"></b></a> | |
| 98 | - <ul class="dropdown-menu"> | |
| 99 | - {% trans 'Login' as login_text %} | |
| 100 | - <li><a href="{% url 'signup' %}">{% trans "Register" %}</a></li> | |
| 101 | - <li><a href="{% url 'login' %}">{% trans "Login" %}</a></li> | |
| 102 | - </ul> | |
| 103 | - </li> | |
| 104 | - {% trans 'Login' as login_text %} | |
| 105 | - <li class="visible-xs hidden-sm hidden-md"><a href="{% url 'signup' %}">{% trans "Register" %}</a></li> | |
| 106 | - <li class="visible-xs hidden-sm hidden-md"><a href="{% url 'login' %}">{% trans "Login" %}</a></li> | |
| 107 | - {% else %} | |
| 108 | - <li id="user-menu" class="dropdown"> | |
| 109 | - <a href="#" class="dropdown-toggle user" data-toggle="dropdown">{% gravatar user.email 40 %} <b class="caret"></b> </a> | |
| 110 | - <ul class="dropdown-menu" role="menu"> | |
| 111 | - <li> | |
| 112 | - <div class="wrapper"> | |
| 113 | - <div class="thumbnail">{% gravatar user.email 100 %}</div> | |
| 114 | - <div class="user-info"> | |
| 115 | - <span><b>{{ user.get_full_name }}</b></span> | |
| 116 | - <span class="quiet">{{ user.email }}</span> | |
| 117 | - </div> | |
| 118 | - <div> | |
| 119 | - <a class="btn btn-info pull-left" href="{% url 'user_profile' user.username %}">{% trans "My Profile" %}</a> | |
| 120 | - {% trans 'Logout' as logout_text %} | |
| 121 | - <a class="btn btn-default pull-right" href="{% url 'logout' %}"> {% trans "Logout" %}</a> | |
| 122 | - </div> | |
| 123 | - </div> | |
| 124 | - </li> | |
| 125 | - </ul> | |
| 126 | - </li> | |
| 127 | - {% endif %} | |
| 128 | - </ul> | |
| 129 | - | |
| 130 | - <form action="{% url 'haystack_search' %}" method="GET" id="search-form" class="navbar-form navbar-right hidden-xs hidden-sm" role="search"> | |
| 131 | - <div class="form-group"> | |
| 132 | - <label class="sr-only" for="header-searchbox">{% trans 'Search here...' %}</label> | |
| 133 | - <input name="q" id="header-searchbox" | |
| 134 | - class="form-control" value="{{ request.GET.q }}" | |
| 135 | - type="search" placeholder="{% trans 'Search here...' %}" /> | |
| 136 | - </div> | |
| 137 | - <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search"></span></button> | |
| 138 | - </form> | |
| 139 | - </div> | |
| 140 | - </div> | |
| 141 | - </nav> | |
| 142 | - | |
| 65 | + {% block header %} | |
| 66 | + {% include 'header.html' %} | |
| 143 | 67 | {% endblock %} |
| 144 | 68 | |
| 145 | 69 | {% block messages %} |
| ... | ... | @@ -166,8 +90,6 @@ |
| 166 | 90 | {% block main-content %}{% endblock %} |
| 167 | 91 | </div> |
| 168 | 92 | |
| 169 | - <div class="row"> </div> | |
| 170 | - | |
| 171 | 93 | {% block footer %} |
| 172 | 94 | |
| 173 | 95 | {% include "footer.html" %} | ... | ... |
colab/templates/header.html
| ... | ... | @@ -23,8 +23,6 @@ |
| 23 | 23 | |
| 24 | 24 | {% plugins_menu %} |
| 25 | 25 | |
| 26 | - <li><a href="/paste">{% trans "Paste" %}</a></li> | |
| 27 | - | |
| 28 | 26 | <li class="hidden-lg hidden-md"> |
| 29 | 27 | <a href="{% url 'haystack_search' %}?q=">{% trans "Search" %}</a> |
| 30 | 28 | </li> |
| ... | ... | @@ -42,8 +40,8 @@ |
| 42 | 40 | </ul> |
| 43 | 41 | </li> |
| 44 | 42 | {% trans 'Login' as login_text %} |
| 45 | - <li class="visible-xs hidden-sm hidden-md"><a href="{% url 'signup' %}">{% trans "Register" %}</a></li> | |
| 46 | - <li class="visible-xs hidden-sm hidden-md"><a href="{% url 'login' %}">{% trans "Login" %}</a></li> | |
| 43 | + <li class="visible-xs hidden-sm hidden-md"><a href="{% url 'signup' %}">{% trans "Register" %}</a></li> | |
| 44 | + <li class="visible-xs hidden-sm hidden-md"><a href="{% url 'login' %}">{% trans "Login" %}</a></li> | |
| 47 | 45 | {% else %} |
| 48 | 46 | <li id="user-menu" class="dropdown"> |
| 49 | 47 | <a href="#" class="dropdown-toggle user" data-toggle="dropdown">{% gravatar user.email 40 %} <b class="caret"></b> </a> |
| ... | ... | @@ -71,8 +69,8 @@ |
| 71 | 69 | <div class="form-group"> |
| 72 | 70 | <label class="sr-only" for="header-searchbox">{% trans 'Search here...' %}</label> |
| 73 | 71 | <input name="q" id="header-searchbox" |
| 74 | - class="form-control" value="{{ request.GET.q }}" | |
| 75 | - type="search" placeholder="{% trans 'Search here...' %}" /> | |
| 72 | + class="form-control" value="{{ request.GET.q }}" | |
| 73 | + type="search" placeholder="{% trans 'Search here...' %}" /> | |
| 76 | 74 | </div> |
| 77 | 75 | <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search"></span></button> |
| 78 | 76 | </form> | ... | ... |
colab/urls.py
colab/utils/conf.py
| ... | ... | @@ -127,7 +127,7 @@ def load_colab_apps(): |
| 127 | 127 | |
| 128 | 128 | fields = ['verbose_name', 'upstream', 'urls', |
| 129 | 129 | 'menu_urls', 'middlewares', 'dependencies', |
| 130 | - 'context_processors', 'private_token', 'name'] | |
| 130 | + 'context_processors', 'private_token', 'name', 'extra'] | |
| 131 | 131 | |
| 132 | 132 | for key in fields: |
| 133 | 133 | value = py_settings_d.get(key) |
| ... | ... | @@ -137,6 +137,43 @@ def load_colab_apps(): |
| 137 | 137 | return {'COLAB_APPS': COLAB_APPS} |
| 138 | 138 | |
| 139 | 139 | |
| 140 | +def load_widgets_settings(): | |
| 141 | + settings_file = os.getenv('COLAB_WIDGETS_SETTINGS', | |
| 142 | + '/etc/colab/widgets_settings.py') | |
| 143 | + settings_module = settings_file.split('.')[-2].split('/')[-1] | |
| 144 | + py_path = "/".join(settings_file.split('/')[:-1]) | |
| 145 | + logger.info('Widgets Settings file: %s', settings_file) | |
| 146 | + | |
| 147 | + if not os.path.exists(py_path): | |
| 148 | + return | |
| 149 | + | |
| 150 | + original_path = sys.path | |
| 151 | + sys.path.append(py_path) | |
| 152 | + importlib.import_module(settings_module) | |
| 153 | + | |
| 154 | + # Read settings from widgets.d | |
| 155 | + settings_dir = os.getenv('COLAB_WIDGETS', | |
| 156 | + '/etc/colab/widgets.d') | |
| 157 | + logger.info('Widgets Settings directory: %s', settings_dir) | |
| 158 | + sys.path = original_path | |
| 159 | + | |
| 160 | + if not os.path.exists(settings_dir): | |
| 161 | + return | |
| 162 | + | |
| 163 | + for file_name in os.listdir(settings_dir): | |
| 164 | + if not file_name.endswith('.py'): | |
| 165 | + continue | |
| 166 | + | |
| 167 | + original_path = sys.path | |
| 168 | + sys.path.append(settings_dir) | |
| 169 | + | |
| 170 | + file_module = file_name.split('.')[0] | |
| 171 | + importlib.import_module(file_module) | |
| 172 | + logger.info('Loaded %s/%s', settings_dir, file_name) | |
| 173 | + | |
| 174 | + sys.path = original_path | |
| 175 | + | |
| 176 | + | |
| 140 | 177 | def validate_database(database_dict, default_db, debug): |
| 141 | 178 | db_name = database_dict.get('default', {}).get('NAME') |
| 142 | 179 | if not debug and db_name == default_db: | ... | ... |
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | +from django.test import TestCase | |
| 2 | + | |
| 3 | +from colab.widgets.widget_manager import WidgetManager, Widget | |
| 4 | + | |
| 5 | +class WidgetManagerTest(TestCase): | |
| 6 | + | |
| 7 | + def test_add_widgets_to_key_area(self): | |
| 8 | + area = 'profile' | |
| 9 | + WidgetManager.register_widget(area, Widget()) | |
| 10 | + | |
| 11 | + self.assertEqual(len(WidgetManager.get_widgets(area)), 1) | |
| 12 | + | ... | ... |
| ... | ... | @@ -0,0 +1,53 @@ |
| 1 | +from django.utils.safestring import mark_safe | |
| 2 | + | |
| 3 | +class Widget(object): | |
| 4 | + identifier = None | |
| 5 | + name = None | |
| 6 | + default_url = None | |
| 7 | + content = '' | |
| 8 | + | |
| 9 | + def get_body(self): | |
| 10 | + # avoiding regex in favor of performance | |
| 11 | + start = self.content.find('<body>') | |
| 12 | + end = self.content.find('</body>') | |
| 13 | + | |
| 14 | + if -1 in [start, end]: | |
| 15 | + return '' | |
| 16 | + | |
| 17 | + body = self.content[start + len('<body>'):end] | |
| 18 | + return mark_safe(body) | |
| 19 | + | |
| 20 | + def get_header(self): | |
| 21 | + # avoiding regex in favor of performance | |
| 22 | + start = self.content.find('<head>') | |
| 23 | + end = self.content.find('</head>') | |
| 24 | + | |
| 25 | + if -1 in [start, end]: | |
| 26 | + return '' | |
| 27 | + | |
| 28 | + head = self.content[start + len('<head>'):end] | |
| 29 | + return mark_safe(head) | |
| 30 | + | |
| 31 | + def generate_content(self, request=None): | |
| 32 | + self.content = '' | |
| 33 | + | |
| 34 | + | |
| 35 | +class WidgetManager(object): | |
| 36 | + widget_categories = {} | |
| 37 | + | |
| 38 | + @staticmethod | |
| 39 | + def register_widget(category, widget): | |
| 40 | + if not WidgetManager.widget_categories.has_key(category): | |
| 41 | + WidgetManager.widget_categories[category] = [] | |
| 42 | + | |
| 43 | + WidgetManager.widget_categories[category].append(widget) | |
| 44 | + | |
| 45 | + @staticmethod | |
| 46 | + def get_widgets(category, request=None): | |
| 47 | + if not WidgetManager.widget_categories.has_key(category): | |
| 48 | + return [] | |
| 49 | + | |
| 50 | + widgets = WidgetManager.widget_categories[category] | |
| 51 | + for widget in widgets: | |
| 52 | + widget.generate_content(request) | |
| 53 | + return widgets | ... | ... |
No preview for this file type
misc/etc/cron.d/colab
misc/lib/systemd/system/colab.service
setup.py
| ... | ... | @@ -24,6 +24,7 @@ REQUIREMENTS = [ |
| 24 | 24 | 'django-taggit>=0.12.1', |
| 25 | 25 | 'html2text>=3.200.3', |
| 26 | 26 | 'chardet>=2.3.0', |
| 27 | + 'requests>=2.7.0' | |
| 27 | 28 | ] |
| 28 | 29 | |
| 29 | 30 | TEST_REQUIREMENTS = [ |
| ... | ... | @@ -41,7 +42,7 @@ EXCLUDE_FROM_PACKAGES = [] |
| 41 | 42 | |
| 42 | 43 | setup( |
| 43 | 44 | name='colab', |
| 44 | - version='1.10.1', | |
| 45 | + version='1.11', | |
| 45 | 46 | url='https://github.com/colab-community/colab', |
| 46 | 47 | author='Sergio Oliveira', |
| 47 | 48 | author_email='sergio@tracy.com.br', | ... | ... |
tests/run.py
| ... | ... | @@ -5,7 +5,9 @@ import sys |
| 5 | 5 | |
| 6 | 6 | os.environ['DJANGO_SETTINGS_MODULE'] = 'colab.settings' |
| 7 | 7 | os.environ['COLAB_SETTINGS'] = 'tests/colab_settings.py' |
| 8 | +os.environ['COLAB_WIDGETS_SETTINGS'] = 'tests/widgets_settings.py' | |
| 8 | 9 | os.environ['COLAB_PLUGINS'] = 'tests/plugins.d' |
| 10 | +os.environ['COLAB_WIDGETS'] = 'tests/widgets.d' | |
| 9 | 11 | os.environ['COVERAGE_PROCESS_START'] = '.coveragerc' |
| 10 | 12 | |
| 11 | 13 | ... | ... |