diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100755 index 00000000..cb11e22f --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,51 @@ +# Taiga.io Community CoC (Code of Conduct) +### Version 0.1 + +As contributors and maintainers of any Taiga.io project, and in the interest of +fostering an open and welcoming community, we pledge to respect all people who +contribute through reporting issues, posting feature requests, updating +documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this projects a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic + addresses, without explicit permission +* Other unethical or unprofessional conduct + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +By adopting this Code of Conduct, project maintainers commit themselves to +fairly and consistently applying these principles to every aspect of managing +this project. Project maintainers who do not follow or enforce the Code of +Conduct may be permanently removed from the project team. + +This code of conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community (like our + mailing list, Google Groups, in Twitter, Facebook, etc.). + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting a project maintainer at +[conduct@taiga.io](mailto:coc@taiga.io). All complaints will be reviewed +and investigated and will result in a response that is deemed necessary and +appropriate to the circumstances. Maintainers are obligated to maintain +confidentiality with regard to the reporter of an incident. + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.3.0, available at +[http://contributor-covenant.org/version/1/3/0/][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/3/0/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0af2c2b3..26d0014e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,7 +28,7 @@ Please read carefully [our license](https://github.com/taigaio/taiga-back/blob/m #### Bug reports, enhancements and support #### -If you **need help to setup Taiga**, want to **talk about some cool enhancemnt** or you have **some questions**, please write us to our [mailing list](http://groups.google.com/d/forum/taigaio). +If you **need help to setup Taiga**, want to **talk about some cool enhancement** or you have **some questions**, please write us to our [mailing list](http://groups.google.com/d/forum/taigaio). If you **find a bug** in Taiga you can always report it: diff --git a/README.md b/README.md index f5fb30fe..12c0ac18 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Taiga Backend # -![Kaleidos Project](http://kaleidos.net/static/img/badge.svg "Kaleidos Project") +[![Kaleidos Project](http://kaleidos.net/static/img/badge.png)](https://github.com/kaleidos "Kaleidos Project") [![Managed with Taiga.io](https://img.shields.io/badge/managed%20with-TAIGA.io-709f14.svg)](https://tree.taiga.io/project/taiga/ "Managed with Taiga.io") [![Build Status](https://img.shields.io/travis/taigaio/taiga-back.svg)](https://travis-ci.org/taigaio/taiga-back "Build Status") [![Coverage Status](https://img.shields.io/coveralls/taigaio/taiga-back/master.svg)](https://coveralls.io/r/taigaio/taiga-back?branch=master "Coverage Status") @@ -68,14 +68,14 @@ We are ready now to accept your help translating Taiga. It's easy (and fun!) jus #### Code patches #### -Taiga will always be glad to receive code patches to update, fix or improve its code. +Taiga will always be glad to receive code patches to update, fix or improve its code. If you know how to improve our code base or you found a bug, a security vulnerability or a performance issue and you think you can solve it, we will be very happy to accept your pull-request. If your code requires considerable changes, we recommend you first talk to us directly. We will find the best way to help. #### UI enhancements #### -Taiga is made for developers and designers. We care enormously about UI because usability and design are both critical aspects of the Taiga experience. +Taiga is made for developers and designers. We care enormously about UI because usability and design are both critical aspects of the Taiga experience. There are two possible ways to contribute to our UI: - **Bugs**: If you find a bug regarding front-end, please report it as previously indicated in the Bug reports section or send a pull-request as indicated in the Code Patches section. @@ -93,7 +93,6 @@ pip install -r requirements.txt python manage.py migrate --noinput python manage.py loaddata initial_user python manage.py loaddata initial_project_templates -python manage.py loaddata initial_role python manage.py sample_data ``` @@ -102,4 +101,4 @@ python manage.py sample_data Initial auth data: admin/123123 If you want a complete environment for production usage, you can try the taiga bootstrapping -scripts https://github.com/taigaio/taiga-scripts (warning: alpha state). All the information about the different installation methods (production, development, vagrant, docker...) can be found here http://taigaio.github.io/taiga-doc/dist/#_installation_guide. +scripts https://github.com/taigaio/taiga-scripts (warning: alpha state). All the information about the different installation methods (production, development, vagrant, docker...) can be found here http://taigaio.github.io/taiga-doc/dist/#_installation_guide. diff --git a/requirements-devel.txt b/requirements-devel.txt index ac4f42fe..fd85d617 100644 --- a/requirements-devel.txt +++ b/requirements-devel.txt @@ -1,13 +1,11 @@ -r requirements.txt -factory_boy==2.8.1 -py==1.4.32 -pytest==3.0.6 -pytest-django==3.1.2 -pytest-pythonpath==0.7.1 - -coverage==4.3.4 +coverage==4.4.1 coveralls==1.1 django-slowdown==0.0.1 - +factory_boy==2.8.1 +py==1.4.34 +pytest-django==3.1.2 +pytest-pythonpath==0.7.1 +pytest==3.1.1 transifex-client==0.12.4 diff --git a/requirements.txt b/requirements.txt index 493f2e46..6deed4bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,43 +1,43 @@ -Django==1.10.6 #djangorestframework==2.3.13 # It's not necessary since Taiga 1.7 +CairoSVG==2.0.3 +Django==1.11.2 +Markdown==2.6.8 +Pillow==4.1.1 +PyJWT==1.5.0 +Unidecode==0.4.20 +amqp==2.1.4 +asana==0.6.5 +bleach==2.0.0 +celery==4.0.2 +cryptography==1.9 +cssutils==1.0.2 +diff-match-patch==20121119 +django-ipware==1.1.6 +django-jinja==2.3.1 django-picklefield==0.3.2 django-sampledatahelper==0.4.1 -gunicorn==19.6.0 -psycopg2==2.7 -Pillow==3.4.2 -pytz==2016.10 -six==1.10.0 -amqp==2.1.4 -djmail==1.0.1 -django-jinja==2.2.2 -jinja2==2.9.5 -pygments==2.2.0 django-sites==0.9 -Markdown==2.6.8 -fn==0.4.3 -diff-match-patch==20121119 -requests==2.13.0 -requests-oauthlib==0.8.0 -webcolors==1.7 django-sr==0.0.4 -easy-thumbnails==2.3 -celery==4.0.2 -redis==2.10.5 -Unidecode==0.4.20 -raven==6.0.0 -bleach==1.5.0 -django-ipware==1.1.6 -premailer==3.0.1 -cssutils==1.0.1 # Compatible with python 3.5 -lxml==3.7.3 +djmail==1.0.1 +easy-thumbnails==2.4.1 +fn==0.4.3 git+https://github.com/Xof/django-pglocks.git +gunicorn==19.7.1 +jinja2==2.9.6 +lxml==3.8.0 +netaddr==0.7.19 +premailer==3.0.1 +psd-tools==1.4 +psycopg2==2.7.1 +pygments==2.2.0 pyjwkest==1.3.2 python-dateutil==2.6.0 -netaddr==0.7.19 -serpy==0.1.1 -psd-tools==1.4 -CairoSVG==2.0.1 python-magic==0.4.13 -cryptography==1.7.1 -PyJWT==1.4.2 -asana==0.6.2 +pytz==2017.2 +raven==6.1.0 +redis==2.10.5 +requests-oauthlib==0.8.0 +requests==2.17.3 +serpy==0.1.1 +six==1.10.0 +webcolors==1.7 diff --git a/settings/local.py.example b/settings/local.py.example index 2adbf775..81b62c17 100644 --- a/settings/local.py.example +++ b/settings/local.py.example @@ -92,6 +92,7 @@ DATABASES = { # EMAIL SETTINGS EXAMPLE #EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #EMAIL_USE_TLS = False +#EMAIL_USE_SSL = False # You cannot use both (TLS and SSL) at the same time! #EMAIL_HOST = 'localhost' #EMAIL_PORT = 25 #EMAIL_HOST_USER = 'user' diff --git a/taiga/base/api/views.py b/taiga/base/api/views.py index cc42966b..f3040c4c 100644 --- a/taiga/base/api/views.py +++ b/taiga/base/api/views.py @@ -456,7 +456,6 @@ class APIView(View): handler = self.http_method_not_allowed response = handler(request, *args, **kwargs) - except Exception as exc: response = self.handle_exception(exc) diff --git a/taiga/base/db/models/fields/json.py b/taiga/base/db/models/fields/json.py index aa4fbe05..82d6e305 100644 --- a/taiga/base/db/models/fields/json.py +++ b/taiga/base/db/models/fields/json.py @@ -20,63 +20,10 @@ from django.core.serializers.json import DjangoJSONEncoder from django.contrib.postgres.fields import JSONField as DjangoJSONField -# NOTE: After upgrade Django to the future release (1.11) change -# class JSONField(FutureDjangoJSONField): -# to -# class JSONField(DjangoJSONField): -# and remove the classes JsonAdapter and FutureDjangoJSONField - -import json -from psycopg2.extras import Json -from django.core import exceptions - - -class JsonAdapter(Json): - """ - Customized psycopg2.extras.Json to allow for a custom encoder. - """ - def __init__(self, adapted, dumps=None, encoder=None): - self.encoder = encoder - super().__init__(adapted, dumps=dumps) - - def dumps(self, obj): - options = {'cls': self.encoder} if self.encoder else {} - return json.dumps(obj, **options) - - -class FutureDjangoJSONField(DjangoJSONField): - def __init__(self, verbose_name=None, name=None, encoder=None, **kwargs): - if encoder and not callable(encoder): - raise ValueError("The encoder parameter must be a callable object.") - self.encoder = encoder - super().__init__(verbose_name, name, **kwargs) - - def deconstruct(self): - name, path, args, kwargs = super().deconstruct() - if self.encoder is not None: - kwargs['encoder'] = self.encoder - return name, path, args, kwargs - - def get_prep_value(self, value): - if value is not None: - return JsonAdapter(value, encoder=self.encoder) - return value - - def validate(self, value, model_instance): - super().validate(value, model_instance) - options = {'cls': self.encoder} if self.encoder else {} - try: - json.dumps(value, **options) - except TypeError: - raise exceptions.ValidationError( - self.error_messages['invalid'], - code='invalid', - params={'value': value}, - ) - __all__ = ["JSONField"] -class JSONField(FutureDjangoJSONField): + +class JSONField(DjangoJSONField): def __init__(self, verbose_name=None, name=None, encoder=DjangoJSONEncoder, **kwargs): super().__init__(verbose_name, name, encoder, **kwargs) diff --git a/taiga/base/exceptions.py b/taiga/base/exceptions.py index 12310baa..17c940d5 100644 --- a/taiga/base/exceptions.py +++ b/taiga/base/exceptions.py @@ -252,17 +252,17 @@ def exception_handler(exc): """ if isinstance(exc, APIException): - headers = {} - if getattr(exc, "auth_header", None): - headers["WWW-Authenticate"] = exc.auth_header - if getattr(exc, "wait", None): - headers["X-Throttle-Wait-Seconds"] = "%d" % exc.wait - if getattr(exc, "project_data", None): - headers["Taiga-Info-Project-Memberships"] = exc.project_data["total_memberships"] - headers["Taiga-Info-Project-Is-Private"] = exc.project_data["is_private"] + res = response.Response(format_exception(exc), status=exc.status_code) - detail = format_exception(exc) - return response.Response(detail, status=exc.status_code, headers=headers) + if getattr(exc, "auth_header", None): + res["WWW-Authenticate"] = exc.auth_header + if getattr(exc, "wait", None): + res["X-Throttle-Wait-Seconds"] = "%d" % exc.wait + if getattr(exc, "project_data", None): + res["Taiga-Info-Project-Memberships"] = exc.project_data["total_memberships"] + res["Taiga-Info-Project-Is-Private"] = exc.project_data["is_private"] + + return res elif isinstance(exc, Http404): return response.NotFound({'_error_message': str(exc)}) diff --git a/taiga/base/filters.py b/taiga/base/filters.py index 2533f0b8..b90740b1 100644 --- a/taiga/base/filters.py +++ b/taiga/base/filters.py @@ -32,6 +32,30 @@ from taiga.base.utils.db import to_tsquery logger = logging.getLogger(__name__) +def get_filter_expression_can_view_projects(user, project_id=None): + # Filter by user permissions + if user.is_authenticated() and user.is_superuser: + return Q() + elif user.is_authenticated(): + # authenticated user & project member + membership_model = apps.get_model("projects", "Membership") + memberships_qs = membership_model.objects.filter(user=user) + if project_id: + memberships_qs = memberships_qs.filter(project_id=project_id) + memberships_qs = memberships_qs.filter( + Q(role__permissions__contains=['view_project']) | + Q(is_admin=True)) + + projects_list = [membership.project_id for membership in + memberships_qs] + + return (Q(id__in=projects_list) | + Q(public_permissions__contains=["view_project"])) + else: + # external users / anonymous + return Q(anon_permissions__contains=["view_project"]) + + ##################################################################### # Base and Mixins ##################################################################### diff --git a/taiga/base/templates/emails/base-body-html.jinja b/taiga/base/templates/emails/base-body-html.jinja index 9a5fb68b..c32ae92c 100644 --- a/taiga/base/templates/emails/base-body-html.jinja +++ b/taiga/base/templates/emails/base-body-html.jinja @@ -435,7 +435,10 @@ {% block footer %} - {% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} + {% trans unsubscribe_url=resolve_front_url("settings-mail-notifications"), support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} + Configure email notifications or unsubscribe: + {{ unsubscribe_url}} +
Taiga Support: {{ support_url}}
diff --git a/taiga/base/templates/emails/hero-body-html.jinja b/taiga/base/templates/emails/hero-body-html.jinja index fb2285f3..50951c28 100644 --- a/taiga/base/templates/emails/hero-body-html.jinja +++ b/taiga/base/templates/emails/hero-body-html.jinja @@ -394,7 +394,10 @@ {% block footer %} - {% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} + {% trans unsubscribe_url=resolve_front_url("settings-mail-notifications"), support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} + Configure email notifications or unsubscribe: + {{ unsubscribe_url}} +
Taiga Support: {{ support_url}}
diff --git a/taiga/base/templates/emails/updates-body-html.jinja b/taiga/base/templates/emails/updates-body-html.jinja index f07dbe74..d9f8f0d2 100644 --- a/taiga/base/templates/emails/updates-body-html.jinja +++ b/taiga/base/templates/emails/updates-body-html.jinja @@ -416,7 +416,7 @@

{{ _("Updates") }}

- {% for entry in history_entries%} + {% for entry in history_entries %} {% if entry.comment %} @@ -456,7 +456,10 @@ {% block footer %} - {% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} + {% trans unsubscribe_url=resolve_front_url("settings-mail-notifications"), support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} + Configure email notifications or unsubscribe: + {{ unsubscribe_url}} +
Taiga Support: {{ support_url}}
diff --git a/taiga/base/utils/contenttypes.py b/taiga/base/utils/contenttypes.py index bfdd5ab3..0a6399a6 100644 --- a/taiga/base/utils/contenttypes.py +++ b/taiga/base/utils/contenttypes.py @@ -17,9 +17,9 @@ # along with this program. If not, see . from django.apps import apps -from django.contrib.contenttypes.management import update_contenttypes +from django.contrib.contenttypes.management import create_contenttypes def update_all_contenttypes(**kwargs): for app_config in apps.get_app_configs(): - update_contenttypes(app_config, **kwargs) + create_contenttypes(app_config, **kwargs) diff --git a/taiga/base/utils/db.py b/taiga/base/utils/db.py index 809c9d9c..24d386ed 100644 --- a/taiga/base/utils/db.py +++ b/taiga/base/utils/db.py @@ -155,7 +155,6 @@ def update_attr_in_bulk_for_ids(values, attr, model): try: cursor.execute(sql) except DatabaseError: - print("retries", 0) if retries < max_retries: _run_sql(retries + 1) diff --git a/taiga/external_apps/migrations/0003_auto_20170607_2320.py b/taiga/external_apps/migrations/0003_auto_20170607_2320.py new file mode 100644 index 00000000..75907982 --- /dev/null +++ b/taiga/external_apps/migrations/0003_auto_20170607_2320.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.2 on 2017-06-07 23:20 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('external_apps', '0002_remove_application_key'), + ] + + operations = [ + migrations.AlterModelOptions( + name='application', + options={'ordering': ['name', 'id'], 'verbose_name': 'application', 'verbose_name_plural': 'applications'}, + ), + migrations.AlterModelOptions( + name='applicationtoken', + options={'ordering': ['application', 'user'], 'verbose_name': 'application token', 'verbose_name_plural': 'application tolens'}, + ), + ] diff --git a/taiga/external_apps/models.py b/taiga/external_apps/models.py index c87159d5..c0a40466 100644 --- a/taiga/external_apps/models.py +++ b/taiga/external_apps/models.py @@ -43,7 +43,7 @@ class Application(models.Model): class Meta: verbose_name = "application" verbose_name_plural = "applications" - ordering = ["name"] + ordering = ["name", "id"] def __str__(self): return self.name @@ -64,6 +64,9 @@ class ApplicationToken(models.Model): state = models.CharField(max_length=255, null=True, blank=True, default="") class Meta: + verbose_name = "application token" + verbose_name_plural = "application tolens" + ordering = ["application", "user",] unique_together = ("application", "user",) def __str__(self): diff --git a/taiga/front/urls.py b/taiga/front/urls.py index 244e0a72..d5775d72 100644 --- a/taiga/front/urls.py +++ b/taiga/front/urls.py @@ -25,6 +25,7 @@ urls = { "forgot-password": "/forgot-password", "new-project": "/project/new", "new-project-import": "/project/new/import/{0}", + "settings-mail-notifications": "/user-settings/mail-notifications", "change-password": "/change-password/{0}", # user.token "change-email": "/change-email/{0}", # user.email_token diff --git a/taiga/locale/ca/LC_MESSAGES/django.po b/taiga/locale/ca/LC_MESSAGES/django.po index df4a1ab4..d675b3cf 100644 --- a/taiga/locale/ca/LC_MESSAGES/django.po +++ b/taiga/locale/ca/LC_MESSAGES/django.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Catalan (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/ca/)\n" "MIME-Version: 1.0\n" @@ -57,8 +57,8 @@ msgid "Error on creating new user." msgstr "Error creant un nou usuari." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Token invàlid" @@ -188,12 +188,12 @@ msgstr "" "està corrupte." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "" @@ -246,19 +246,19 @@ msgstr "" msgid "Incorrect type. Expected url string, received %s." msgstr "" -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "" @@ -270,7 +270,7 @@ msgstr "" msgid "Permission denied" msgstr "" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "" @@ -349,12 +349,12 @@ msgstr "Precondició errònia." msgid "No room left for more projects." msgstr "" -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "" -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "" @@ -404,6 +404,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " , 2017 # Regina , 2015 # Sebastian Blum , 2015 # Silsha Fux , 2015 @@ -21,9 +22,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: German (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/de/)\n" "MIME-Version: 1.0\n" @@ -69,8 +70,8 @@ msgid "Error on creating new user." msgstr "Fehler bei der Erstellung des neuen Benutzers." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Ungültiges Token" @@ -222,12 +223,12 @@ msgstr "" "haben, ist entweder kein Bild oder defekt." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Blockiertes Element" @@ -280,21 +281,21 @@ msgstr "Ungültiger Hyperlink - Ziel existiert nicht." msgid "Incorrect type. Expected url string, received %s." msgstr "Falsche Eingabe. Erwartet url Zeichenkette, erhalten %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Ungültige Daten" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Es gab keine Eingabe" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Es können nur existierende Einträge aktualisiert werden. Eine Neuerstellung " "ist nicht möglich." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Es wurde eine Liste von Einträgen erwartet." @@ -306,7 +307,7 @@ msgstr "Nicht gefunden." msgid "Permission denied" msgstr "Zugriff verweigert" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Fehler bei der Serveranmeldung" @@ -385,12 +386,12 @@ msgstr "Voraussetzungsfehler" msgid "No room left for more projects." msgstr "Kein Raum für weitere Projekte." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Fehler in Filter Parameter Typen." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' muss ein Integer-Wert sein." @@ -440,6 +441,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " {comment_message}" msgstr "" +"Kommentar von {platform}:\n" +"\n" +"> {comment_message}" #: taiga/hooks/event_hooks.py:84 msgid "Invalid issue comment information" @@ -1081,7 +1091,7 @@ msgstr "" #: taiga/hooks/event_hooks.py:107 #, python-brace-format msgid "Issue created from {platform}." -msgstr "" +msgstr "Problem erstellt von {platform}." #: taiga/hooks/event_hooks.py:120 msgid "Invalid issue information" @@ -1089,13 +1099,13 @@ msgstr "Ungültige Ticket-Information" #: taiga/hooks/event_hooks.py:149 taiga/hooks/event_hooks.py:171 msgid "unknown user" -msgstr "" +msgstr "unbekannter User" #: taiga/hooks/event_hooks.py:156 #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" @@ -1112,7 +1122,7 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" @@ -1132,7 +1142,7 @@ msgstr "Der Status existiert nicht" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" @@ -1168,27 +1178,31 @@ msgstr "" msgid "Error importing GitHub project" msgstr "" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" msgstr "" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" +msgstr "Ungülter Projekttyp!" + +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." msgstr "" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "Ungültiger oder abgelaufener Auth Token" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "Fehler beim Importieren des Jira Projektes" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "Fehler beim Importieren des PivotalTracker Projektes" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1222,7 +1236,7 @@ msgstr "" #: taiga/importers/templates/emails/asana_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Asana project has been imported" -msgstr "" +msgstr "[%(project)s] Deine Asana Projekt wurde erfolgreich importiert" #: taiga/importers/templates/emails/github_import_success-body-html.jinja:4 #, python-format @@ -1256,7 +1270,7 @@ msgstr "" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr "[%(project)s] Deine GitHub Projekt wurde erfolgreich importiert" #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1290,7 +1304,7 @@ msgstr "" #: taiga/importers/templates/emails/jira_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Jira project has been imported" -msgstr "" +msgstr "[%(project)s] Dein Jira Projekt wurde erfolgreich importiert" #: taiga/importers/templates/emails/trello_import_success-body-html.jinja:4 #, python-format @@ -1324,12 +1338,12 @@ msgstr "" #: taiga/importers/templates/emails/trello_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Trello project has been imported" -msgstr "" +msgstr "[%(project)s] Dein Trello Projekt wurde erfolgreich importiert" #: taiga/importers/trello/importer.py:78 #, python-format msgid "Invalid Request: %s at %s" -msgstr "" +msgstr "Ungültiger Request : %s in %s" #: taiga/importers/trello/importer.py:80 taiga/importers/trello/importer.py:82 #, python-format @@ -1523,7 +1537,7 @@ msgstr "" #: taiga/projects/admin.py:125 msgid "Activity" -msgstr "" +msgstr "Aktivität" #: taiga/projects/admin.py:130 msgid "Fans" @@ -1561,35 +1575,41 @@ msgstr "" msgid "Delete selected %(verbose_name_plural)s" msgstr "" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "Unvollständige Argumente" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "Ungültiges Bildformat" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "Unglültiger Templatename" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "Ungültige Templatebeschreibung" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "Ungültige Benutzer-Id" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "Der Benutzer existiert nicht" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "Der Benutzer muss bereits Mitglied des Projektes sein" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" @@ -1597,7 +1617,7 @@ msgstr "" "Das Projekt muss einen Eigentümer haben und mindestens ein Benutzer muss ein " "aktiver Administrator sein" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "Sie haben keine Berechtigungen für diese Ansicht" @@ -1616,15 +1636,15 @@ msgstr "Nr. unterschreidet sich zwischen dem Objekt und dem Projekt" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "Projekt" @@ -1640,7 +1660,7 @@ msgstr "Objekt Nr." #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1665,11 +1685,11 @@ msgstr "" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "Reihenfolge" @@ -1826,11 +1846,11 @@ msgstr "" msgid "subject" msgstr "Betreff" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "Farbe" @@ -1945,7 +1965,7 @@ msgid "Unassigned" msgstr "Nicht zugewiesen" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-gelöscht-" @@ -1978,12 +1998,12 @@ msgid "removed:" msgstr "entfernt:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "Von:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "An:" @@ -2001,27 +2021,27 @@ msgstr "Blockierungsgrund" msgid "sprint" msgstr "Sprint" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diesen Sprint zu setzen." -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diesen Status zu setzen. " -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diese Gewichtung zu setzen." -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diese Priorität zu setzen. " -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "Sie haben nicht die Berechtigung, das Ticket auf diese Art zu setzen." @@ -2051,10 +2071,10 @@ msgid "Likes" msgstr "Likes" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "Slug" @@ -2066,9 +2086,9 @@ msgstr "geschätzter Starttermin" msgid "estimated finish date" msgstr "geschätzter Endtermin" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "ist geschlossen" @@ -2117,7 +2137,7 @@ msgstr "E-Mail" msgid "create at" msgstr "erstellt am " -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "Token" @@ -2125,7 +2145,7 @@ msgstr "Token" msgid "invitation extra text" msgstr "Einladung Zusatztext " -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "Benutzerreihenfolge" @@ -2181,35 +2201,35 @@ msgstr "Meilensteine Gesamt" msgid "total story points" msgstr "Story Punkte insgesamt" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "aktives Backlog Panel" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "aktives Kanban Panel" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "aktives Wiki Panel" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "aktives Tickets Panel" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "Videokonferenzsystem" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "Zusatzdaten Videokonferenz" @@ -2233,11 +2253,11 @@ msgstr "Rechte für registrierte Nutzer" msgid "is featured" msgstr "ist gekennzeichnet" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "sucht nach Mitarbeitern" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "" @@ -2282,80 +2302,80 @@ msgstr "Aktivitäten letzten Monat" msgid "activity last year" msgstr "Aktivitäten letztes Jahr" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "Module konfigurieren" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "ist archiviert" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "Ausführungslimit" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "Wert" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "voreingestellte Besitzerrolle" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "Vorgabe Optionen" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "User-Story Status " -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "Punkte" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "Aufgaben Status" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "Ticket Status" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "Ticket Arten" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "Prioritäten" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "Gewichtung" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "Rollen" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" msgstr "" @@ -2388,12 +2408,12 @@ msgstr "Benutzer benachrichtigen" msgid "Watched" msgstr "Beobachtet" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "Benachrichtigung für bestimmte Benutzer und Projekt aktiviert" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "Ungültiger Wert für Benachrichtigungslevel" @@ -3375,18 +3395,18 @@ msgstr "" msgid "The tag doesn't exist." msgstr "" -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "" "Sie haben nicht die Berechtigung, diesen Sprint auf diese Aufgabe zu setzen" -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "" "Sie haben nicht die Berechtigung, diese User-Story auf diese Aufgabe zu " "setzen" -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "" "Sie haben nicht die Berechtigung, diesen Status auf diese Aufgabe zu setzen." @@ -4068,29 +4088,29 @@ msgstr "Projekteigentümer " msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Sie haben nicht die Berechtigung, diesen Sprint auf diese User-Story zu " "setzen." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "" "Sie haben nicht die Berechtigung, diesen Status auf diese User-Story zu " "setzen." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Erstelle die User-Story #{ref} - {subject}" @@ -4320,11 +4340,11 @@ msgstr "" msgid "Invalid, are you sure the token is correct?" msgstr "Ungültig. Sind Sie sicher, dass das Token korrekt ist?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "Superuser Status" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -4332,25 +4352,25 @@ msgstr "" "Dieser Benutzer soll alle Berechtigungen erhalten, ohne dass diese zuvor " "zugewiesen werden müssen. " -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "Benutzername" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" "Benötigt. 30 Zeichen oder weniger.. Buchstaben, Zahlen und /./-/_ Zeichen" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "Geben Sie einen gültigen Benuzternamen ein." -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "aktiv" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -4358,59 +4378,59 @@ msgstr "" "Kennzeichnet den Benutzer als aktiv. Deaktiviere die Option anstelle einen " "Benutzer zu löschen." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "Über mich" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "Foto" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "Beitrittsdatum" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "Vorgegebene Sprache" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "Standard-Theme" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "Vorgegebene Zeitzone" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "Tag-Farben" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "E-Mail Token" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "neue E-Mail Adresse" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "Berechtigungen" diff --git a/taiga/locale/en/LC_MESSAGES/django.po b/taiga/locale/en/LC_MESSAGES/django.po index 52aa6596..ba867c8c 100644 --- a/taiga/locale/en/LC_MESSAGES/django.po +++ b/taiga/locale/en/LC_MESSAGES/django.po @@ -1,394 +1,403 @@ # taiga-back.taiga. # Copyright (C) 2014-2017 Taiga Dev Team # This file is distributed under the same license as the taiga-back package. -# FIRST AUTHOR , YEAR. # +# Translators: +# Hotellook, 2014 +# Matjaž Mozetič , 2015 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2015-03-25 20:09+0100\n" -"Last-Translator: Taiga Dev Team \n" -"Language-Team: Taiga Dev Team \n" -"Language: en\n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" +"Language-Team: English (http://www.transifex.com/taiga-agile-llc/taiga-back/" +"language/en/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: taiga/auth/api.py:74 msgid "Public register is disabled." -msgstr "" +msgstr "Public register is disabled." #: taiga/auth/api.py:101 msgid "invalid register type" -msgstr "" +msgstr "invalid register type" #: taiga/auth/api.py:117 msgid "invalid login type" -msgstr "" +msgstr "invalid login type" #: taiga/auth/services.py:76 msgid "Username is already in use." -msgstr "" +msgstr "Username is already in use." #: taiga/auth/services.py:79 msgid "Email is already in use." -msgstr "" +msgstr "Email is already in use." #: taiga/auth/services.py:95 msgid "Token not matches any valid invitation." -msgstr "" +msgstr "Token not matches any valid invitation." #: taiga/auth/services.py:123 msgid "User is already registered." -msgstr "" +msgstr "User is already registered." #: taiga/auth/services.py:140 msgid "This user is already a member of the project." -msgstr "" +msgstr "This user is already a member of the project." #: taiga/auth/services.py:164 msgid "Error on creating new user." -msgstr "" +msgstr "Error on creating new user." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" -msgstr "" +msgstr "Invalid token" #: taiga/auth/validators.py:37 taiga/users/validators.py:44 msgid "invalid username" -msgstr "" +msgstr "invalid username" #: taiga/auth/validators.py:42 taiga/users/validators.py:50 msgid "" "Required. 255 characters or fewer. Letters, numbers and /./-/_ characters'" msgstr "" +"Required. 255 characters or fewer. Letters, numbers and /./-/_ characters'" #: taiga/base/api/fields.py:294 msgid "This field is required." -msgstr "" +msgstr "This field is required." #: taiga/base/api/fields.py:295 taiga/base/api/relations.py:337 msgid "Invalid value." -msgstr "" +msgstr "Invalid value." #: taiga/base/api/fields.py:484 #, python-format msgid "'%s' value must be either True or False." -msgstr "" +msgstr "'%s' value must be either True or False." #: taiga/base/api/fields.py:549 msgid "" "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." msgstr "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." #: taiga/base/api/fields.py:564 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" +msgstr "Select a valid choice. %(value)s is not one of the available choices." #: taiga/base/api/fields.py:638 msgid "You email domain is not allowed" -msgstr "" +msgstr "You email domain is not allowed" #: taiga/base/api/fields.py:647 msgid "Enter a valid email address." -msgstr "" +msgstr "Enter a valid email address." #: taiga/base/api/fields.py:689 #, python-format msgid "Date has wrong format. Use one of these formats instead: %s" -msgstr "" +msgstr "Date has wrong format. Use one of these formats instead: %s" #: taiga/base/api/fields.py:753 #, python-format msgid "Datetime has wrong format. Use one of these formats instead: %s" -msgstr "" +msgstr "Datetime has wrong format. Use one of these formats instead: %s" #: taiga/base/api/fields.py:823 #, python-format msgid "Time has wrong format. Use one of these formats instead: %s" -msgstr "" +msgstr "Time has wrong format. Use one of these formats instead: %s" #: taiga/base/api/fields.py:880 msgid "Enter a whole number." -msgstr "" +msgstr "Enter a whole number." #: taiga/base/api/fields.py:881 taiga/base/api/fields.py:934 #, python-format msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" +msgstr "Ensure this value is less than or equal to %(limit_value)s." #: taiga/base/api/fields.py:882 taiga/base/api/fields.py:935 #, python-format msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" +msgstr "Ensure this value is greater than or equal to %(limit_value)s." #: taiga/base/api/fields.py:912 #, python-format msgid "\"%s\" value must be a float." -msgstr "" +msgstr "\"%s\" value must be a float." #: taiga/base/api/fields.py:933 msgid "Enter a number." -msgstr "" +msgstr "Enter a number." #: taiga/base/api/fields.py:936 #, python-format msgid "Ensure that there are no more than %s digits in total." -msgstr "" +msgstr "Ensure that there are no more than %s digits in total." #: taiga/base/api/fields.py:937 #, python-format msgid "Ensure that there are no more than %s decimal places." -msgstr "" +msgstr "Ensure that there are no more than %s decimal places." #: taiga/base/api/fields.py:938 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "" +msgstr "Ensure that there are no more than %s digits before the decimal point." #: taiga/base/api/fields.py:1005 msgid "No file was submitted. Check the encoding type on the form." -msgstr "" +msgstr "No file was submitted. Check the encoding type on the form." #: taiga/base/api/fields.py:1006 msgid "No file was submitted." -msgstr "" +msgstr "No file was submitted." #: taiga/base/api/fields.py:1007 msgid "The submitted file is empty." -msgstr "" +msgstr "The submitted file is empty." #: taiga/base/api/fields.py:1008 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." #: taiga/base/api/fields.py:1009 msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" +msgstr "Please either submit a file or check the clear checkbox, not both." #: taiga/base/api/fields.py:1049 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" -msgstr "" +msgstr "Blocked element" #: taiga/base/api/pagination.py:228 msgid "Page is not 'last', nor can it be converted to an int." -msgstr "" +msgstr "Page is not 'last', nor can it be converted to an int." #: taiga/base/api/pagination.py:232 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" +msgstr "Invalid page (%(page_number)s): %(message)s" #: taiga/base/api/permissions.py:65 msgid "Invalid permission definition." -msgstr "" +msgstr "Invalid permission definition." #: taiga/base/api/relations.py:247 #, python-format msgid "Invalid pk '%s' - object does not exist." -msgstr "" +msgstr "Invalid pk '%s' - object does not exist." #: taiga/base/api/relations.py:248 #, python-format msgid "Incorrect type. Expected pk value, received %s." -msgstr "" +msgstr "Incorrect type. Expected pk value, received %s." #: taiga/base/api/relations.py:336 #, python-format msgid "Object with %s=%s does not exist." -msgstr "" +msgstr "Object with %s=%s does not exist." #: taiga/base/api/relations.py:372 msgid "Invalid hyperlink - No URL match" -msgstr "" +msgstr "Invalid hyperlink - No URL match" #: taiga/base/api/relations.py:373 msgid "Invalid hyperlink - Incorrect URL match" -msgstr "" +msgstr "Invalid hyperlink - Incorrect URL match" #: taiga/base/api/relations.py:374 msgid "Invalid hyperlink due to configuration error" -msgstr "" +msgstr "Invalid hyperlink due to configuration error" #: taiga/base/api/relations.py:375 msgid "Invalid hyperlink - object does not exist." -msgstr "" +msgstr "Invalid hyperlink - object does not exist." #: taiga/base/api/relations.py:376 #, python-format msgid "Incorrect type. Expected url string, received %s." -msgstr "" +msgstr "Incorrect type. Expected url string, received %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" -msgstr "" +msgstr "Invalid data" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" -msgstr "" +msgstr "No input provided" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." -msgstr "" +msgstr "Cannot create a new item, only existing items may be updated." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." -msgstr "" +msgstr "Expected a list of items." #: taiga/base/api/views.py:126 msgid "Not found" -msgstr "" +msgstr "Not found" #: taiga/base/api/views.py:129 msgid "Permission denied" -msgstr "" +msgstr "Permission denied" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" -msgstr "" +msgstr "Server application error" #: taiga/base/connectors/exceptions.py:26 msgid "Connection error." -msgstr "" +msgstr "Connection error." #: taiga/base/exceptions.py:79 msgid "Malformed request." -msgstr "" +msgstr "Malformed request." #: taiga/base/exceptions.py:84 msgid "Incorrect authentication credentials." -msgstr "" +msgstr "Incorrect authentication credentials." #: taiga/base/exceptions.py:89 msgid "Authentication credentials were not provided." -msgstr "" +msgstr "Authentication credentials were not provided." #: taiga/base/exceptions.py:94 msgid "You do not have permission to perform this action." -msgstr "" +msgstr "You do not have permission to perform this action." #: taiga/base/exceptions.py:99 #, python-format msgid "Method '%s' not allowed." -msgstr "" +msgstr "Method '%s' not allowed." #: taiga/base/exceptions.py:107 msgid "Could not satisfy the request's Accept header" -msgstr "" +msgstr "Could not satisfy the request's Accept header" #: taiga/base/exceptions.py:116 #, python-format msgid "Unsupported media type '%s' in request." -msgstr "" +msgstr "Unsupported media type '%s' in request." #: taiga/base/exceptions.py:124 msgid "Request was throttled." -msgstr "" +msgstr "Request was throttled." #: taiga/base/exceptions.py:125 #, python-format msgid "Expected available in %d second%s." -msgstr "" +msgstr "Expected available in %d second%s." #: taiga/base/exceptions.py:139 msgid "Unexpected error" -msgstr "" +msgstr "Unexpected error" #: taiga/base/exceptions.py:151 msgid "Not found." -msgstr "" +msgstr "Not found." #: taiga/base/exceptions.py:156 msgid "Method not supported for this endpoint." -msgstr "" +msgstr "Method not supported for this endpoint." #: taiga/base/exceptions.py:164 taiga/base/exceptions.py:172 msgid "Wrong arguments." -msgstr "" +msgstr "Wrong arguments." #: taiga/base/exceptions.py:176 msgid "Data validation error" -msgstr "" +msgstr "Data validation error" #: taiga/base/exceptions.py:188 msgid "Integrity Error for wrong or invalid arguments" -msgstr "" +msgstr "Integrity Error for wrong or invalid arguments" #: taiga/base/exceptions.py:195 msgid "Precondition error" -msgstr "" +msgstr "Precondition error" #: taiga/base/exceptions.py:219 msgid "No room left for more projects." -msgstr "" +msgstr "No room left for more projects." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." -msgstr "" +msgstr "Error in filter params types." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." -msgstr "" +msgstr "'project' must be an integer value." #: taiga/base/templates/emails/base-body-html.jinja:6 msgid "Taiga" -msgstr "" +msgstr "Taiga" #: taiga/base/templates/emails/base-body-html.jinja:421 #: taiga/base/templates/emails/hero-body-html.jinja:380 #: taiga/base/templates/emails/updates-body-html.jinja:442 msgid "Follow us on Twitter" -msgstr "" +msgstr "Follow us on Twitter" #: taiga/base/templates/emails/base-body-html.jinja:421 #: taiga/base/templates/emails/hero-body-html.jinja:380 #: taiga/base/templates/emails/updates-body-html.jinja:442 msgid "Twitter" -msgstr "" +msgstr "Twitter" #: taiga/base/templates/emails/base-body-html.jinja:422 #: taiga/base/templates/emails/hero-body-html.jinja:381 #: taiga/base/templates/emails/updates-body-html.jinja:443 msgid "Get the code on GitHub" -msgstr "" +msgstr "Get the code on GitHub" #: taiga/base/templates/emails/base-body-html.jinja:422 #: taiga/base/templates/emails/hero-body-html.jinja:381 #: taiga/base/templates/emails/updates-body-html.jinja:443 msgid "GitHub" -msgstr "" +msgstr "GitHub" #: taiga/base/templates/emails/base-body-html.jinja:423 #: taiga/base/templates/emails/hero-body-html.jinja:382 #: taiga/base/templates/emails/updates-body-html.jinja:444 msgid "Visit our website" -msgstr "" +msgstr "Visit our website" #: taiga/base/templates/emails/base-body-html.jinja:423 #: taiga/base/templates/emails/hero-body-html.jinja:382 #: taiga/base/templates/emails/updates-body-html.jinja:444 msgid "Taiga.io" -msgstr "" +msgstr "Taiga.io" #: taiga/base/templates/emails/base-body-html.jinja:438 #: taiga/base/templates/emails/hero-body-html.jinja:397 @@ -396,6 +405,12 @@ msgstr "" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " \n" " " msgstr "" +"\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" +" Taiga Support:\n" +" %(support_url)s\n" +"
\n" +" Contact us:\n" +" \n" +" %(support_email)s\n" +" \n" +"
\n" +" Mailing list:\n" +" \n" +" %(mailing_list_url)s\n" +" \n" +" " #: taiga/base/templates/emails/hero-body-html.jinja:6 msgid "You have been Taigatized" -msgstr "" +msgstr "You have been Taigatized" #: taiga/base/templates/emails/hero-body-html.jinja:359 msgid "" @@ -430,14 +471,20 @@ msgid "" "Source, Agile Project Management Tool

\n" " " msgstr "" +"\n" +"

You have been Taigatized!" +"

\n" +"

Welcome to Taiga, an Open " +"Source, Agile Project Management Tool

\n" +" " #: taiga/base/templates/emails/updates-body-html.jinja:6 msgid "[Taiga] Updates" -msgstr "" +msgstr "[Taiga] Updates" #: taiga/base/templates/emails/updates-body-html.jinja:417 msgid "Updates" -msgstr "" +msgstr "Updates" #: taiga/base/templates/emails/updates-body-html.jinja:423 #, python-format @@ -449,6 +496,12 @@ msgid "" "%(comment)s

\n" " " msgstr "" +"\n" +"

comment:" +"

\n" +"

" +"%(comment)s

\n" +" " #: taiga/base/templates/emails/updates-body-text.jinja:6 #, python-format @@ -457,87 +510,90 @@ msgid "" " Comment: %(comment)s\n" " " msgstr "" +"\n" +" Comment: %(comment)s\n" +" " #: taiga/export_import/api.py:127 msgid "We needed at least one role" -msgstr "" +msgstr "We needed at least one role" #: taiga/export_import/api.py:323 msgid "Needed dump file" -msgstr "" +msgstr "Needed dump file" #: taiga/export_import/api.py:333 msgid "Invalid dump format" -msgstr "" +msgstr "Invalid dump format" -#: taiga/export_import/services/store.py:718 -#: taiga/export_import/services/store.py:736 +#: taiga/export_import/services/store.py:722 +#: taiga/export_import/services/store.py:740 msgid "error importing project data" -msgstr "" +msgstr "error importing project data" -#: taiga/export_import/services/store.py:743 +#: taiga/export_import/services/store.py:747 msgid "error importing roles" -msgstr "" +msgstr "error importing roles" -#: taiga/export_import/services/store.py:748 +#: taiga/export_import/services/store.py:752 msgid "error importing memberships" -msgstr "" - -#: taiga/export_import/services/store.py:759 -msgid "error importing lists of project attributes" -msgstr "" +msgstr "error importing memberships" #: taiga/export_import/services/store.py:763 -msgid "error importing default project attributes values" -msgstr "" +msgid "error importing lists of project attributes" +msgstr "error importing lists of project attributes" -#: taiga/export_import/services/store.py:774 -msgid "error importing custom attributes" -msgstr "" +#: taiga/export_import/services/store.py:767 +msgid "error importing default project attributes values" +msgstr "error importing default project attributes values" #: taiga/export_import/services/store.py:778 -msgid "error importing sprints" -msgstr "" +msgid "error importing custom attributes" +msgstr "error importing custom attributes" #: taiga/export_import/services/store.py:782 -msgid "error importing issues" -msgstr "" +msgid "error importing sprints" +msgstr "error importing sprints" #: taiga/export_import/services/store.py:786 -msgid "error importing user stories" -msgstr "" +msgid "error importing issues" +msgstr "error importing issues" #: taiga/export_import/services/store.py:790 -msgid "error importing epics" -msgstr "" +msgid "error importing user stories" +msgstr "error importing user stories" #: taiga/export_import/services/store.py:794 -msgid "error importing tasks" -msgstr "" +msgid "error importing epics" +msgstr "error importing epics" #: taiga/export_import/services/store.py:798 -msgid "error importing wiki pages" -msgstr "" +msgid "error importing tasks" +msgstr "error importing tasks" #: taiga/export_import/services/store.py:802 -msgid "error importing wiki links" -msgstr "" +msgid "error importing wiki pages" +msgstr "error importing wiki pages" #: taiga/export_import/services/store.py:806 -msgid "error importing tags" -msgstr "" +msgid "error importing wiki links" +msgstr "error importing wiki links" #: taiga/export_import/services/store.py:810 -msgid "error importing timelines" -msgstr "" +msgid "error importing tags" +msgstr "error importing tags" -#: taiga/export_import/services/store.py:832 +#: taiga/export_import/services/store.py:814 +msgid "error importing timelines" +msgstr "error importing timelines" + +#: taiga/export_import/services/store.py:836 msgid "unexpected error importing project" -msgstr "" +msgstr "unexpected error importing project" #: taiga/export_import/tasks.py:62 taiga/export_import/tasks.py:63 msgid "Error generating project dump" -msgstr "" +msgstr "Error generating project dump" #: taiga/export_import/tasks.py:91 #, python-brace-format @@ -558,18 +614,33 @@ msgid "" "TRACE ERROR:\n" "------------" msgstr "" +"\n" +"\n" +"Error loading dump by {user_full_name} <{user_email}>:\"\n" +"\n" +"\n" +"REASON:\n" +"-------\n" +"{reason}\n" +"\n" +"DETAILS:\n" +"--------\n" +"{details}\n" +"\n" +"TRACE ERROR:\n" +"------------" #: taiga/export_import/tasks.py:120 msgid "Error loading project dump" -msgstr "" +msgstr "Error loading project dump" #: taiga/export_import/tasks.py:121 msgid "Error loading your project dump file" -msgstr "" +msgstr "Error loading your project dump file" #: taiga/export_import/tasks.py:135 msgid " -- no detail info --" -msgstr "" +msgstr " -- no detail info --" #: taiga/export_import/templates/emails/dump_project-body-html.jinja:4 #, python-format @@ -586,6 +657,17 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Project dump generated

\n" +"

Hello %(user)s,

\n" +"

Your dump from project %(project)s has been correctly generated.\n" +"

You can download it here:

\n" +" Download the dump file\n" +"

This file will be deleted on %(deletion_date)s.

\n" +"

The Taiga Team

\n" +" " #: taiga/export_import/templates/emails/dump_project-body-text.jinja:1 #, python-format @@ -603,11 +685,23 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"Your dump from project %(project)s has been correctly generated. You can " +"download it here:\n" +"\n" +"%(url)s\n" +"\n" +"This file will be deleted on %(deletion_date)s.\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/export_import/templates/emails/dump_project-subject.jinja:1 #, python-format msgid "[%(project)s] Your project dump has been generated" -msgstr "" +msgstr "[%(project)s] Your project dump has been generated" #: taiga/export_import/templates/emails/export_error-body-html.jinja:4 #, python-format @@ -623,6 +717,16 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

%(error_message)s

\n" +"

Hello %(user)s,

\n" +"

Your project %(project)s has not been exported correctly.

\n" +"

The Taiga system administrators have been informed.
Please, try " +"it again or contact with the support team at\n" +" %(support_email)s

\n" +"

The Taiga Team

\n" +" " #: taiga/export_import/templates/emails/export_error-body-text.jinja:1 #, python-format @@ -640,11 +744,23 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"%(error_message)s\n" +"Your project %(project)s has not been exported correctly.\n" +"\n" +"The Taiga system administrators have been informed.\n" +"\n" +"Please, try it again or contact with the support team at %(support_email)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/export_import/templates/emails/export_error-subject.jinja:1 #, python-format msgid "[%(project)s] %(error_subject)s" -msgstr "" +msgstr "[%(project)s] %(error_subject)s" #: taiga/export_import/templates/emails/import_error-body-html.jinja:4 #: taiga/importers/templates/emails/importer_import_error-body-html.jinja:4 @@ -661,6 +777,16 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

%(error_message)s

\n" +"

Hello %(user)s,

\n" +"

Your project has not been importer correctly.

\n" +"

The Taiga system administrators have been informed.
Please, try " +"it again or contact with the support team at\n" +" %(support_email)s

\n" +"

The Taiga Team

\n" +" " #: taiga/export_import/templates/emails/import_error-body-text.jinja:1 #: taiga/importers/templates/emails/importer_import_error-body-text.jinja:1 @@ -680,12 +806,25 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"%(error_message)s\n" +"\n" +"Your project has not been importer correctly.\n" +"\n" +"The Taiga system administrators have been informed.\n" +"\n" +"Please, try it again or contact with the support team at %(support_email)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/export_import/templates/emails/import_error-subject.jinja:1 #: taiga/importers/templates/emails/importer_import_error-subject.jinja:1 #, python-format msgid "[Taiga] %(error_subject)s" -msgstr "" +msgstr "[Taiga] %(error_subject)s" #: taiga/export_import/templates/emails/load_dump-body-html.jinja:4 #, python-format @@ -699,6 +838,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Project dump imported

\n" +"

Hello %(user)s,

\n" +"

Your project dump has been correctly imported.

\n" +" Go to %(project)s\n" +"

The Taiga Team

\n" +" " #: taiga/export_import/templates/emails/load_dump-body-text.jinja:1 #, python-format @@ -715,103 +862,114 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"Your project dump has been correctly imported.\n" +"\n" +"You can see the project %(project)s here:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/export_import/templates/emails/load_dump-subject.jinja:1 #, python-format msgid "[%(project)s] Your project dump has been imported" -msgstr "" +msgstr "[%(project)s] Your project dump has been imported" #: taiga/export_import/validators/fields.py:144 msgid "{}=\"{}\" not found in this project" -msgstr "" +msgstr "{}=\"{}\" not found in this project" #: taiga/export_import/validators/validators.py:150 #: taiga/projects/custom_attributes/validators.py:109 msgid "Invalid content. It must be {\"key\": \"value\",...}" -msgstr "" +msgstr "Invalid content. It must be {\"key\": \"value\",...}" #: taiga/export_import/validators/validators.py:165 #: taiga/projects/custom_attributes/validators.py:124 msgid "It contain invalid custom fields." -msgstr "" +msgstr "It contain invalid custom fields." #: taiga/export_import/validators/validators.py:245 #: taiga/projects/validators.py:54 msgid "Name duplicated for the project" -msgstr "" +msgstr "Name duplicated for the project" #: taiga/external_apps/api.py:43 taiga/external_apps/api.py:70 #: taiga/external_apps/api.py:77 msgid "Authentication required" -msgstr "" +msgstr "Authentication required" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" -msgstr "" +msgstr "name" #: taiga/external_apps/models.py:37 msgid "Icon url" -msgstr "" +msgstr "Icon url" #: taiga/external_apps/models.py:38 msgid "web" -msgstr "" +msgstr "web" #: taiga/external_apps/models.py:39 taiga/projects/attachments/models.py:62 #: taiga/projects/custom_attributes/models.py:37 #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" -msgstr "" +msgstr "description" #: taiga/external_apps/models.py:41 msgid "Next url" -msgstr "" +msgstr "Next url" #: taiga/external_apps/models.py:55 taiga/projects/contact/models.py:26 #: taiga/projects/likes/models.py:31 taiga/projects/notifications/models.py:87 #: taiga/projects/votes/models.py:52 msgid "user" -msgstr "" +msgstr "user" #: taiga/external_apps/models.py:59 msgid "application" -msgstr "" +msgstr "application" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" -msgstr "" +msgstr "full name" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" -msgstr "" +msgstr "email address" #: taiga/feedback/models.py:29 taiga/projects/contact/models.py:31 msgid "comment" -msgstr "" +msgstr "comment" #: taiga/feedback/models.py:31 taiga/projects/attachments/models.py:48 #: taiga/projects/contact/models.py:34 #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 msgid "created date" -msgstr "" +msgstr "created date" #: taiga/feedback/templates/emails/feedback_notification-body-html.jinja:4 #, python-format @@ -821,6 +979,10 @@ msgid "" "

Taiga has received feedback from %(full_name)s <%(email)s>

\n" " " msgstr "" +"\n" +"

Feedback

\n" +"

Taiga has received feedback from %(full_name)s <%(email)s>

\n" +" " #: taiga/feedback/templates/emails/feedback_notification-body-html.jinja:9 #, python-format @@ -830,11 +992,15 @@ msgid "" "

%(comment)s

\n" " " msgstr "" +"\n" +"

Comment

\n" +"

%(comment)s

\n" +" " #: taiga/feedback/templates/emails/feedback_notification-body-html.jinja:18 #: taiga/projects/admin.py:106 taiga/users/admin.py:120 msgid "Extra info" -msgstr "" +msgstr "Extra info" #: taiga/feedback/templates/emails/feedback_notification-body-text.jinja:1 #, python-format @@ -846,10 +1012,16 @@ msgid "" "%(comment)s\n" "---------" msgstr "" +"---------\n" +"- From: %(full_name)s <%(email)s>\n" +"---------\n" +"- Comment:\n" +"%(comment)s\n" +"---------" #: taiga/feedback/templates/emails/feedback_notification-body-text.jinja:8 msgid "- Extra info:" -msgstr "" +msgstr "- Extra info:" #: taiga/feedback/templates/emails/feedback_notification-subject.jinja:1 #, python-format @@ -857,20 +1029,22 @@ msgid "" "\n" "[Taiga] Feedback from %(full_name)s <%(email)s>\n" msgstr "" +"\n" +"[Taiga] Feedback from %(full_name)s <%(email)s>\n" #: taiga/hooks/api.py:54 msgid "The payload is not a valid json" -msgstr "" +msgstr "The payload is not a valid json" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" -msgstr "" +msgstr "The project doesn't exist" #: taiga/hooks/api.py:66 msgid "Bad signature" -msgstr "" +msgstr "Bad signature" #: taiga/hooks/event_hooks.py:66 #, python-brace-format @@ -880,6 +1054,10 @@ msgid "" "\n" "\"{comment_message}\"" msgstr "" +"[@{user_name}]({user_url} \"See @{user_name}'s {platform} profile\") says in " +"[{platform}#{number}]({comment_url} \"Go to comment\"):\n" +"\n" +"\"{comment_message}\"" #: taiga/hooks/event_hooks.py:71 #, python-brace-format @@ -888,10 +1066,13 @@ msgid "" "\n" "> {comment_message}" msgstr "" +"Comment From {platform}:\n" +"\n" +"> {comment_message}" #: taiga/hooks/event_hooks.py:84 msgid "Invalid issue comment information" -msgstr "" +msgstr "Invalid issue comment information" #: taiga/hooks/event_hooks.py:103 #, python-brace-format @@ -899,28 +1080,34 @@ msgid "" "Issue created by [@{user_name}]({user_url} \"See @{user_name}'s {platform} " "profile\") from [{platform}#{number}]({url} \"Go to issue\")." msgstr "" +"Issue created by [@{user_name}]({user_url} \"See @{user_name}'s {platform} " +"profile\") from [{platform}#{number}]({url} \"Go to issue\")." #: taiga/hooks/event_hooks.py:107 #, python-brace-format msgid "Issue created from {platform}." -msgstr "" +msgstr "Issue created from {platform}." #: taiga/hooks/event_hooks.py:120 msgid "Invalid issue information" -msgstr "" +msgstr "Invalid issue information" #: taiga/hooks/event_hooks.py:149 taiga/hooks/event_hooks.py:171 msgid "unknown user" -msgstr "" +msgstr "unknown user" #: taiga/hooks/event_hooks.py:156 #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" +"{user_text} changed the status from [{platform} commit]({commit_url} \"See " +"commit '{commit_id} - {commit_short_message}'\")\n" +"\n" +" - Status: **{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:161 #, python-brace-format @@ -929,88 +1116,99 @@ msgid "" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" +"Changed status from {platform} commit.\n" +"\n" +" - Status: **{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:179 #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" +"This {type_name} has been mentioned by {user_text} in the [{platform} commit]" +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " +"\"{commit_message}\"" #: taiga/hooks/event_hooks.py:184 #, python-brace-format msgid "" "This issue has been mentioned in the {platform} commit \"{commit_message}\"" msgstr "" +"This issue has been mentioned in the {platform} commit \"{commit_message}\"" #: taiga/hooks/event_hooks.py:206 msgid "The referenced element doesn't exist" -msgstr "" +msgstr "The referenced element doesn't exist" #: taiga/hooks/event_hooks.py:222 msgid "The status doesn't exist" -msgstr "" +msgstr "The status doesn't exist" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" -msgstr "" +msgstr "The project param is needed" #: taiga/importers/asana/api.py:50 taiga/importers/asana/api.py:73 #: taiga/importers/asana/api.py:139 msgid "Invalid Asana API request" -msgstr "" +msgstr "Invalid Asana API request" #: taiga/importers/asana/api.py:52 taiga/importers/asana/api.py:75 #: taiga/importers/asana/api.py:141 msgid "Failed to make the request to Asana API" -msgstr "" +msgstr "Failed to make the request to Asana API" #: taiga/importers/asana/api.py:129 taiga/importers/github/api.py:123 msgid "Code param needed" -msgstr "" +msgstr "Code param needed" #: taiga/importers/asana/tasks.py:42 taiga/importers/asana/tasks.py:43 msgid "Error importing Asana project" -msgstr "" +msgstr "Error importing Asana project" #: taiga/importers/github/api.py:135 msgid "Invalid auth data" -msgstr "" +msgstr "Invalid auth data" #: taiga/importers/github/api.py:137 msgid "Third party service failing" -msgstr "" +msgstr "Third party service failing" #: taiga/importers/github/tasks.py:42 taiga/importers/github/tasks.py:43 msgid "Error importing GitHub project" -msgstr "" +msgstr "Error importing GitHub project" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" -msgstr "" +msgstr "The url param is needed" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" -msgstr "" +msgstr "Invalid project_type {}" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "Invalid Jira server configuration." + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "Invalid or expired auth token" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "Error importing Jira project" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "Error importing PivotalTracker project" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1024,6 +1222,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Asana Project imported

\n" +"

Hello %(user)s,

\n" +"

Your Asana project has been correctly imported.

\n" +" Go to %(project)s\n" +"

The Taiga Team

\n" +" " #: taiga/importers/templates/emails/asana_import_success-body-text.jinja:1 #, python-format @@ -1040,11 +1246,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"Your Asana project has been correctly imported.\n" +"\n" +"You can see the project %(project)s here:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/importers/templates/emails/asana_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Asana project has been imported" -msgstr "" +msgstr "[%(project)s] Your Asana project has been imported" #: taiga/importers/templates/emails/github_import_success-body-html.jinja:4 #, python-format @@ -1058,6 +1275,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

GitHub Project imported

\n" +"

Hello %(user)s,

\n" +"

Your GitHub project has been correctly imported.

\n" +" Go to %(project)s\n" +"

The Taiga Team

\n" +" " #: taiga/importers/templates/emails/github_import_success-body-text.jinja:1 #, python-format @@ -1074,11 +1299,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"Your GitHub project has been correctly imported.\n" +"\n" +"You can see the project %(project)s here:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr "[%(project)s] Your GitHub project has been imported" #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1092,6 +1328,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Jira Project imported

\n" +"

Hello %(user)s,

\n" +"

Your Jira project has been correctly imported.

\n" +" Go to %(project)s\n" +"

The Taiga Team

\n" +" " #: taiga/importers/templates/emails/jira_import_success-body-text.jinja:1 #, python-format @@ -1108,11 +1352,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"Your Jira project has been correctly imported.\n" +"\n" +"You can see the project %(project)s here:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/importers/templates/emails/jira_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Jira project has been imported" -msgstr "" +msgstr "[%(project)s] Your Jira project has been imported" #: taiga/importers/templates/emails/trello_import_success-body-html.jinja:4 #, python-format @@ -1126,6 +1381,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Trello Project imported

\n" +"

Hello %(user)s,

\n" +"

Your Trello project has been correctly imported.

\n" +" Go to %(project)s\n" +"

The Taiga Team

\n" +" " #: taiga/importers/templates/emails/trello_import_success-body-text.jinja:1 #, python-format @@ -1142,214 +1405,225 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(user)s,\n" +"\n" +"Your Trello project has been correctly imported.\n" +"\n" +"You can see the project %(project)s here:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/importers/templates/emails/trello_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Trello project has been imported" -msgstr "" +msgstr "[%(project)s] Your Trello project has been imported" #: taiga/importers/trello/importer.py:78 #, python-format msgid "Invalid Request: %s at %s" -msgstr "" +msgstr "Invalid Request: %s at %s" #: taiga/importers/trello/importer.py:80 taiga/importers/trello/importer.py:82 #, python-format msgid "Unauthorized: %s at %s" -msgstr "" +msgstr "Unauthorized: %s at %s" #: taiga/importers/trello/importer.py:84 taiga/importers/trello/importer.py:86 #, python-format msgid "Resource Unavailable: %s at %s" -msgstr "" +msgstr "Resource Unavailable: %s at %s" #: taiga/importers/trello/tasks.py:42 taiga/importers/trello/tasks.py:43 msgid "Error importing Trello project" -msgstr "" +msgstr "Error importing Trello project" #: taiga/permissions/choices.py:23 taiga/permissions/choices.py:34 msgid "View project" -msgstr "" +msgstr "View project" #: taiga/permissions/choices.py:24 taiga/permissions/choices.py:36 msgid "View milestones" -msgstr "" +msgstr "View milestones" #: taiga/permissions/choices.py:25 taiga/permissions/choices.py:41 msgid "View epic" -msgstr "" +msgstr "View epic" #: taiga/permissions/choices.py:26 msgid "View user stories" -msgstr "" +msgstr "View user stories" #: taiga/permissions/choices.py:27 taiga/permissions/choices.py:53 msgid "View tasks" -msgstr "" +msgstr "View tasks" #: taiga/permissions/choices.py:28 taiga/permissions/choices.py:59 msgid "View issues" -msgstr "" +msgstr "View issues" #: taiga/permissions/choices.py:29 taiga/permissions/choices.py:65 msgid "View wiki pages" -msgstr "" +msgstr "View wiki pages" #: taiga/permissions/choices.py:30 taiga/permissions/choices.py:71 msgid "View wiki links" -msgstr "" +msgstr "View wiki links" #: taiga/permissions/choices.py:37 msgid "Add milestone" -msgstr "" +msgstr "Add milestone" #: taiga/permissions/choices.py:38 msgid "Modify milestone" -msgstr "" +msgstr "Modify milestone" #: taiga/permissions/choices.py:39 msgid "Delete milestone" -msgstr "" +msgstr "Delete milestone" #: taiga/permissions/choices.py:42 msgid "Add epic" -msgstr "" +msgstr "Add epic" #: taiga/permissions/choices.py:43 msgid "Modify epic" -msgstr "" +msgstr "Modify epic" #: taiga/permissions/choices.py:44 msgid "Comment epic" -msgstr "" +msgstr "Comment epic" #: taiga/permissions/choices.py:45 msgid "Delete epic" -msgstr "" +msgstr "Delete epic" #: taiga/permissions/choices.py:47 msgid "View user story" -msgstr "" +msgstr "View user story" #: taiga/permissions/choices.py:48 msgid "Add user story" -msgstr "" +msgstr "Add user story" #: taiga/permissions/choices.py:49 msgid "Modify user story" -msgstr "" +msgstr "Modify user story" #: taiga/permissions/choices.py:50 msgid "Comment user story" -msgstr "" +msgstr "Comment user story" #: taiga/permissions/choices.py:51 msgid "Delete user story" -msgstr "" +msgstr "Delete user story" #: taiga/permissions/choices.py:54 msgid "Add task" -msgstr "" +msgstr "Add task" #: taiga/permissions/choices.py:55 msgid "Modify task" -msgstr "" +msgstr "Modify task" #: taiga/permissions/choices.py:56 msgid "Comment task" -msgstr "" +msgstr "Comment task" #: taiga/permissions/choices.py:57 msgid "Delete task" -msgstr "" +msgstr "Delete task" #: taiga/permissions/choices.py:60 msgid "Add issue" -msgstr "" +msgstr "Add issue" #: taiga/permissions/choices.py:61 msgid "Modify issue" -msgstr "" +msgstr "Modify issue" #: taiga/permissions/choices.py:62 msgid "Comment issue" -msgstr "" +msgstr "Comment issue" #: taiga/permissions/choices.py:63 msgid "Delete issue" -msgstr "" +msgstr "Delete issue" #: taiga/permissions/choices.py:66 msgid "Add wiki page" -msgstr "" +msgstr "Add wiki page" #: taiga/permissions/choices.py:67 msgid "Modify wiki page" -msgstr "" +msgstr "Modify wiki page" #: taiga/permissions/choices.py:68 msgid "Comment wiki page" -msgstr "" +msgstr "Comment wiki page" #: taiga/permissions/choices.py:69 msgid "Delete wiki page" -msgstr "" +msgstr "Delete wiki page" #: taiga/permissions/choices.py:72 msgid "Add wiki link" -msgstr "" +msgstr "Add wiki link" #: taiga/permissions/choices.py:73 msgid "Modify wiki link" -msgstr "" +msgstr "Modify wiki link" #: taiga/permissions/choices.py:74 msgid "Delete wiki link" -msgstr "" +msgstr "Delete wiki link" #: taiga/permissions/choices.py:78 msgid "Modify project" -msgstr "" +msgstr "Modify project" #: taiga/permissions/choices.py:79 msgid "Delete project" -msgstr "" +msgstr "Delete project" #: taiga/permissions/choices.py:80 msgid "Add member" -msgstr "" +msgstr "Add member" #: taiga/permissions/choices.py:81 msgid "Remove member" -msgstr "" +msgstr "Remove member" #: taiga/permissions/choices.py:82 msgid "Admin project values" -msgstr "" +msgstr "Admin project values" #: taiga/permissions/choices.py:83 msgid "Admin roles" -msgstr "" +msgstr "Admin roles" #: taiga/projects/admin.py:100 msgid "Privacity" -msgstr "" +msgstr "Privacity" #: taiga/projects/admin.py:111 msgid "Modules" -msgstr "" +msgstr "Modules" #: taiga/projects/admin.py:119 msgid "Default values" -msgstr "" +msgstr "Default values" #: taiga/projects/admin.py:125 msgid "Activity" -msgstr "" +msgstr "Activity" #: taiga/projects/admin.py:130 msgid "Fans" -msgstr "" +msgstr "Fans" #: taiga/projects/admin.py:144 taiga/projects/attachments/models.py:39 #: taiga/projects/epics/models.py:40 taiga/projects/issues/models.py:37 @@ -1358,172 +1632,182 @@ msgstr "" #: taiga/projects/userstories/models.py:69 taiga/projects/wiki/models.py:40 #: taiga/users/admin.py:69 taiga/userstorage/models.py:27 msgid "owner" -msgstr "" +msgstr "owner" #: taiga/projects/admin.py:192 #, python-brace-format msgid "{count} successfully made public." -msgstr "" +msgstr "{count} successfully made public." #: taiga/projects/admin.py:193 msgid "Make public" -msgstr "" +msgstr "Make public" #: taiga/projects/admin.py:207 #, python-brace-format msgid "{count} successfully made private." -msgstr "" +msgstr "{count} successfully made private." #: taiga/projects/admin.py:208 msgid "Make private" -msgstr "" +msgstr "Make private" #: taiga/projects/admin.py:238 #, python-format msgid "Delete selected %(verbose_name_plural)s" -msgstr "" +msgstr "Delete selected %(verbose_name_plural)s" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" -msgstr "" +msgstr "Incomplete arguments" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" -msgstr "" +msgstr "Invalid image format" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" -msgstr "" +msgstr "Not valid template name" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" -msgstr "" +msgstr "Not valid template description" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" -msgstr "" +msgstr "Invalid user id" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" -msgstr "" +msgstr "The user doesn't exist" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" -msgstr "" +msgstr "The user must be already a project member" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" msgstr "" +"The project must have an owner and at least one of the users must be an " +"active admin" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." -msgstr "" +msgstr "You don't have permisions to see that." #: taiga/projects/attachments/api.py:54 msgid "Partial updates are not supported" -msgstr "" +msgstr "Partial updates are not supported" #: taiga/projects/attachments/api.py:69 msgid "Object id issue isn't exists" -msgstr "" +msgstr "Object id issue isn't exists" #: taiga/projects/attachments/api.py:72 msgid "Project ID not matches between object and project" -msgstr "" +msgstr "Project ID not matches between object and project" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" -msgstr "" +msgstr "project" #: taiga/projects/attachments/models.py:43 msgid "content type" -msgstr "" +msgstr "content type" #: taiga/projects/attachments/models.py:45 msgid "object id" -msgstr "" +msgstr "object id" #: taiga/projects/attachments/models.py:51 #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" -msgstr "" +msgstr "modified date" #: taiga/projects/attachments/models.py:56 msgid "attached file" -msgstr "" +msgstr "attached file" #: taiga/projects/attachments/models.py:58 msgid "sha1" -msgstr "" +msgstr "sha1" #: taiga/projects/attachments/models.py:60 msgid "is deprecated" -msgstr "" +msgstr "is deprecated" #: taiga/projects/attachments/models.py:61 msgid "from comment" -msgstr "" +msgstr "from comment" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" -msgstr "" +msgstr "order" #: taiga/projects/choices.py:23 msgid "AppearIn" -msgstr "" +msgstr "AppearIn" #: taiga/projects/choices.py:24 msgid "Jitsi" -msgstr "" +msgstr "Jitsi" #: taiga/projects/choices.py:25 msgid "Custom" -msgstr "" +msgstr "Custom" #: taiga/projects/choices.py:26 msgid "Talky" -msgstr "" +msgstr "Talky" #: taiga/projects/choices.py:35 msgid "This project is blocked due to payment failure" -msgstr "" +msgstr "This project is blocked due to payment failure" #: taiga/projects/choices.py:36 msgid "This project is blocked by admin staff" -msgstr "" +msgstr "This project is blocked by admin staff" #: taiga/projects/choices.py:37 msgid "This project is blocked because the owner left" -msgstr "" +msgstr "This project is blocked because the owner left" #: taiga/projects/choices.py:38 msgid "This project is blocked while it's deleted" -msgstr "" +msgstr "This project is blocked while it's deleted" #: taiga/projects/contact/templates/emails/contact_notification-body-html.jinja:10 #, python-format @@ -1534,6 +1818,11 @@ msgid "" "written to %(project_name)s\n" " " msgstr "" +"\n" +" %(full_name)s has " +"written to %(project_name)s\n" +" " #: taiga/projects/contact/templates/emails/contact_notification-body-html.jinja:20 #, python-format @@ -1547,6 +1836,14 @@ msgid "" "not be affected.\n" " " msgstr "" +"\n" +" You are receiving this message because you are listed as " +"administrator of the project titled %(project_name)s. If you don't want " +"members of the Taiga community contacting your project, please update your project settings to prevent " +"such contacts. Regular communications amongst members of the project will " +"not be affected.\n" +" " #: taiga/projects/contact/templates/emails/contact_notification-body-text.jinja:1 #, python-format @@ -1554,6 +1851,8 @@ msgid "" "\n" "%(full_name)s has written to %(project_name)s\n" msgstr "" +"\n" +"%(full_name)s has written to %(project_name)s\n" #: taiga/projects/contact/templates/emails/contact_notification-body-text.jinja:7 #, python-format @@ -1565,6 +1864,12 @@ msgid "" "%(project_settings_url)s to prevent such contacts. Regular communications " "amongst members of the project will not be affected.\n" msgstr "" +"\n" +"You are receiving this message because you are listed as administrator of " +"the project titled %(project_name)s. If you don't want members of the Taiga " +"community contacting your project, please update your project settings in " +"%(project_settings_url)s to prevent such contacts. Regular communications " +"amongst members of the project will not be affected.\n" #: taiga/projects/contact/templates/emails/contact_notification-subject.jinja:1 #, python-format @@ -1572,146 +1877,148 @@ msgid "" "\n" "[Taiga] %(full_name)s has sent a message to the project %(project_name)s\n" msgstr "" +"\n" +"[Taiga] %(full_name)s has sent a message to the project %(project_name)s\n" #: taiga/projects/custom_attributes/choices.py:29 msgid "Text" -msgstr "" +msgstr "Text" #: taiga/projects/custom_attributes/choices.py:30 msgid "Multi-Line Text" -msgstr "" +msgstr "Multi-Line Text" #: taiga/projects/custom_attributes/choices.py:31 msgid "Rich text" -msgstr "" +msgstr "Rich text" #: taiga/projects/custom_attributes/choices.py:32 msgid "Date" -msgstr "" +msgstr "Date" #: taiga/projects/custom_attributes/choices.py:33 msgid "Url" -msgstr "" +msgstr "Url" #: taiga/projects/custom_attributes/models.py:40 #: taiga/projects/issues/models.py:45 msgid "type" -msgstr "" +msgstr "type" #: taiga/projects/custom_attributes/models.py:95 msgid "values" -msgstr "" +msgstr "values" #: taiga/projects/custom_attributes/models.py:105 msgid "epic" -msgstr "" +msgstr "epic" #: taiga/projects/custom_attributes/models.py:121 #: taiga/projects/tasks/models.py:35 taiga/projects/userstories/models.py:38 msgid "user story" -msgstr "" +msgstr "user story" #: taiga/projects/custom_attributes/models.py:137 msgid "task" -msgstr "" +msgstr "task" #: taiga/projects/custom_attributes/models.py:153 msgid "issue" -msgstr "" +msgstr "issue" #: taiga/projects/custom_attributes/validators.py:58 msgid "Already exists one with the same name." -msgstr "" +msgstr "Already exists one with the same name." #: taiga/projects/epics/api.py:94 msgid "You don't have permissions to set this status to this epic." -msgstr "" +msgstr "You don't have permissions to set this status to this epic." #: taiga/projects/epics/models.py:36 taiga/projects/issues/models.py:35 #: taiga/projects/tasks/models.py:37 taiga/projects/userstories/models.py:62 msgid "ref" -msgstr "" +msgstr "ref" #: taiga/projects/epics/models.py:43 taiga/projects/issues/models.py:39 #: taiga/projects/tasks/models.py:41 taiga/projects/userstories/models.py:72 msgid "status" -msgstr "" +msgstr "status" #: taiga/projects/epics/models.py:46 msgid "epics order" -msgstr "" +msgstr "epics order" #: taiga/projects/epics/models.py:55 taiga/projects/issues/models.py:59 #: taiga/projects/tasks/models.py:55 taiga/projects/userstories/models.py:94 msgid "subject" -msgstr "" +msgstr "subject" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" -msgstr "" +msgstr "color" #: taiga/projects/epics/models.py:62 taiga/projects/issues/models.py:63 #: taiga/projects/tasks/models.py:65 taiga/projects/userstories/models.py:98 msgid "assigned to" -msgstr "" +msgstr "assigned to" #: taiga/projects/epics/models.py:64 taiga/projects/userstories/models.py:100 msgid "is client requirement" -msgstr "" +msgstr "is client requirement" #: taiga/projects/epics/models.py:66 taiga/projects/userstories/models.py:102 msgid "is team requirement" -msgstr "" +msgstr "is team requirement" #: taiga/projects/epics/models.py:70 msgid "user stories" -msgstr "" +msgstr "user stories" #: taiga/projects/epics/models.py:72 taiga/projects/issues/models.py:66 #: taiga/projects/tasks/models.py:70 taiga/projects/userstories/models.py:109 msgid "external reference" -msgstr "" +msgstr "external reference" #: taiga/projects/epics/validators.py:37 msgid "There's no epic with that id" -msgstr "" +msgstr "There's no epic with that id" #: taiga/projects/history/api.py:93 msgid "comment is required" -msgstr "" +msgstr "comment is required" #: taiga/projects/history/api.py:96 msgid "deleted comments can't be edited" -msgstr "" +msgstr "deleted comments can't be edited" #: taiga/projects/history/api.py:130 msgid "Comment already deleted" -msgstr "" +msgstr "Comment already deleted" #: taiga/projects/history/api.py:151 msgid "Comment not deleted" -msgstr "" +msgstr "Comment not deleted" #: taiga/projects/history/choices.py:31 msgid "Change" -msgstr "" +msgstr "Change" #: taiga/projects/history/choices.py:32 msgid "Create" -msgstr "" +msgstr "Create" #: taiga/projects/history/choices.py:33 msgid "Delete" -msgstr "" +msgstr "Delete" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 #, python-format msgid "%(role)s role points" -msgstr "" +msgstr "%(role)s role points" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:28 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 @@ -1719,7 +2026,7 @@ msgstr "" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:159 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:213 msgid "from" -msgstr "" +msgstr "from" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:34 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 @@ -1728,490 +2035,490 @@ msgstr "" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:190 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:219 msgid "to" -msgstr "" +msgstr "to" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:46 msgid "Added new attachment" -msgstr "" +msgstr "Added new attachment" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:64 msgid "Updated attachment" -msgstr "" +msgstr "Updated attachment" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "deprecated" -msgstr "" +msgstr "deprecated" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:72 msgid "not deprecated" -msgstr "" +msgstr "not deprecated" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:88 msgid "Deleted attachment" -msgstr "" +msgstr "Deleted attachment" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:107 msgid "added" -msgstr "" +msgstr "added" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:112 msgid "removed" -msgstr "" +msgstr "removed" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:137 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:148 #: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" -msgstr "" +msgstr "Unassigned" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" -msgstr "" +msgstr "-deleted-" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:23 msgid "to:" -msgstr "" +msgstr "to:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:23 msgid "from:" -msgstr "" +msgstr "from:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:29 msgid "Added" -msgstr "" +msgstr "Added" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:36 msgid "Changed" -msgstr "" +msgstr "Changed" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:43 msgid "Deleted" -msgstr "" +msgstr "Deleted" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 msgid "added:" -msgstr "" +msgstr "added:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:60 msgid "removed:" -msgstr "" +msgstr "removed:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" -msgstr "" +msgstr "From:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" -msgstr "" +msgstr "To:" #: taiga/projects/history/templatetags/functions.py:26 #: taiga/projects/wiki/models.py:38 msgid "content" -msgstr "" +msgstr "content" #: taiga/projects/history/templatetags/functions.py:27 #: taiga/projects/mixins/blocked.py:33 msgid "blocked note" -msgstr "" +msgstr "blocked note" #: taiga/projects/history/templatetags/functions.py:28 msgid "sprint" -msgstr "" +msgstr "sprint" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." -msgstr "" +msgstr "You don't have permissions to set this sprint to this issue." -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." -msgstr "" +msgstr "You don't have permissions to set this status to this issue." -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." -msgstr "" +msgstr "You don't have permissions to set this severity to this issue." -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." -msgstr "" +msgstr "You don't have permissions to set this priority to this issue." -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." -msgstr "" +msgstr "You don't have permissions to set this type to this issue." #: taiga/projects/issues/models.py:41 msgid "severity" -msgstr "" +msgstr "severity" #: taiga/projects/issues/models.py:43 msgid "priority" -msgstr "" +msgstr "priority" #: taiga/projects/issues/models.py:48 taiga/projects/tasks/models.py:46 #: taiga/projects/userstories/models.py:65 msgid "milestone" -msgstr "" +msgstr "milestone" #: taiga/projects/issues/models.py:57 taiga/projects/tasks/models.py:53 msgid "finished date" -msgstr "" +msgstr "finished date" #: taiga/projects/likes/models.py:36 msgid "Like" -msgstr "" +msgstr "Like" #: taiga/projects/likes/models.py:37 msgid "Likes" -msgstr "" +msgstr "Likes" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" -msgstr "" +msgstr "slug" #: taiga/projects/milestones/models.py:45 msgid "estimated start date" -msgstr "" +msgstr "estimated start date" #: taiga/projects/milestones/models.py:46 msgid "estimated finish date" -msgstr "" +msgstr "estimated finish date" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" -msgstr "" +msgstr "is closed" #: taiga/projects/milestones/models.py:55 msgid "disponibility" -msgstr "" +msgstr "disponibility" #: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." -msgstr "" +msgstr "The estimated start must be previous to the estimated finish." #: taiga/projects/milestones/validators.py:33 msgid "There's no milestone with that id" -msgstr "" +msgstr "There's no milestone with that id" #: taiga/projects/mixins/blocked.py:31 msgid "is blocked" -msgstr "" +msgstr "is blocked" #: taiga/projects/mixins/by_ref.py:32 msgid "ref param is needed" -msgstr "" +msgstr "ref param is needed" #: taiga/projects/mixins/by_ref.py:35 msgid "project or project__slug param is needed" -msgstr "" +msgstr "project or project__slug param is needed" #: taiga/projects/mixins/ordering.py:49 #, python-brace-format msgid "'{param}' parameter is mandatory" -msgstr "" +msgstr "'{param}' parameter is mandatory" #: taiga/projects/mixins/ordering.py:53 msgid "'project' parameter is mandatory" -msgstr "" +msgstr "'project' parameter is mandatory" #: taiga/projects/mixins/validators.py:19 msgid "The user must be a project member." -msgstr "" +msgstr "The user must be a project member." #: taiga/projects/models.py:79 msgid "email" -msgstr "" +msgstr "email" #: taiga/projects/models.py:81 msgid "create at" -msgstr "" +msgstr "create at" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" -msgstr "" +msgstr "token" #: taiga/projects/models.py:89 msgid "invitation extra text" -msgstr "" +msgstr "invitation extra text" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" -msgstr "" +msgstr "user order" #: taiga/projects/models.py:108 msgid "The user is already member of the project" -msgstr "" +msgstr "The user is already member of the project" #: taiga/projects/models.py:115 msgid "default epic status" -msgstr "" +msgstr "default epic status" #: taiga/projects/models.py:119 msgid "default US status" -msgstr "" +msgstr "default US status" #: taiga/projects/models.py:122 msgid "default points" -msgstr "" +msgstr "default points" #: taiga/projects/models.py:126 msgid "default task status" -msgstr "" +msgstr "default task status" #: taiga/projects/models.py:129 msgid "default priority" -msgstr "" +msgstr "default priority" #: taiga/projects/models.py:132 msgid "default severity" -msgstr "" +msgstr "default severity" #: taiga/projects/models.py:136 msgid "default issue status" -msgstr "" +msgstr "default issue status" #: taiga/projects/models.py:140 msgid "default issue type" -msgstr "" +msgstr "default issue type" #: taiga/projects/models.py:156 msgid "logo" -msgstr "" +msgstr "logo" #: taiga/projects/models.py:166 msgid "members" -msgstr "" +msgstr "members" #: taiga/projects/models.py:169 msgid "total of milestones" -msgstr "" +msgstr "total of milestones" #: taiga/projects/models.py:170 msgid "total story points" -msgstr "" +msgstr "total story points" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" -msgstr "" +msgstr "active contact" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" -msgstr "" +msgstr "active epics panel" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" -msgstr "" +msgstr "active backlog panel" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" -msgstr "" +msgstr "active kanban panel" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" -msgstr "" +msgstr "active wiki panel" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" -msgstr "" +msgstr "active issues panel" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" -msgstr "" +msgstr "videoconference system" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" -msgstr "" +msgstr "videoconference extra data" #: taiga/projects/models.py:193 msgid "creation template" -msgstr "" +msgstr "creation template" #: taiga/projects/models.py:196 taiga/users/admin.py:62 msgid "is private" -msgstr "" +msgstr "is private" #: taiga/projects/models.py:198 msgid "anonymous permissions" -msgstr "" +msgstr "anonymous permissions" #: taiga/projects/models.py:200 msgid "user permissions" -msgstr "" +msgstr "user permissions" #: taiga/projects/models.py:203 msgid "is featured" -msgstr "" +msgstr "is featured" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" -msgstr "" +msgstr "is looking for people" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" -msgstr "" +msgstr "looking for people note" #: taiga/projects/models.py:222 msgid "project transfer token" -msgstr "" +msgstr "project transfer token" #: taiga/projects/models.py:226 msgid "blocked code" -msgstr "" +msgstr "blocked code" #: taiga/projects/models.py:229 taiga/projects/notifications/models.py:66 msgid "updated date time" -msgstr "" +msgstr "updated date time" #: taiga/projects/models.py:232 taiga/projects/models.py:244 #: taiga/projects/votes/models.py:30 msgid "count" -msgstr "" +msgstr "count" #: taiga/projects/models.py:235 msgid "fans last week" -msgstr "" +msgstr "fans last week" #: taiga/projects/models.py:238 msgid "fans last month" -msgstr "" +msgstr "fans last month" #: taiga/projects/models.py:241 msgid "fans last year" -msgstr "" +msgstr "fans last year" #: taiga/projects/models.py:248 msgid "activity last week" -msgstr "" +msgstr "activity last week" #: taiga/projects/models.py:252 msgid "activity last month" -msgstr "" +msgstr "activity last month" #: taiga/projects/models.py:256 msgid "activity last year" -msgstr "" +msgstr "activity last year" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" -msgstr "" +msgstr "modules config" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" -msgstr "" +msgstr "is archived" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" -msgstr "" +msgstr "work in progress limit" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" -msgstr "" +msgstr "value" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" -msgstr "" +msgstr "default owner's role" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" -msgstr "" - -#: taiga/projects/models.py:773 -msgid "epic statuses" -msgstr "" - -#: taiga/projects/models.py:774 -msgid "us statuses" -msgstr "" - -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 -#: taiga/projects/userstories/models.py:77 -msgid "points" -msgstr "" +msgstr "default options" #: taiga/projects/models.py:776 -msgid "task statuses" -msgstr "" +msgid "epic statuses" +msgstr "epic statuses" #: taiga/projects/models.py:777 -msgid "issue statuses" -msgstr "" +msgid "us statuses" +msgstr "us statuses" -#: taiga/projects/models.py:778 -msgid "issue types" -msgstr "" +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 +#: taiga/projects/userstories/models.py:77 +msgid "points" +msgstr "points" #: taiga/projects/models.py:779 -msgid "priorities" -msgstr "" +msgid "task statuses" +msgstr "task statuses" #: taiga/projects/models.py:780 -msgid "severities" -msgstr "" +msgid "issue statuses" +msgstr "issue statuses" #: taiga/projects/models.py:781 -msgid "roles" -msgstr "" +msgid "issue types" +msgstr "issue types" #: taiga/projects/models.py:782 -msgid "epic custom attributes" -msgstr "" +msgid "priorities" +msgstr "priorities" #: taiga/projects/models.py:783 -msgid "us custom attributes" -msgstr "" +msgid "severities" +msgstr "severities" #: taiga/projects/models.py:784 -msgid "task custom attributes" -msgstr "" +msgid "roles" +msgstr "roles" #: taiga/projects/models.py:785 +msgid "epic custom attributes" +msgstr "epic custom attributes" + +#: taiga/projects/models.py:786 +msgid "us custom attributes" +msgstr "us custom attributes" + +#: taiga/projects/models.py:787 +msgid "task custom attributes" +msgstr "task custom attributes" + +#: taiga/projects/models.py:788 msgid "issue custom attributes" -msgstr "" +msgstr "issue custom attributes" #: taiga/projects/notifications/choices.py:30 msgid "Involved" -msgstr "" +msgstr "Involved" #: taiga/projects/notifications/choices.py:31 msgid "All" -msgstr "" +msgstr "All" #: taiga/projects/notifications/choices.py:32 msgid "None" -msgstr "" +msgstr "None" #: taiga/projects/notifications/models.py:64 msgid "created date time" -msgstr "" +msgstr "created date time" #: taiga/projects/notifications/models.py:68 msgid "history entries" -msgstr "" +msgstr "history entries" #: taiga/projects/notifications/models.py:71 msgid "notify users" -msgstr "" +msgstr "notify users" #: taiga/projects/notifications/models.py:93 #: taiga/projects/notifications/models.py:94 msgid "Watched" -msgstr "" +msgstr "Watched" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" -msgstr "" +msgstr "Notify exists for specified user and project" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" -msgstr "" +msgstr "Invalid value for notify level" #: taiga/projects/notifications/templates/emails/epics/epic-change-body-html.jinja:4 #, python-format @@ -2225,6 +2532,14 @@ msgid "" "%(subject)s in Taiga\">See epic\n" " " msgstr "" +"\n" +"

Epic updated

\n" +"

Hello %(user)s,
%(changer)s has updated a epic on %(project)s\n" +"

Epic #%(ref)s %(subject)s

\n" +" See epic\n" +" " #: taiga/projects/notifications/templates/emails/epics/epic-change-body-text.jinja:3 #, python-format @@ -2234,6 +2549,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated a epic on %(project)s\n" "See epic #%(ref)s %(subject)s at %(url)s\n" msgstr "" +"\n" +"Epic updated\n" +"Hello %(user)s, %(changer)s has updated a epic on %(project)s\n" +"See epic #%(ref)s %(subject)s at %(url)s\n" #: taiga/projects/notifications/templates/emails/epics/epic-change-subject.jinja:1 #, python-format @@ -2241,6 +2560,8 @@ msgid "" "\n" "[%(project)s] Updated the epic #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Updated the epic #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/epics/epic-create-body-html.jinja:4 #, python-format @@ -2255,6 +2576,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

New epic created

\n" +"

Hello %(user)s,
%(changer)s has created a new epic on " +"%(project)s

\n" +"

Epic #%(ref)s %(subject)s

\n" +" See epic\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/epics/epic-create-body-text.jinja:1 #, python-format @@ -2267,6 +2597,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"New epic created\n" +"Hello %(user)s, %(changer)s has created a new epic on %(project)s\n" +"See epic #%(ref)s %(subject)s at %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/epics/epic-create-subject.jinja:1 #, python-format @@ -2274,6 +2611,8 @@ msgid "" "\n" "[%(project)s] Created the epic #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Created the epic #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/epics/epic-delete-body-html.jinja:4 #, python-format @@ -2286,6 +2625,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Epic deleted

\n" +"

Hello %(user)s,
%(changer)s has deleted a epic on %(project)s\n" +"

Epic #%(ref)s %(subject)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/epics/epic-delete-body-text.jinja:1 #, python-format @@ -2298,6 +2644,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Epic deleted\n" +"Hello %(user)s, %(changer)s has deleted a epic on %(project)s\n" +"Epic #%(ref)s %(subject)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/epics/epic-delete-subject.jinja:1 #, python-format @@ -2305,6 +2658,8 @@ msgid "" "\n" "[%(project)s] Deleted the epic #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Deleted the epic #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/issues/issue-change-body-html.jinja:4 #, python-format @@ -2318,6 +2673,14 @@ msgid "" "%(subject)s in Taiga\">See issue\n" " " msgstr "" +"\n" +"

Issue updated

\n" +"

Hello %(user)s,
%(changer)s has updated an issue on %(project)s\n" +"

Issue #%(ref)s %(subject)s

\n" +" See issue\n" +" " #: taiga/projects/notifications/templates/emails/issues/issue-change-body-text.jinja:3 #, python-format @@ -2327,6 +2690,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated an issue on %(project)s\n" "See issue #%(ref)s %(subject)s at %(url)s\n" msgstr "" +"\n" +"Issue updated\n" +"Hello %(user)s, %(changer)s has updated an issue on %(project)s\n" +"See issue #%(ref)s %(subject)s at %(url)s\n" #: taiga/projects/notifications/templates/emails/issues/issue-change-subject.jinja:1 #, python-format @@ -2334,6 +2701,8 @@ msgid "" "\n" "[%(project)s] Updated the issue #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Updated the issue #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/issues/issue-create-body-html.jinja:4 #, python-format @@ -2348,6 +2717,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

New issue created

\n" +"

Hello %(user)s,
%(changer)s has created a new issue on " +"%(project)s

\n" +"

Issue #%(ref)s %(subject)s

\n" +" See issue\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/issues/issue-create-body-text.jinja:1 #, python-format @@ -2360,6 +2738,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"New issue created\n" +"Hello %(user)s, %(changer)s has created a new issue on %(project)s\n" +"See issue #%(ref)s %(subject)s at %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/issues/issue-create-subject.jinja:1 #, python-format @@ -2367,6 +2752,8 @@ msgid "" "\n" "[%(project)s] Created the issue #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Created the issue #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/issues/issue-delete-body-html.jinja:4 #, python-format @@ -2379,6 +2766,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Issue deleted

\n" +"

Hello %(user)s,
%(changer)s has deleted an issue on %(project)s\n" +"

Issue #%(ref)s %(subject)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/issues/issue-delete-body-text.jinja:1 #, python-format @@ -2391,6 +2785,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Issue deleted\n" +"Hello %(user)s, %(changer)s has deleted an issue on %(project)s\n" +"Issue #%(ref)s %(subject)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/issues/issue-delete-subject.jinja:1 #, python-format @@ -2398,6 +2799,8 @@ msgid "" "\n" "[%(project)s] Deleted the issue #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Deleted the issue #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-change-body-html.jinja:4 #, python-format @@ -2411,6 +2814,14 @@ msgid "" "Taiga\">See sprint\n" " " msgstr "" +"\n" +"

Sprint updated

\n" +"

Hello %(user)s,
%(changer)s has updated an sprint on " +"%(project)s

\n" +"

Sprint %(name)s

\n" +" See sprint\n" +" " #: taiga/projects/notifications/templates/emails/milestones/milestone-change-body-text.jinja:3 #, python-format @@ -2420,6 +2831,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated a sprint on %(project)s\n" "See sprint %(name)s at %(url)s\n" msgstr "" +"\n" +"Sprint updated\n" +"Hello %(user)s, %(changer)s has updated a sprint on %(project)s\n" +"See sprint %(name)s at %(url)s\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-change-subject.jinja:1 #, python-format @@ -2427,6 +2842,8 @@ msgid "" "\n" "[%(project)s] Updated the sprint \"%(milestone)s\"\n" msgstr "" +"\n" +"[%(project)s] Updated the sprint \"%(milestone)s\"\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-create-body-html.jinja:4 #, python-format @@ -2441,6 +2858,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

New sprint created

\n" +"

Hello %(user)s,
%(changer)s has created a new sprint on " +"%(project)s

\n" +"

Sprint %(name)s

\n" +" See " +"sprint\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/milestones/milestone-create-body-text.jinja:1 #, python-format @@ -2453,6 +2879,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"New sprint created\n" +"Hello %(user)s, %(changer)s has created a new sprint on %(project)s\n" +"See sprint %(name)s at %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-create-subject.jinja:1 #, python-format @@ -2460,6 +2893,8 @@ msgid "" "\n" "[%(project)s] Created the sprint \"%(milestone)s\"\n" msgstr "" +"\n" +"[%(project)s] Created the sprint \"%(milestone)s\"\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-delete-body-html.jinja:4 #, python-format @@ -2472,6 +2907,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Sprint deleted

\n" +"

Hello %(user)s,
%(changer)s has deleted an sprint on " +"%(project)s

\n" +"

Sprint %(name)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/milestones/milestone-delete-body-text.jinja:1 #, python-format @@ -2484,6 +2926,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Sprint deleted\n" +"Hello %(user)s, %(changer)s has deleted an sprint on %(project)s\n" +"Sprint %(name)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-delete-subject.jinja:1 #, python-format @@ -2491,6 +2940,8 @@ msgid "" "\n" "[%(project)s] Deleted the Sprint \"%(milestone)s\"\n" msgstr "" +"\n" +"[%(project)s] Deleted the Sprint \"%(milestone)s\"\n" #: taiga/projects/notifications/templates/emails/tasks/task-change-body-html.jinja:4 #, python-format @@ -2504,6 +2955,14 @@ msgid "" "%(subject)s in Taiga\">See task\n" " " msgstr "" +"\n" +"

Task updated

\n" +"

Hello %(user)s,
%(changer)s has updated a task on %(project)s\n" +"

Task #%(ref)s %(subject)s

\n" +" See task\n" +" " #: taiga/projects/notifications/templates/emails/tasks/task-change-body-text.jinja:3 #, python-format @@ -2513,6 +2972,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated a task on %(project)s\n" "See task #%(ref)s %(subject)s at %(url)s\n" msgstr "" +"\n" +"Task updated\n" +"Hello %(user)s, %(changer)s has updated a task on %(project)s\n" +"See task #%(ref)s %(subject)s at %(url)s\n" #: taiga/projects/notifications/templates/emails/tasks/task-change-subject.jinja:1 #, python-format @@ -2520,6 +2983,8 @@ msgid "" "\n" "[%(project)s] Updated the task #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Updated the task #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/tasks/task-create-body-html.jinja:4 #, python-format @@ -2534,6 +2999,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

New task created

\n" +"

Hello %(user)s,
%(changer)s has created a new task on " +"%(project)s

\n" +"

Task #%(ref)s %(subject)s

\n" +" See task\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/tasks/task-create-body-text.jinja:1 #, python-format @@ -2546,6 +3020,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"New task created\n" +"Hello %(user)s, %(changer)s has created a new task on %(project)s\n" +"See task #%(ref)s %(subject)s at %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/tasks/task-create-subject.jinja:1 #, python-format @@ -2553,6 +3034,8 @@ msgid "" "\n" "[%(project)s] Created the task #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Created the task #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/tasks/task-delete-body-html.jinja:4 #, python-format @@ -2565,6 +3048,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Task deleted

\n" +"

Hello %(user)s,
%(changer)s has deleted a task on %(project)s\n" +"

Task #%(ref)s %(subject)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/tasks/task-delete-body-text.jinja:1 #, python-format @@ -2577,6 +3067,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Task deleted\n" +"Hello %(user)s, %(changer)s has deleted a task on %(project)s\n" +"Task #%(ref)s %(subject)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/tasks/task-delete-subject.jinja:1 #, python-format @@ -2584,6 +3081,8 @@ msgid "" "\n" "[%(project)s] Deleted the task #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Deleted the task #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-change-body-html.jinja:4 #, python-format @@ -2597,6 +3096,14 @@ msgid "" "%(subject)s in Taiga\">See user story\n" " " msgstr "" +"\n" +"

User Story updated

\n" +"

Hello %(user)s,
%(changer)s has updated a user story on " +"%(project)s

\n" +"

User Story #%(ref)s %(subject)s

\n" +" See user story\n" +" " #: taiga/projects/notifications/templates/emails/userstories/userstory-change-body-text.jinja:3 #, python-format @@ -2606,6 +3113,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated a user story on %(project)s\n" "See user story #%(ref)s %(subject)s at %(url)s\n" msgstr "" +"\n" +"User story updated\n" +"Hello %(user)s, %(changer)s has updated a user story on %(project)s\n" +"See user story #%(ref)s %(subject)s at %(url)s\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-change-subject.jinja:1 #, python-format @@ -2613,6 +3124,8 @@ msgid "" "\n" "[%(project)s] Updated the US #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Updated the US #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-create-body-html.jinja:4 #, python-format @@ -2627,6 +3140,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

New user story created

\n" +"

Hello %(user)s,
%(changer)s has created a new user story on " +"%(project)s

\n" +"

User Story #%(ref)s %(subject)s

\n" +" See user story\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/userstories/userstory-create-body-text.jinja:1 #, python-format @@ -2639,6 +3161,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"New user story created\n" +"Hello %(user)s, %(changer)s has created a new user story on %(project)s\n" +"See user story #%(ref)s %(subject)s at %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-create-subject.jinja:1 #, python-format @@ -2646,6 +3175,8 @@ msgid "" "\n" "[%(project)s] Created the US #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Created the US #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-html.jinja:4 #, python-format @@ -2658,6 +3189,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

User Story deleted

\n" +"

Hello %(user)s,
%(changer)s has deleted a user story on " +"%(project)s

\n" +"

User Story #%(ref)s %(subject)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-text.jinja:1 #, python-format @@ -2670,6 +3208,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"User Story deleted\n" +"Hello %(user)s, %(changer)s has deleted a user story on %(project)s\n" +"User Story #%(ref)s %(subject)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-delete-subject.jinja:1 #, python-format @@ -2677,6 +3222,8 @@ msgid "" "\n" "[%(project)s] Deleted the US #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] Deleted the US #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-html.jinja:4 #, python-format @@ -2690,6 +3237,14 @@ msgid "" "\">See Wiki Page\n" " " msgstr "" +"\n" +"

Wiki Page updated

\n" +"

Hello %(user)s,
%(changer)s has updated a wiki page on " +"%(project)s

\n" +"

Wiki page %(page)s

\n" +" See Wiki Page\n" +" " #: taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-text.jinja:3 #, python-format @@ -2701,6 +3256,12 @@ msgid "" "\n" "See wiki page %(page)s at %(url)s\n" msgstr "" +"\n" +"Wiki Page updated\n" +"\n" +"Hello %(user)s, %(changer)s has updated a wiki page on %(project)s\n" +"\n" +"See wiki page %(page)s at %(url)s\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-change-subject.jinja:1 #, python-format @@ -2708,6 +3269,8 @@ msgid "" "\n" "[%(project)s] Updated the Wiki Page \"%(page)s\"\n" msgstr "" +"\n" +"[%(project)s] Updated the Wiki Page \"%(page)s\"\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-html.jinja:4 #, python-format @@ -2722,6 +3285,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

New wiki page created

\n" +"

Hello %(user)s,
%(changer)s has created a new wiki page on " +"%(project)s

\n" +"

Wiki page %(page)s

\n" +" See " +"wiki page\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-text.jinja:1 #, python-format @@ -2736,6 +3308,15 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"New wiki page created\n" +"\n" +"Hello %(user)s, %(changer)s has created a new wiki page on %(project)s\n" +"\n" +"See wiki page %(page)s at %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-create-subject.jinja:1 #, python-format @@ -2743,6 +3324,8 @@ msgid "" "\n" "[%(project)s] Created the Wiki Page \"%(page)s\"\n" msgstr "" +"\n" +"[%(project)s] Created the Wiki Page \"%(page)s\"\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-html.jinja:4 #, python-format @@ -2755,6 +3338,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Wiki page deleted

\n" +"

Hello %(user)s,
%(changer)s has deleted a wiki page on " +"%(project)s

\n" +"

Wiki page %(page)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-text.jinja:1 #, python-format @@ -2769,6 +3359,15 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Wiki page deleted\n" +"\n" +"Hello %(user)s, %(changer)s has deleted a wiki page on %(project)s\n" +"\n" +"Wiki page %(page)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-delete-subject.jinja:1 #, python-format @@ -2776,93 +3375,99 @@ msgid "" "\n" "[%(project)s] Deleted the Wiki Page \"%(page)s\"\n" msgstr "" +"\n" +"[%(project)s] Deleted the Wiki Page \"%(page)s\"\n" #: taiga/projects/notifications/validators.py:48 msgid "Watchers contains invalid users" -msgstr "" +msgstr "Watchers contains invalid users" #: taiga/projects/occ/mixins.py:37 msgid "The version must be an integer" -msgstr "" +msgstr "The version must be an integer" #: taiga/projects/occ/mixins.py:60 msgid "The version parameter is not valid" -msgstr "" +msgstr "The version parameter is not valid" #: taiga/projects/occ/mixins.py:76 msgid "The version doesn't match with the current one" -msgstr "" +msgstr "The version doesn't match with the current one" #: taiga/projects/occ/mixins.py:95 msgid "version" -msgstr "" +msgstr "version" #: taiga/projects/permissions.py:44 msgid "" "You can't leave the project if you are the owner or there are no more admins" msgstr "" +"You can't leave the project if you are the owner or there are no more admins" #: taiga/projects/services/members.py:133 msgid "Project without owner" -msgstr "" +msgstr "Project without owner" #: taiga/projects/services/members.py:138 msgid "You have reached your current limit of memberships for private projects" msgstr "" +"You have reached your current limit of memberships for private projects" #: taiga/projects/services/members.py:142 msgid "You have reached your current limit of memberships for public projects" -msgstr "" +msgstr "You have reached your current limit of memberships for public projects" #: taiga/projects/services/members.py:148 msgid "You have reached the current limit of pending memberships" -msgstr "" +msgstr "You have reached the current limit of pending memberships" #: taiga/projects/services/projects.py:101 #: taiga/projects/services/projects.py:141 taiga/users/services.py:589 msgid "You can't have more private projects" -msgstr "" +msgstr "You can't have more private projects" #: taiga/projects/services/projects.py:105 #: taiga/projects/services/projects.py:145 taiga/users/services.py:592 msgid "" "This project reaches your current limit of memberships for private projects" msgstr "" +"This project reaches your current limit of memberships for private projects" #: taiga/projects/services/projects.py:109 #: taiga/projects/services/projects.py:149 taiga/users/services.py:596 msgid "You can't have more public projects" -msgstr "" +msgstr "You can't have more public projects" #: taiga/projects/services/projects.py:113 #: taiga/projects/services/projects.py:153 taiga/users/services.py:599 msgid "" "This project reaches your current limit of memberships for public projects" msgstr "" +"This project reaches your current limit of memberships for public projects" #: taiga/projects/services/stats.py:197 msgid "Future sprint" -msgstr "" +msgstr "Future sprint" #: taiga/projects/services/stats.py:217 msgid "Project End" -msgstr "" +msgstr "Project End" #: taiga/projects/services/transfer.py:62 #: taiga/projects/services/transfer.py:69 #: taiga/projects/services/transfer.py:72 taiga/users/api.py:193 #: taiga/users/api.py:198 msgid "Token is invalid" -msgstr "" +msgstr "Token is invalid" #: taiga/projects/services/transfer.py:67 msgid "Token has expired" -msgstr "" +msgstr "Token has expired" #: taiga/projects/tagging/fields.py:52 #, python-brace-format msgid "Invalid tag '{value}'. The color is not a valid HEX color or null." -msgstr "" +msgstr "Invalid tag '{value}'. The color is not a valid HEX color or null." #: taiga/projects/tagging/fields.py:55 #, python-brace-format @@ -2870,95 +3475,99 @@ msgid "" "Invalid tag '{value}'. it must be the name or a pair '[\"name\", \"hex color/" "\" | null]'." msgstr "" +"Invalid tag '{value}'. it must be the name or a pair '[\"name\", \"hex color/" +"\" | null]'." #: taiga/projects/tagging/fields.py:77 #, python-brace-format msgid "Invalid tag '{value}'. It must be the tag name." -msgstr "" +msgstr "Invalid tag '{value}'. It must be the tag name." #: taiga/projects/tagging/models.py:27 msgid "tags" -msgstr "" +msgstr "tags" #: taiga/projects/tagging/models.py:35 msgid "tags colors" -msgstr "" +msgstr "tags colors" #: taiga/projects/tagging/validators.py:47 #: taiga/projects/tagging/validators.py:74 msgid "This tag already exists." -msgstr "" +msgstr "This tag already exists." #: taiga/projects/tagging/validators.py:54 #: taiga/projects/tagging/validators.py:81 msgid "The color is not a valid HEX color." -msgstr "" +msgstr "The color is not a valid HEX color." #: taiga/projects/tagging/validators.py:67 #: taiga/projects/tagging/validators.py:101 #: taiga/projects/tagging/validators.py:114 #: taiga/projects/tagging/validators.py:121 msgid "The tag doesn't exist." -msgstr "" +msgstr "The tag doesn't exist." -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." -msgstr "" +msgstr "You don't have permissions to set this sprint to this task." -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." -msgstr "" +msgstr "You don't have permissions to set this user story to this task." -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." -msgstr "" +msgstr "You don't have permissions to set this status to this task." #: taiga/projects/tasks/models.py:58 msgid "us order" -msgstr "" +msgstr "us order" #: taiga/projects/tasks/models.py:60 msgid "taskboard order" -msgstr "" +msgstr "taskboard order" #: taiga/projects/tasks/models.py:68 msgid "is iocaine" -msgstr "" +msgstr "is iocaine" #: taiga/projects/tasks/validators.py:61 msgid "Invalid milestone id." -msgstr "" +msgstr "Invalid milestone id." #: taiga/projects/tasks/validators.py:72 msgid "Invalid task status id." -msgstr "" +msgstr "Invalid task status id." #: taiga/projects/tasks/validators.py:85 msgid "Invalid user story id." -msgstr "" +msgstr "Invalid user story id." #: taiga/projects/tasks/validators.py:109 msgid "Invalid task status id. The status must belong to the same project." -msgstr "" +msgstr "Invalid task status id. The status must belong to the same project." #: taiga/projects/tasks/validators.py:123 msgid "Invalid user story id. The user story must belong to the same project." -msgstr "" +msgstr "Invalid user story id. The user story must belong to the same project." #: taiga/projects/tasks/validators.py:135 msgid "Invalid milestone id. The milestone must belong to the same project." -msgstr "" +msgstr "Invalid milestone id. The milestone must belong to the same project." #: taiga/projects/tasks/validators.py:152 msgid "" "Invalid task ids. All tasks must belong to the same project and, if it " "exists, to the same status, user story and/or milestone." msgstr "" +"Invalid task ids. All tasks must belong to the same project and, if it " +"exists, to the same status, user story and/or milestone." #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:6 #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:4 msgid "someone" -msgstr "" +msgstr "someone" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:11 #, python-format @@ -2970,6 +3579,12 @@ msgid "" "Management Tool.

\n" " " msgstr "" +"\n" +"

You have been invited to Taiga!

\n" +"

Hi! %(full_name)s has sent you an invitation to join project " +"%(project)s in Taiga.
Taiga is a Free, open Source Agile Project " +"Management Tool.

\n" +" " #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:17 #, python-format @@ -2980,18 +3595,23 @@ msgid "" "

%(extra)s

\n" " " msgstr "" +"\n" +"

And now a few words from the jolly good fellow or sistren
" +"who thought so kindly as to invite you

\n" +"

%(extra)s

\n" +" " #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:24 msgid "Accept your invitation to Taiga" -msgstr "" +msgstr "Accept your invitation to Taiga" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:24 msgid "Accept your invitation" -msgstr "" +msgstr "Accept your invitation" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:25 msgid "The Taiga Team" -msgstr "" +msgstr "The Taiga Team" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:6 #, python-format @@ -3003,6 +3623,12 @@ msgid "" "%(project)s which is being managed on Taiga, a Free, open Source Agile " "Project Management Tool.\n" msgstr "" +"\n" +"You, or someone you know, has invited you to Taiga\n" +"\n" +"Hi! %(full_name)s has sent you an invitation to join a project called " +"%(project)s which is being managed on Taiga, a Free, open Source Agile " +"Project Management Tool.\n" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:12 #, python-format @@ -3014,10 +3640,16 @@ msgid "" "%(extra)s\n" " " msgstr "" +"\n" +"And now a few words from the jolly good fellow or sistren who thought so " +"kindly as to invite you:\n" +"\n" +"%(extra)s\n" +" " #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:18 msgid "Accept your invitation to Taiga following this link:" -msgstr "" +msgstr "Accept your invitation to Taiga following this link:" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:20 msgid "" @@ -3025,6 +3657,9 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/templates/emails/membership_invitation-subject.jinja:1 #, python-format @@ -3032,6 +3667,8 @@ msgid "" "\n" "[Taiga] Invitation to join to the project '%(project)s'\n" msgstr "" +"\n" +"[Taiga] Invitation to join to the project '%(project)s'\n" #: taiga/projects/templates/emails/membership_notification-body-html.jinja:4 #, python-format @@ -3045,6 +3682,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

You have been added to a project

\n" +"

Hello %(full_name)s,
you have been added to the project " +"%(project)s

\n" +" Go to " +"project\n" +"

The Taiga Team

\n" +" " #: taiga/projects/templates/emails/membership_notification-body-text.jinja:1 #, python-format @@ -3055,6 +3700,11 @@ msgid "" "\n" "See project at %(url)s\n" msgstr "" +"\n" +"You have been added to a project\n" +"Hello %(full_name)s,you have been added to the project %(project)s\n" +"\n" +"See project at %(url)s\n" #: taiga/projects/templates/emails/membership_notification-subject.jinja:1 #, python-format @@ -3062,6 +3712,8 @@ msgid "" "\n" "[Taiga] Added to the project '%(project)s'\n" msgstr "" +"\n" +"[Taiga] Added to the project '%(project)s'\n" #: taiga/projects/templates/emails/transfer_accept-body-html.jinja:4 #, python-format @@ -3072,11 +3724,16 @@ msgid "" "new project owner for \"%(project_name)s\".

\n" " " msgstr "" +"\n" +"

Hi %(old_owner_name)s,

\n" +"

%(new_owner_name)s has accepted your offer and will become the " +"new project owner for \"%(project_name)s\".

\n" +" " #: taiga/projects/templates/emails/transfer_accept-body-html.jinja:10 #, python-format msgid "

%(new_owner_name)s says:

" -msgstr "" +msgstr "

%(new_owner_name)s says:

" #: taiga/projects/templates/emails/transfer_accept-body-html.jinja:14 msgid "" @@ -3085,6 +3742,10 @@ msgid "" "p>\n" " " msgstr "" +"\n" +"

From now on, your new status for this project will be \"admin\".\n" +" " #: taiga/projects/templates/emails/transfer_accept-body-text.jinja:1 #, python-format @@ -3094,17 +3755,23 @@ msgid "" "%(new_owner_name)s has accepted your offer and will become the new project " "owner for \"%(project_name)s\".\n" msgstr "" +"\n" +"Hi %(old_owner_name)s,\n" +"%(new_owner_name)s has accepted your offer and will become the new project " +"owner for \"%(project_name)s\".\n" #: taiga/projects/templates/emails/transfer_accept-body-text.jinja:7 #, python-format msgid "%(new_owner_name)s says:" -msgstr "" +msgstr "%(new_owner_name)s says:" #: taiga/projects/templates/emails/transfer_accept-body-text.jinja:11 msgid "" "\n" "From now on, your new status for this project will be \"admin\".\n" msgstr "" +"\n" +"From now on, your new status for this project will be \"admin\".\n" #: taiga/projects/templates/emails/transfer_accept-body-text.jinja:16 #: taiga/projects/templates/emails/transfer_reject-body-text.jinja:19 @@ -3114,6 +3781,8 @@ msgid "" "\n" "The Taiga Team\n" msgstr "" +"\n" +"The Taiga Team\n" #: taiga/projects/templates/emails/transfer_accept-subject.jinja:1 #, python-format @@ -3121,6 +3790,8 @@ msgid "" "\n" "[%(project)s] Project ownership transfer offer accepted!\n" msgstr "" +"\n" +"[%(project)s] Project ownership transfer offer accepted!\n" #: taiga/projects/templates/emails/transfer_reject-body-html.jinja:4 #, python-format @@ -3131,6 +3802,11 @@ msgid "" "new project owner for \"%(project_name)s\".

\n" " " msgstr "" +"\n" +"

Hi %(owner_name)s,

\n" +"

%(rejecter_name)s has declined your offer and will not become the " +"new project owner for \"%(project_name)s\".

\n" +" " #: taiga/projects/templates/emails/transfer_reject-body-html.jinja:10 #, python-format @@ -3139,6 +3815,9 @@ msgid "" "

%(rejecter_name)s says:

\n" " " msgstr "" +"\n" +"

%(rejecter_name)s says:

\n" +" " #: taiga/projects/templates/emails/transfer_reject-body-html.jinja:16 msgid "" @@ -3147,11 +3826,15 @@ msgid "" "different person.

\n" " " msgstr "" +"\n" +"

If you want, you can still try to transfer the project ownership to a " +"different person.

\n" +" " #: taiga/projects/templates/emails/transfer_reject-body-html.jinja:21 #: taiga/projects/templates/emails/transfer_reject-body-html.jinja:22 msgid "Request transfer to a different person" -msgstr "" +msgstr "Request transfer to a different person" #: taiga/projects/templates/emails/transfer_reject-body-text.jinja:1 #, python-format @@ -3161,11 +3844,15 @@ msgid "" "%(rejecter_name)s has declined your offer and will not become the new " "project owner for \"%(project_name)s\".\n" msgstr "" +"\n" +"Hi %(owner_name)s,\n" +"%(rejecter_name)s has declined your offer and will not become the new " +"project owner for \"%(project_name)s\".\n" #: taiga/projects/templates/emails/transfer_reject-body-text.jinja:7 #, python-format msgid "%(rejecter_name)s says:" -msgstr "" +msgstr "%(rejecter_name)s says:" #: taiga/projects/templates/emails/transfer_reject-body-text.jinja:11 msgid "" @@ -3173,10 +3860,13 @@ msgid "" "If you want, you can still try to transfer the project ownership to a " "different person.\n" msgstr "" +"\n" +"If you want, you can still try to transfer the project ownership to a " +"different person.\n" #: taiga/projects/templates/emails/transfer_reject-body-text.jinja:15 msgid "Request transfer to a different person:" -msgstr "" +msgstr "Request transfer to a different person:" #: taiga/projects/templates/emails/transfer_reject-subject.jinja:1 #, python-format @@ -3184,6 +3874,8 @@ msgid "" "\n" "[%(project)s] Project ownership transfer declined\n" msgstr "" +"\n" +"[%(project)s] Project ownership transfer declined\n" #: taiga/projects/templates/emails/transfer_request-body-html.jinja:4 #, python-format @@ -3194,6 +3886,11 @@ msgid "" "\"%(project_name)s\".

\n" " " msgstr "" +"\n" +"

Hi %(owner_name)s,

\n" +"

%(requester_name)s has requested to become the project owner for " +"\"%(project_name)s\".

\n" +" " #: taiga/projects/templates/emails/transfer_request-body-html.jinja:9 msgid "" @@ -3202,11 +3899,15 @@ msgid "" "project transfer from the administration panel.

\n" " " msgstr "" +"\n" +"

Please, click on \"Continue\" if you would like to start the " +"project transfer from the administration panel.

\n" +" " #: taiga/projects/templates/emails/transfer_request-body-html.jinja:14 #: taiga/projects/templates/emails/transfer_start-body-html.jinja:22 msgid "Continue" -msgstr "" +msgstr "Continue" #: taiga/projects/templates/emails/transfer_request-body-text.jinja:1 #, python-format @@ -3216,6 +3917,10 @@ msgid "" "%(requester_name)s has requested to become the project owner for " "\"%(project_name)s\".\n" msgstr "" +"\n" +"Hi %(owner_name)s,\n" +"%(requester_name)s has requested to become the project owner for " +"\"%(project_name)s\".\n" #: taiga/projects/templates/emails/transfer_request-body-text.jinja:6 msgid "" @@ -3223,10 +3928,13 @@ msgid "" "Please, go to your project settings if you would like to start the project " "transfer from the administration panel.\n" msgstr "" +"\n" +"Please, go to your project settings if you would like to start the project " +"transfer from the administration panel.\n" #: taiga/projects/templates/emails/transfer_request-body-text.jinja:10 msgid "Go to your project settings:" -msgstr "" +msgstr "Go to your project settings:" #: taiga/projects/templates/emails/transfer_request-subject.jinja:1 #, python-format @@ -3234,6 +3942,8 @@ msgid "" "\n" "[%(project)s] Project ownership transfer request\n" msgstr "" +"\n" +"[%(project)s] Project ownership transfer request\n" #: taiga/projects/templates/emails/transfer_start-body-html.jinja:4 #, python-format @@ -3244,6 +3954,11 @@ msgid "" "would like you to become the new project owner.

\n" " " msgstr "" +"\n" +"

Hi %(receiver_name)s,

\n" +"

%(owner_name)s, the current project owner at \"%(project_name)s\" " +"would like you to become the new project owner.

\n" +" " #: taiga/projects/templates/emails/transfer_start-body-html.jinja:10 #, python-format @@ -3252,6 +3967,9 @@ msgid "" "

%(owner_name)s says:

\n" " " msgstr "" +"\n" +"

%(owner_name)s says:

\n" +" " #: taiga/projects/templates/emails/transfer_start-body-html.jinja:17 msgid "" @@ -3260,6 +3978,10 @@ msgid "" "proposal.

\n" " " msgstr "" +"\n" +"

Please, click on \"Continue\" to either accept or reject this " +"proposal.

\n" +" " #: taiga/projects/templates/emails/transfer_start-body-text.jinja:1 #, python-format @@ -3269,11 +3991,15 @@ msgid "" "%(owner_name)s, the current project owner at \"%(project_name)s\" would like " "you to become the new project owner.\n" msgstr "" +"\n" +"Hi %(receiver_name)s,\n" +"%(owner_name)s, the current project owner at \"%(project_name)s\" would like " +"you to become the new project owner.\n" #: taiga/projects/templates/emails/transfer_start-body-text.jinja:6 #, python-format msgid "%(owner_name)s says:" -msgstr "" +msgstr "%(owner_name)s says:" #: taiga/projects/templates/emails/transfer_start-body-text.jinja:11 msgid "" @@ -3281,10 +4007,13 @@ msgid "" "Please, go to the following link to either accept or reject this proposal.\n" msgstr "" +"\n" +"Please, go to the following link to either accept or reject this proposal.\n" #: taiga/projects/templates/emails/transfer_start-body-text.jinja:15 msgid "Accept or reject the project ownership transfer:" -msgstr "" +msgstr "Accept or reject the project ownership transfer:" #: taiga/projects/templates/emails/transfer_start-subject.jinja:1 #, python-format @@ -3292,11 +4021,13 @@ msgid "" "\n" "[%(project)s] Project ownership transfer offer\n" msgstr "" +"\n" +"[%(project)s] Project ownership transfer offer\n" #. Translators: Name of scrum project template. #: taiga/projects/translations.py:30 msgid "Scrum" -msgstr "" +msgstr "Scrum" #. Translators: Description of scrum project template. #: taiga/projects/translations.py:32 @@ -3308,11 +4039,17 @@ msgid "" "then allowed to grow and change as more is learned about the product and its " "customers" msgstr "" +"The agile product backlog in Scrum is a prioritized features list, " +"containing short descriptions of all functionality desired in the product. " +"When applying Scrum, it's not necessary to start a project with a lengthy, " +"upfront effort to document all requirements. The Scrum product backlog is " +"then allowed to grow and change as more is learned about the product and its " +"customers" #. Translators: Name of kanban project template. #: taiga/projects/translations.py:35 msgid "Kanban" -msgstr "" +msgstr "Kanban" #. Translators: Description of kanban project template. #: taiga/projects/translations.py:37 @@ -3322,66 +4059,70 @@ msgid "" "process, from definition of a task to its delivery to the customer, is " "displayed for participants to see and team members pull work from a queue." msgstr "" +"Kanban is a method for managing knowledge work with an emphasis on just-in-" +"time delivery while not overloading the team members. In this approach, the " +"process, from definition of a task to its delivery to the customer, is " +"displayed for participants to see and team members pull work from a queue." #. Translators: User story point value (value = undefined) #: taiga/projects/translations.py:45 msgid "?" -msgstr "" +msgstr "?" #. Translators: User story point value (value = 0) #: taiga/projects/translations.py:47 msgid "0" -msgstr "" +msgstr "0" #. Translators: User story point value (value = 0.5) #: taiga/projects/translations.py:49 msgid "1/2" -msgstr "" +msgstr "1/2" #. Translators: User story point value (value = 1) #: taiga/projects/translations.py:51 msgid "1" -msgstr "" +msgstr "1" #. Translators: User story point value (value = 2) #: taiga/projects/translations.py:53 msgid "2" -msgstr "" +msgstr "2" #. Translators: User story point value (value = 3) #: taiga/projects/translations.py:55 msgid "3" -msgstr "" +msgstr "3" #. Translators: User story point value (value = 5) #: taiga/projects/translations.py:57 msgid "5" -msgstr "" +msgstr "5" #. Translators: User story point value (value = 8) #: taiga/projects/translations.py:59 msgid "8" -msgstr "" +msgstr "8" #. Translators: User story point value (value = 10) #: taiga/projects/translations.py:61 msgid "10" -msgstr "" +msgstr "10" #. Translators: User story point value (value = 13) #: taiga/projects/translations.py:63 msgid "13" -msgstr "" +msgstr "13" #. Translators: User story point value (value = 20) #: taiga/projects/translations.py:65 msgid "20" -msgstr "" +msgstr "20" #. Translators: User story point value (value = 40) #: taiga/projects/translations.py:67 msgid "40" -msgstr "" +msgstr "40" #. Translators: User story status #. Translators: Task status @@ -3389,12 +4130,12 @@ msgstr "" #: taiga/projects/translations.py:75 taiga/projects/translations.py:98 #: taiga/projects/translations.py:114 msgid "New" -msgstr "" +msgstr "New" #. Translators: User story status #: taiga/projects/translations.py:78 msgid "Ready" -msgstr "" +msgstr "Ready" #. Translators: User story status #. Translators: Task status @@ -3402,7 +4143,7 @@ msgstr "" #: taiga/projects/translations.py:81 taiga/projects/translations.py:100 #: taiga/projects/translations.py:116 msgid "In progress" -msgstr "" +msgstr "In progress" #. Translators: User story status #. Translators: Task status @@ -3410,458 +4151,467 @@ msgstr "" #: taiga/projects/translations.py:84 taiga/projects/translations.py:102 #: taiga/projects/translations.py:118 msgid "Ready for test" -msgstr "" +msgstr "Ready for test" #. Translators: User story status #: taiga/projects/translations.py:87 msgid "Done" -msgstr "" +msgstr "Done" #. Translators: User story status #: taiga/projects/translations.py:90 msgid "Archived" -msgstr "" +msgstr "Archived" #. Translators: Task status #. Translators: Issue status #: taiga/projects/translations.py:104 taiga/projects/translations.py:120 msgid "Closed" -msgstr "" +msgstr "Closed" #. Translators: Task status #. Translators: Issue status #: taiga/projects/translations.py:106 taiga/projects/translations.py:122 msgid "Needs Info" -msgstr "" +msgstr "Needs Info" #. Translators: Issue status #: taiga/projects/translations.py:124 msgid "Postponed" -msgstr "" +msgstr "Postponed" #. Translators: Issue status #: taiga/projects/translations.py:126 msgid "Rejected" -msgstr "" +msgstr "Rejected" #. Translators: Issue type #: taiga/projects/translations.py:134 msgid "Bug" -msgstr "" +msgstr "Bug" #. Translators: Issue type #: taiga/projects/translations.py:136 msgid "Question" -msgstr "" +msgstr "Question" #. Translators: Issue type #: taiga/projects/translations.py:138 msgid "Enhancement" -msgstr "" +msgstr "Enhancement" #. Translators: Issue priority #: taiga/projects/translations.py:146 msgid "Low" -msgstr "" +msgstr "Low" #. Translators: Issue priority #. Translators: Issue severity #: taiga/projects/translations.py:148 taiga/projects/translations.py:161 msgid "Normal" -msgstr "" +msgstr "Normal" #. Translators: Issue priority #: taiga/projects/translations.py:150 msgid "High" -msgstr "" +msgstr "High" #. Translators: Issue severity #: taiga/projects/translations.py:157 msgid "Wishlist" -msgstr "" +msgstr "Wishlist" #. Translators: Issue severity #: taiga/projects/translations.py:159 msgid "Minor" -msgstr "" +msgstr "Minor" #. Translators: Issue severity #: taiga/projects/translations.py:163 msgid "Important" -msgstr "" +msgstr "Important" #. Translators: Issue severity #: taiga/projects/translations.py:165 msgid "Critical" -msgstr "" +msgstr "Critical" #. Translators: User role #: taiga/projects/translations.py:172 msgid "UX" -msgstr "" +msgstr "UX" #. Translators: User role #: taiga/projects/translations.py:174 msgid "Design" -msgstr "" +msgstr "Design" #. Translators: User role #: taiga/projects/translations.py:176 msgid "Front" -msgstr "" +msgstr "Front" #. Translators: User role #: taiga/projects/translations.py:178 msgid "Back" -msgstr "" +msgstr "Back" #. Translators: User role #: taiga/projects/translations.py:180 msgid "Product Owner" -msgstr "" +msgstr "Product Owner" #. Translators: User role #: taiga/projects/translations.py:182 msgid "Stakeholder" -msgstr "" +msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." -msgstr "" +msgstr "You don't have permissions to set this sprint to this user story." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." -msgstr "" +msgstr "You don't have permissions to set this status to this user story." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" -msgstr "" +msgstr "Invalid role id '{role_id}'" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" -msgstr "" +msgstr "Invalid points id '{points_id}'" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" -msgstr "" +msgstr "Generating the user story #{ref} - {subject}" #: taiga/projects/userstories/models.py:41 msgid "role" -msgstr "" +msgstr "role" #: taiga/projects/userstories/models.py:80 msgid "backlog order" -msgstr "" +msgstr "backlog order" #: taiga/projects/userstories/models.py:82 msgid "sprint order" -msgstr "" +msgstr "sprint order" #: taiga/projects/userstories/models.py:84 msgid "kanban order" -msgstr "" +msgstr "kanban order" #: taiga/projects/userstories/models.py:92 msgid "finish date" -msgstr "" +msgstr "finish date" #: taiga/projects/userstories/models.py:107 msgid "generated from issue" -msgstr "" +msgstr "generated from issue" #: taiga/projects/userstories/validators.py:43 msgid "There's no user story with that id" -msgstr "" +msgstr "There's no user story with that id" #: taiga/projects/userstories/validators.py:83 #: taiga/projects/userstories/validators.py:109 msgid "" "Invalid user story status id. The status must belong to the same project." msgstr "" +"Invalid user story status id. The status must belong to the same project." #: taiga/projects/userstories/validators.py:121 msgid "Invalid milestone id. The milistone must belong to the same project." -msgstr "" +msgstr "Invalid milestone id. The milistone must belong to the same project." #: taiga/projects/userstories/validators.py:136 msgid "" "Invalid user story ids. All stories must belong to the same project and, if " "it exists, to the same status and milestone." msgstr "" +"Invalid user story ids. All stories must belong to the same project and, if " +"it exists, to the same status and milestone." #: taiga/projects/userstories/validators.py:160 msgid "The milestone isn't valid for the project" -msgstr "" +msgstr "The milestone isn't valid for the project" #: taiga/projects/userstories/validators.py:170 msgid "All the user stories must be from the same project" -msgstr "" +msgstr "All the user stories must be from the same project" #: taiga/projects/validators.py:63 msgid "There's no project with that id" -msgstr "" +msgstr "There's no project with that id" #: taiga/projects/validators.py:145 msgid "The user yet exists in the project" -msgstr "" +msgstr "The user yet exists in the project" #: taiga/projects/validators.py:155 msgid "Invalid role for the project" -msgstr "" +msgstr "Invalid role for the project" #: taiga/projects/validators.py:170 taiga/projects/validators.py:225 msgid "The user must be a valid contact" -msgstr "" +msgstr "The user must be a valid contact" #: taiga/projects/validators.py:191 msgid "The project owner must be admin." -msgstr "" +msgstr "The project owner must be admin." #: taiga/projects/validators.py:195 msgid "At least one user must be an active admin for this project." -msgstr "" +msgstr "At least one user must be an active admin for this project." #: taiga/projects/validators.py:240 msgid "Invalid role ids. All roles must belong to the same project." -msgstr "" +msgstr "Invalid role ids. All roles must belong to the same project." #: taiga/projects/validators.py:264 msgid "Default options" -msgstr "" +msgstr "Default options" #: taiga/projects/validators.py:265 msgid "User story's statuses" -msgstr "" +msgstr "User story's statuses" #: taiga/projects/validators.py:266 msgid "Points" -msgstr "" +msgstr "Points" #: taiga/projects/validators.py:267 msgid "Task's statuses" -msgstr "" +msgstr "Task's statuses" #: taiga/projects/validators.py:268 msgid "Issue's statuses" -msgstr "" +msgstr "Issue's statuses" #: taiga/projects/validators.py:269 msgid "Issue's types" -msgstr "" +msgstr "Issue's types" #: taiga/projects/validators.py:270 msgid "Priorities" -msgstr "" +msgstr "Priorities" #: taiga/projects/validators.py:271 msgid "Severities" -msgstr "" +msgstr "Severities" #: taiga/projects/validators.py:272 msgid "Roles" -msgstr "" +msgstr "Roles" #: taiga/projects/votes/models.py:33 taiga/projects/votes/models.py:34 #: taiga/projects/votes/models.py:58 msgid "Votes" -msgstr "" +msgstr "Votes" #: taiga/projects/votes/models.py:57 msgid "Vote" -msgstr "" +msgstr "Vote" #: taiga/projects/wiki/api.py:77 msgid "'content' parameter is mandatory" -msgstr "" +msgstr "'content' parameter is mandatory" #: taiga/projects/wiki/api.py:80 msgid "'project_id' parameter is mandatory" -msgstr "" +msgstr "'project_id' parameter is mandatory" #: taiga/projects/wiki/models.py:42 msgid "last modifier" -msgstr "" +msgstr "last modifier" #: taiga/projects/wiki/models.py:75 msgid "href" -msgstr "" +msgstr "href" #: taiga/timeline/signals.py:65 msgid "Check the history API for the exact diff" -msgstr "" +msgstr "Check the history API for the exact diff" #: taiga/users/admin.py:39 msgid "Project Member" -msgstr "" +msgstr "Project Member" #: taiga/users/admin.py:40 msgid "Project Members" -msgstr "" +msgstr "Project Members" #: taiga/users/admin.py:50 msgid "id" -msgstr "" +msgstr "id" #: taiga/users/admin.py:81 msgid "Project Ownership" -msgstr "" +msgstr "Project Ownership" #: taiga/users/admin.py:82 msgid "Project Ownerships" -msgstr "" +msgstr "Project Ownerships" #: taiga/users/admin.py:119 msgid "Personal info" -msgstr "" +msgstr "Personal info" #: taiga/users/admin.py:122 msgid "Permissions" -msgstr "" +msgstr "Permissions" #: taiga/users/admin.py:123 msgid "Restrictions" -msgstr "" +msgstr "Restrictions" #: taiga/users/admin.py:125 msgid "Important dates" -msgstr "" +msgstr "Important dates" #: taiga/users/api.py:132 msgid "Duplicated email" -msgstr "" +msgstr "Duplicated email" #: taiga/users/api.py:134 msgid "Not valid email" -msgstr "" +msgstr "Not valid email" #: taiga/users/api.py:172 msgid "Invalid username or email" -msgstr "" +msgstr "Invalid username or email" #: taiga/users/api.py:181 msgid "Mail sended successful!" -msgstr "" +msgstr "Mail sended successful!" #: taiga/users/api.py:219 msgid "Current password parameter needed" -msgstr "" +msgstr "Current password parameter needed" #: taiga/users/api.py:222 msgid "New password parameter needed" -msgstr "" +msgstr "New password parameter needed" #: taiga/users/api.py:225 msgid "Invalid password length at least 6 charaters needed" -msgstr "" +msgstr "Invalid password length at least 6 charaters needed" #: taiga/users/api.py:228 msgid "Invalid current password" -msgstr "" +msgstr "Invalid current password" #: taiga/users/api.py:275 taiga/users/api.py:281 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" +"Invalid, are you sure the token is correct and you didn't use it before?" #: taiga/users/api.py:317 taiga/users/api.py:325 taiga/users/api.py:328 msgid "Invalid, are you sure the token is correct?" -msgstr "" - -#: taiga/users/models.py:98 -msgid "superuser status" -msgstr "" +msgstr "Invalid, are you sure the token is correct?" #: taiga/users/models.py:99 +msgid "superuser status" +msgstr "superuser status" + +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" +"Designates that this user has all permissions without explicitly assigning " +"them." -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" -msgstr "" +msgstr "username" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" +"Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." -msgstr "" +msgstr "Enter a valid username." -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" -msgstr "" +msgstr "active" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" -msgstr "" - -#: taiga/users/models.py:146 -msgid "photo" -msgstr "" - -#: taiga/users/models.py:147 -msgid "date joined" -msgstr "" - -#: taiga/users/models.py:149 -msgid "default language" -msgstr "" - -#: taiga/users/models.py:151 -msgid "default theme" -msgstr "" +msgstr "biography" #: taiga/users/models.py:153 -msgid "default timezone" -msgstr "" +msgid "photo" +msgstr "photo" -#: taiga/users/models.py:155 -msgid "colorize tags" -msgstr "" +#: taiga/users/models.py:154 +msgid "date joined" +msgstr "date joined" + +#: taiga/users/models.py:156 +msgid "default language" +msgstr "default language" + +#: taiga/users/models.py:158 +msgid "default theme" +msgstr "default theme" #: taiga/users/models.py:160 -msgid "email token" -msgstr "" +msgid "default timezone" +msgstr "default timezone" #: taiga/users/models.py:162 -msgid "new email address" -msgstr "" +msgid "colorize tags" +msgstr "colorize tags" + +#: taiga/users/models.py:167 +msgid "email token" +msgstr "email token" #: taiga/users/models.py:169 +msgid "new email address" +msgstr "new email address" + +#: taiga/users/models.py:176 msgid "max number of owned private projects" -msgstr "" - -#: taiga/users/models.py:172 -msgid "max number of owned public projects" -msgstr "" - -#: taiga/users/models.py:175 -msgid "max number of memberships for each owned private project" -msgstr "" +msgstr "max number of owned private projects" #: taiga/users/models.py:179 -msgid "max number of memberships for each owned public project" -msgstr "" +msgid "max number of owned public projects" +msgstr "max number of owned public projects" -#: taiga/users/models.py:307 +#: taiga/users/models.py:182 +msgid "max number of memberships for each owned private project" +msgstr "max number of memberships for each owned private project" + +#: taiga/users/models.py:186 +msgid "max number of memberships for each owned public project" +msgstr "max number of memberships for each owned public project" + +#: taiga/users/models.py:314 msgid "permissions" -msgstr "" +msgstr "permissions" #: taiga/users/services.py:51 taiga/users/services.py:68 msgid "Username or password does not matches user." -msgstr "" +msgstr "Username or password does not matches user." #: taiga/users/templates/emails/change_email-body-html.jinja:4 #, python-format @@ -3875,6 +4625,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Change your email

\n" +"

Hello %(full_name)s,
please confirm your email

\n" +" Confirm " +"email\n" +"

You can ignore this message if you did not request.

\n" +"

The Taiga Team

\n" +" " #: taiga/users/templates/emails/change_email-body-text.jinja:1 #, python-format @@ -3889,10 +4647,19 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(full_name)s, please confirm your email\n" +"\n" +"%(url)s\n" +"\n" +"You can ignore this message if you did not request.\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/users/templates/emails/change_email-subject.jinja:1 msgid "[Taiga] Change email" -msgstr "" +msgstr "[Taiga] Change email" #: taiga/users/templates/emails/password_recovery-body-html.jinja:4 #, python-format @@ -3906,6 +4673,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Recover your password

\n" +"

Hello %(full_name)s,
you asked to recover your password

\n" +" Recover your password\n" +"

You can ignore this message if you did not request.

\n" +"

The Taiga Team

\n" +" " #: taiga/users/templates/emails/password_recovery-body-text.jinja:1 #, python-format @@ -3920,10 +4695,19 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hello %(full_name)s, you asked to recover your password\n" +"\n" +"%(url)s\n" +"\n" +"You can ignore this message if you did not request.\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/users/templates/emails/password_recovery-subject.jinja:1 msgid "[Taiga] Password recovery" -msgstr "" +msgstr "[Taiga] Password recovery" #: taiga/users/templates/emails/registered_user-body-html.jinja:6 msgid "" @@ -3940,6 +4724,18 @@ msgid "" " \n" " " msgstr "" +"\n" +" \n" +"

Thank you for registering in Taiga

\n" +"

We hope you enjoy it

\n" +"

We built Taiga because we wanted the project management tool " +"that sits open on our computers all day long, to serve as a continued " +"reminder of why we love to collaborate, code and design.

\n" +"

We built it to be beautiful, elegant, simple to use and fun - " +"without forsaking flexibility and power.

\n" +" The taiga Team\n" +" \n" +" " #: taiga/users/templates/emails/registered_user-body-html.jinja:23 #, python-format @@ -3950,6 +4746,11 @@ msgid "" "here\n" " " msgstr "" +"\n" +" You may remove your account from this service clicking " +"here\n" +" " #: taiga/users/templates/emails/registered_user-body-text.jinja:1 msgid "" @@ -3968,6 +4769,20 @@ msgid "" "--\n" "The taiga Team\n" msgstr "" +"\n" +"Thank you for registering in Taiga\n" +"\n" +"We hope you enjoy it\n" +"\n" +"We built Taiga because we wanted the project management tool that sits open " +"on our computers all day long, to serve as a continued reminder of why we " +"love to collaborate, code and design.\n" +"\n" +"We built it to be beautiful, elegant, simple to use and fun - without " +"forsaking flexibility and power.\n" +"\n" +"--\n" +"The taiga Team\n" #: taiga/users/templates/emails/registered_user-body-text.jinja:13 #, python-format @@ -3975,56 +4790,59 @@ msgid "" "\n" "You may remove your account from this service: %(url)s\n" msgstr "" +"\n" +"You may remove your account from this service: %(url)s\n" #: taiga/users/templates/emails/registered_user-subject.jinja:1 msgid "You've been Taigatized!" -msgstr "" +msgstr "You've been Taigatized!" #: taiga/users/validators.py:45 msgid "invalid" -msgstr "" +msgstr "invalid" #: taiga/users/validators.py:56 msgid "Invalid username. Try with a different one." -msgstr "" +msgstr "Invalid username. Try with a different one." #: taiga/userstorage/api.py:53 msgid "" "Duplicate key value violates unique constraint. Key '{}' already exists." msgstr "" +"Duplicate key value violates unique constraint. Key '{}' already exists." #: taiga/userstorage/models.py:32 msgid "key" -msgstr "" +msgstr "key" #: taiga/webhooks/models.py:30 taiga/webhooks/models.py:40 msgid "URL" -msgstr "" +msgstr "URL" #: taiga/webhooks/models.py:31 msgid "secret key" -msgstr "" +msgstr "secret key" #: taiga/webhooks/models.py:41 msgid "status code" -msgstr "" +msgstr "status code" #: taiga/webhooks/models.py:42 msgid "request data" -msgstr "" +msgstr "request data" #: taiga/webhooks/models.py:43 msgid "request headers" -msgstr "" +msgstr "request headers" #: taiga/webhooks/models.py:44 msgid "response data" -msgstr "" +msgstr "response data" #: taiga/webhooks/models.py:45 msgid "response headers" -msgstr "" +msgstr "response headers" #: taiga/webhooks/models.py:46 msgid "duration" -msgstr "" +msgstr "duration" diff --git a/taiga/locale/es/LC_MESSAGES/django.po b/taiga/locale/es/LC_MESSAGES/django.po index dcffe647..0e56f04b 100644 --- a/taiga/locale/es/LC_MESSAGES/django.po +++ b/taiga/locale/es/LC_MESSAGES/django.po @@ -7,11 +7,12 @@ # Esther Moreno , 2015 # Gustavo Díaz Jaimes , 2015 # Hector Colina , 2015 -# Jesus Marin , 2015 +# Jesús , 2015 # Jorge Sanchez , 2016 # José Alejandro Díaz Carmona , 2016 # Kiko Fernandez-Reyes , 2016 # Luis Sebastian Urrutia Fuentes , 2016 +# Miguel Gonzalez , 2018 # Renelis Abreu Ramirez , 2016 # Taiga Dev Team , 2015-2016 # Xaviju , 2016 @@ -19,9 +20,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 17:04+0000\n" -"Last-Translator: David Barragán \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-16 08:21+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Spanish (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/es/)\n" "MIME-Version: 1.0\n" @@ -67,8 +68,8 @@ msgid "Error on creating new user." msgstr "Error al crear un nuevo usuario " #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Token inválido" @@ -208,12 +209,12 @@ msgid "" msgstr "Adjunta una imagen válida. El fichero no es una imagen o está dañada." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Elemento bloqueado" @@ -267,21 +268,21 @@ msgstr "Hipervínculo inválido - el objeto no existe." msgid "Incorrect type. Expected url string, received %s." msgstr "Tipo incorrecto. Se esperaba una url y se ha recibido %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Datos invalidos" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "No se han introducido datos." -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "No se pueden crear nuevos objetos. Sólo está permitida la actualización de " "los existentes." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Se esperaba una lista de objetos." @@ -293,7 +294,7 @@ msgstr "No encontrado" msgid "Permission denied" msgstr "Permiso denegado." -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Error en la aplicación del servidor." @@ -372,12 +373,12 @@ msgstr "Error por incumplimiento de precondición" msgid "No room left for more projects." msgstr "No hay espacio para mas proyectos" -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Error en los típos de parámetros de filtrado" -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' debe ser un valor entero." @@ -427,6 +428,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " Configura las " +"notificaciones por correo electrónico o date de baja:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Ayuda de Taiga:\n" " %(support_url)s\n" +"\" title=\"Support page\" style=\"color: #9dce0a\">%(support_url)s\n" "
\n" " Contacta con " "nosotros:\n" " \n" +"%(support_email)s\" title=\"Support email\" style=\"color: #9dce0a\">\n" " %(support_email)s\n" " \n" "
\n" -" Lista de correo:" +" Lista de trabajo:" "\n" " \n" +"\"%(mailing_list_url)s\" title=\"Mailing list\" style=\"color: #9dce0a\">\n" " %(mailing_list_url)s\n" " \n" " " @@ -531,68 +543,68 @@ msgstr "Se necesita el fichero con los datos exportados" msgid "Invalid dump format" msgstr "Formato de fichero de exportación inválido" -#: taiga/export_import/services/store.py:718 -#: taiga/export_import/services/store.py:736 +#: taiga/export_import/services/store.py:722 +#: taiga/export_import/services/store.py:740 msgid "error importing project data" msgstr "error importando los datos del proyecto" -#: taiga/export_import/services/store.py:743 +#: taiga/export_import/services/store.py:747 msgid "error importing roles" msgstr "error importando los roles" -#: taiga/export_import/services/store.py:748 +#: taiga/export_import/services/store.py:752 msgid "error importing memberships" msgstr "error importando los miembros" -#: taiga/export_import/services/store.py:759 +#: taiga/export_import/services/store.py:763 msgid "error importing lists of project attributes" msgstr "error importando la listados de valores de attributos del proyecto" -#: taiga/export_import/services/store.py:763 +#: taiga/export_import/services/store.py:767 msgid "error importing default project attributes values" msgstr "error importando los valores por defecto de los atributos del proyecto" -#: taiga/export_import/services/store.py:774 +#: taiga/export_import/services/store.py:778 msgid "error importing custom attributes" msgstr "error importando los atributos personalizados" -#: taiga/export_import/services/store.py:778 +#: taiga/export_import/services/store.py:782 msgid "error importing sprints" msgstr "error importando los sprints" -#: taiga/export_import/services/store.py:782 +#: taiga/export_import/services/store.py:786 msgid "error importing issues" msgstr "error importando las peticiones" -#: taiga/export_import/services/store.py:786 +#: taiga/export_import/services/store.py:790 msgid "error importing user stories" msgstr "error importando las historias de usuario" -#: taiga/export_import/services/store.py:790 +#: taiga/export_import/services/store.py:794 msgid "error importing epics" msgstr "error importando epics" -#: taiga/export_import/services/store.py:794 +#: taiga/export_import/services/store.py:798 msgid "error importing tasks" msgstr "error importando las tareas" -#: taiga/export_import/services/store.py:798 +#: taiga/export_import/services/store.py:802 msgid "error importing wiki pages" msgstr "error importando las páginas del wiki" -#: taiga/export_import/services/store.py:802 +#: taiga/export_import/services/store.py:806 msgid "error importing wiki links" msgstr "error importando los enlaces del wiki" -#: taiga/export_import/services/store.py:806 +#: taiga/export_import/services/store.py:810 msgid "error importing tags" msgstr "error importando los tags" -#: taiga/export_import/services/store.py:810 +#: taiga/export_import/services/store.py:814 msgid "error importing timelines" msgstr "error importando los timelines" -#: taiga/export_import/services/store.py:832 +#: taiga/export_import/services/store.py:836 msgid "unexpected error importing project" msgstr "Error inesperado al importar el proyecto" @@ -912,12 +924,12 @@ msgstr "Se requiere autenticación" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "nombre" @@ -934,7 +946,7 @@ msgstr "web" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "descripción" @@ -953,11 +965,11 @@ msgstr "usuario" msgid "application" msgstr "aplicación" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "nombre completo" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "dirección de email" @@ -970,7 +982,7 @@ msgstr "comentario" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -1042,8 +1054,8 @@ msgid "The payload is not a valid json" msgstr "El payload no es un json válido" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "El proyecto no existe" @@ -1107,12 +1119,12 @@ msgstr "usuario desconocido" #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" "{user_text} cambió el estado desde un [commit en {platform}]({commit_url} " -"\"Vel el commit '{commit_id} - {commit_message}'\")\n" +"\"Vel el commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Estado: **{src_status}** → **{dst_status}**" @@ -1131,12 +1143,12 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" "Esta {type_name} ha sido mencionada por {user_text} en el [commit de " -"{platform}]({commit_url} \"Ver commit '{commit_id} - {commit_message}'\") " -"\"{commit_message}\"" +"{platform}]({commit_url} \"Ver commit '{commit_id} - " +"{commit_short_message}'\") \"{commit_message}\"" #: taiga/hooks/event_hooks.py:184 #, python-brace-format @@ -1156,7 +1168,7 @@ msgstr "El estado no existe" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" @@ -1192,16 +1204,20 @@ msgstr "El servicio de terceros está fallando" msgid "Error importing GitHub project" msgstr "Error importando el proyecto de GitHub" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" msgstr "El parámetro url es necesario" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" msgstr "project_type {} inválido" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "" + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" msgstr "El token de atuenticación es inválido o ha expirado" @@ -1660,35 +1676,41 @@ msgstr "Haz privado" msgid "Delete selected %(verbose_name_plural)s" msgstr "Eliminar seleccionados %(verbose_name_plural)s" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "Argumentos incompletos" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "Formato de imagen no válido" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "Nombre de plantilla invalido" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "Descripción de plantilla invalida" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "id de usuario inválido" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "El usuario no existe" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "El usuario debe ser un miembro del proyecto" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" @@ -1696,7 +1718,7 @@ msgstr "" "El proyecto debe tener un dueño y al menos uno de los usuarios debe ser un " "administrador activo" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "No tienes suficientes permisos para ver esto." @@ -1715,15 +1737,15 @@ msgstr "El ID de proyecto no coincide entre el adjunto y un proyecto" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "Proyecto" @@ -1739,7 +1761,7 @@ msgstr "id de objeto" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1764,11 +1786,11 @@ msgstr "desde comentario" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "orden" @@ -1949,11 +1971,11 @@ msgstr "Orden de epics" msgid "subject" msgstr "asunto" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "color" @@ -2068,7 +2090,7 @@ msgid "Unassigned" msgstr "No asignado" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-borrado-" @@ -2101,12 +2123,12 @@ msgid "removed:" msgstr "borrado:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "De:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "A:" @@ -2124,23 +2146,23 @@ msgstr "nota de bloqueo" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "No tienes permisos para asignar un sprint a esta petición." -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "No tienes permisos para asignar un estado a esta petición." -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "No tienes permisos para establecer la gravedad de esta petición." -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "No tienes permiso para establecer la prioridad de esta petición." -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "No tienes permiso para establecer el tipo de esta petición." @@ -2170,10 +2192,10 @@ msgid "Likes" msgstr "Likes" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "slug" @@ -2185,9 +2207,9 @@ msgstr "fecha estimada de comienzo" msgid "estimated finish date" msgstr "fecha estimada de finalización" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "está cerrada" @@ -2238,7 +2260,7 @@ msgstr "email" msgid "create at" msgstr "creado el" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "token" @@ -2246,7 +2268,7 @@ msgstr "token" msgid "invitation extra text" msgstr "texto extra de la invitación" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "orden del usuario" @@ -2302,35 +2324,35 @@ msgstr "total de sprints" msgid "total story points" msgstr "puntos de historia totales" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "activar contacto" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "Paneles épicos activos" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "panel de backlog activado" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "panel de kanban activado" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "panel de wiki activo" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "panel de peticiones activo" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "sistema de videoconferencia" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "datos extra de videoconferencia" @@ -2354,11 +2376,11 @@ msgstr "permisos de usuario" msgid "is featured" msgstr "es destacado" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "está buscando a gente" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "notas sobre la búsqueda de gente" @@ -2403,80 +2425,80 @@ msgstr "actividad el último mes" msgid "activity last year" msgstr "actividad el último áño" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "configuración de modulos" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "archivado" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "limite del trabajo en progreso" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "valor" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "rol por defecto para el propietario" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "opciones por defecto" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "Estados del epic" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "estatuas de historias" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "puntos" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "estatus de tareas" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "estados de petición" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "tipos de petición" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "prioridades" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "gravedades" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "roles" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "atributos personalizados de épicas" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "atributos personalizados de histórias" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "atributos personalizados de tareas" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" msgstr "atributos personalizados de peticiones" @@ -2509,13 +2531,13 @@ msgstr "usuarios notificados" msgid "Watched" msgstr "Observado" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "" "Ya existe una política de notificación para este usuario en el proyecto." -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "Valor inválido para el nivel de notificación" @@ -3499,15 +3521,15 @@ msgstr "El color no tiene un código hexadecimal válido." msgid "The tag doesn't exist." msgstr "El tag no existe" -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "No tienes permisos para asignar este sprint a esta tarea." -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "No tienes permisos para asignar esta historia a esta tarea." -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "No tienes permisos para asignar este estado a esta tarea." @@ -4259,27 +4281,27 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "No tienes permisos para asignar este sprint a esta historia de usuario." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "" "No tienes permisos para asignar este estado a esta historia de usuario." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "Inválido id de rol '{role_id}'" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "Inválido id de punto de historia '{points_id}'" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Generada la historia de usuario #{ref} - {subject}" @@ -4513,11 +4535,11 @@ msgstr "" msgid "Invalid, are you sure the token is correct?" msgstr "Inválido, ¿estás seguro de que el token es correcto?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "es superusuario" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -4525,24 +4547,24 @@ msgstr "" "Otorga todos los permisos a este usuario sin necesidad de hacerlo " "explicitamente." -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "nombre de usuario" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Obligatorio. 30 caracteres o menos. Letras, números y /./-/_" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "Introduce un nombre de usuario válido" -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "activo" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -4550,59 +4572,59 @@ msgstr "" "Denota a los usuarios activos. Desmárcalo para dar de baja/borrar a un " "usuario." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "biografía" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "foto" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "fecha de registro" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "idioma por defecto" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "tema por defecto" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "zona horaria por defecto" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "añade color a los tags" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "token de email" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "nueva dirección de email" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "numero maximo de proyectos privados asignados" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "numero maximo de proyectos publicos asignados" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "máximo de membresías para cada proyecto privado poseído" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "máximo de membresías para cada proyecto público poseído" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "permisos" diff --git a/taiga/locale/fi/LC_MESSAGES/django.po b/taiga/locale/fi/LC_MESSAGES/django.po index 4a26439a..49dc2cc2 100644 --- a/taiga/locale/fi/LC_MESSAGES/django.po +++ b/taiga/locale/fi/LC_MESSAGES/django.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Finnish (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/fi/)\n" "MIME-Version: 1.0\n" @@ -58,8 +58,8 @@ msgid "Error on creating new user." msgstr "Virhe käyttäjän luonnissa." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Väärä tunniste" @@ -191,12 +191,12 @@ msgstr "" "vioittunut." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Estetty elementti" @@ -249,19 +249,19 @@ msgstr "Virheellinen linkki - kohdetta ei löydy." msgid "Incorrect type. Expected url string, received %s." msgstr "Väärä tyyppi. Odotan URL-merkkijonoa, sain %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Virheellinen data" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Syöte puuttuu" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "En voi luoda uutta kohdetta, vain olemassaolevat voidaan päivittää." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Anna lista kohteista." @@ -273,7 +273,7 @@ msgstr "Ei löytynyt" msgid "Permission denied" msgstr "Ei käyttöoikeutta" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Palvelinsovelluksen virhe" @@ -352,12 +352,12 @@ msgstr "Precondition error" msgid "No room left for more projects." msgstr "Ei enää tilaa uusille projekteille." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Error in filter params types." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' must be an integer value." @@ -407,6 +407,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " , 2016 # Alain Poirier , 2015 +# Charles Bonnet , 2017 # David Barragán , 2015 # Djyp Forest Fortin , 2015 +# Donatien Schmitz , 2018 +# eldk , 2017 # Florent B. , 2015 # Gary , 2017 # Gautier Ferandelle , 2016 +# jerome marchini , 2017 +# John Weetaker , 2017 # Laurent Cabaret , 2016 # Louis-Michel Couture , 2015 +# madmarsu , 2017 # Matthieu Durocher , 2015 -# naekos , 2015 +# naekos , 2015 # Nicolas Minelle , 2016 # Nlko , 2015 # Regis TEDONE , 2015 @@ -25,9 +31,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: French (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/fr/)\n" "MIME-Version: 1.0\n" @@ -66,15 +72,15 @@ msgstr "Cet utilisateur est déjà inscrit." #: taiga/auth/services.py:140 msgid "This user is already a member of the project." -msgstr "L'utilisateur est déjà un membre du projet" +msgstr "L'utilisateur est déjà membre du projet." #: taiga/auth/services.py:164 msgid "Error on creating new user." -msgstr "Erreur à la création du nouvel utilisateur." +msgstr "Erreur à la création de l'utilisateur." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Jeton invalide" @@ -217,12 +223,12 @@ msgstr "" "image ou était une image corrompue." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Élément bloqué" @@ -277,21 +283,21 @@ msgstr "Hyperlien invalide - l'objet n'existe pas." msgid "Incorrect type. Expected url string, received %s." msgstr "Type incorrect. Chaîne URL attendu, %s reçu." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Donnée invalide" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Aucune entrée fournie" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Impossible de créer un nouvel élément, seuls les éléments existants peuvent " "être mis à jour." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Une liste d'éléments était attendue." @@ -303,7 +309,7 @@ msgstr "Non trouvé" msgid "Permission denied" msgstr "Permission refusée" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Erreur du serveur d'application" @@ -382,12 +388,12 @@ msgstr "Erreur de précondition" msgid "No room left for more projects." msgstr "Limite de projets atteinte." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Erreur dans les types de paramètres de filtres" -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' doit être une valeur entière." @@ -437,6 +443,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " :\"\n" +"\n" +"\n" +"RAISON:\n" +"-------\n" +"{reason}\n" +"\n" +"DETAILS:\n" +"--------\n" +"{details}\n" +"\n" +"TRACE DE L'ERREUR:\n" +"------------" #: taiga/export_import/tasks.py:120 msgid "Error loading project dump" -msgstr "Erreur au chargement du dump du projet" +msgstr "Erreur au chargement de l'export du projet" #: taiga/export_import/tasks.py:121 msgid "Error loading your project dump file" -msgstr "Erreur lors du chargement de votre fichier de vidage de projet" +msgstr "Erreur lors du chargement de votre fichier d'export de projet" #: taiga/export_import/tasks.py:135 msgid " -- no detail info --" @@ -641,12 +668,12 @@ msgid "" " " msgstr "" "\n" -"

Project dump generated

\n" +"

Export du projet généré

\n" "

Bonjour %(user)s,

\n" -"

Votre dump du projet %(project)s a bie nété généré.

\n" +"

Votre export du projet %(project)s a bien été généré.

\n" "

Vous pouvez le télécharger ici :

\n" -"
Télécharger le dump\n" +" Télécharger l'export\n" "

Ce fichier sera supprimé le %(deletion_date)s.

\n" "

L'équipe Taiga

\n" " " @@ -670,8 +697,8 @@ msgstr "" "\n" "Bonjour %(user)s,\n" "\n" -"Votre dump du projet %(project)s a bien été créé. Vous pouvez le télécharger " -"ici :\n" +"Votre export du projet %(project)s a bien été créé. Vous pouvez le " +"télécharger ici :\n" "\n" "%(url)s\n" "\n" @@ -683,7 +710,7 @@ msgstr "" #: taiga/export_import/templates/emails/dump_project-subject.jinja:1 #, python-format msgid "[%(project)s] Your project dump has been generated" -msgstr "[%(project)s] Le dump de votre projet est disponible" +msgstr "[%(project)s] L'export de votre projet est disponible" #: taiga/export_import/templates/emails/export_error-body-html.jinja:4 #, python-format @@ -821,9 +848,9 @@ msgid "" " " msgstr "" "\n" -"

Importation du Dump projet

\n" +"

Projet importé

\n" "

Bonjour %(user)s,

\n" -"

Le dump de votre projet a été correctement importé.

\n" +"

Votre projet a été correctement importé.

\n" "Allez au %(project)s\n" "

L'équipe Taiga

" @@ -846,7 +873,7 @@ msgstr "" "\n" "Hey %(user)s,\n" "\n" -"Votre dump a été correctement importé.\n" +"Votre porjet a été correctement importé.\n" "\n" "Vous pouvez voir le(s) %(project)s ici :\n" "\n" @@ -887,12 +914,12 @@ msgstr "Authentification requise" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "nom" @@ -909,7 +936,7 @@ msgstr "web" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "description" @@ -928,11 +955,11 @@ msgstr "utilisateur" msgid "application" msgstr "application" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "Nom complet" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "Adresse email" @@ -945,7 +972,7 @@ msgstr "Commentaire" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -1017,8 +1044,8 @@ msgid "The payload is not a valid json" msgstr "Le payload n'est pas un json valide" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "Le projet n'existe pas" @@ -1034,6 +1061,10 @@ msgid "" "\n" "\"{comment_message}\"" msgstr "" +"[@{user_name}]({user_url} \"Voir le profil de @{user_name} sur {platform}\") " +"says in [{platform}#{number}]({comment_url} \"Aller au commentaire\"):\n" +"\n" +"\"{comment_message}\"" #: taiga/hooks/event_hooks.py:71 #, python-brace-format @@ -1042,6 +1073,9 @@ msgid "" "\n" "> {comment_message}" msgstr "" +"Commentaire de {platform}:\n" +"\n" +"> {comment_message}" #: taiga/hooks/event_hooks.py:84 msgid "Invalid issue comment information" @@ -1053,11 +1087,13 @@ msgid "" "Issue created by [@{user_name}]({user_url} \"See @{user_name}'s {platform} " "profile\") from [{platform}#{number}]({url} \"Go to issue\")." msgstr "" +"Ticket créé par [@{user_name}]({user_url} \"Voir le profil de @{user_name} " +"sur {platform}\") de [{platform}#{number}]({url} \"Aller au ticket\")." #: taiga/hooks/event_hooks.py:107 #, python-brace-format msgid "Issue created from {platform}." -msgstr "" +msgstr "Problème créé depuis {platform}." #: taiga/hooks/event_hooks.py:120 msgid "Invalid issue information" @@ -1071,7 +1107,7 @@ msgstr "utilisateur inconnu" #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" @@ -1083,12 +1119,15 @@ msgid "" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" +"Statut changé depuis le commit sur {platform} \n" +"\n" +"- Status: **{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:179 #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" @@ -1097,6 +1136,8 @@ msgstr "" msgid "" "This issue has been mentioned in the {platform} commit \"{commit_message}\"" msgstr "" +"Ce problème a été mentionné dans la participation sur {platform} " +"\"{commit_message}\"" #: taiga/hooks/event_hooks.py:206 msgid "The referenced element doesn't exist" @@ -1108,63 +1149,67 @@ msgstr "L'état n'existe pas" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" -msgstr "" +msgstr "Les paramètres de projets sont nécessaires" #: taiga/importers/asana/api.py:50 taiga/importers/asana/api.py:73 #: taiga/importers/asana/api.py:139 msgid "Invalid Asana API request" -msgstr "" +msgstr "Requête API Asana invalide" #: taiga/importers/asana/api.py:52 taiga/importers/asana/api.py:75 #: taiga/importers/asana/api.py:141 msgid "Failed to make the request to Asana API" -msgstr "" +msgstr "Impossible de faire la requête à l'API Asana" #: taiga/importers/asana/api.py:129 taiga/importers/github/api.py:123 msgid "Code param needed" -msgstr "" +msgstr "Paramètre de code nécessaire" #: taiga/importers/asana/tasks.py:42 taiga/importers/asana/tasks.py:43 msgid "Error importing Asana project" -msgstr "" +msgstr "Erreur lors de l'import du projet Asana" #: taiga/importers/github/api.py:135 msgid "Invalid auth data" -msgstr "" +msgstr "Données d'authentification non valides" #: taiga/importers/github/api.py:137 msgid "Third party service failing" -msgstr "" +msgstr "Échec sur un service tiers" #: taiga/importers/github/tasks.py:42 taiga/importers/github/tasks.py:43 msgid "Error importing GitHub project" -msgstr "" +msgstr "Erreur lors de l'import du projet GitHub" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" -msgstr "" +msgstr "La paramètre d'URL est nécessaire" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" +msgstr "project_type {} non valide" + +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." msgstr "" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "Token d'authentification non valide ou expiré" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "Erreur lors de l'import du projet Jira" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "Erreur lors de l'import du projet PivotalTracker" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1178,6 +1223,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Projet Asana importé

\n" +"

Bonjour %(user)s,

\n" +"

Votre projet Asana a été correctement importé.

\n" +" Aller à %(project)s\n" +"

L'Equipe Taiga

\n" +" " #: taiga/importers/templates/emails/asana_import_success-body-text.jinja:1 #, python-format @@ -1194,11 +1247,21 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Bonjour %(user)s\n" +"\n" +"Votre projet Asana a été correctement importé\n" +"\n" +"Vous pouvez consulter le projet %(project)s ici:\n" +"\n" +" %(url)s\n" +"\n" +"L'équipe Taïga\n" #: taiga/importers/templates/emails/asana_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Asana project has been imported" -msgstr "" +msgstr "[%(project)s] Votre projet Asana a été importé" #: taiga/importers/templates/emails/github_import_success-body-html.jinja:4 #, python-format @@ -1212,6 +1275,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Projet Github importé

\n" +"

Bonjour %(user)s,

\n" +"

Votre projet Github a bien été importé.

\n" +" Aller au %(project)s\n" +"

L'Equipe Taiga

\n" +" " #: taiga/importers/templates/emails/github_import_success-body-text.jinja:1 #, python-format @@ -1232,7 +1303,7 @@ msgstr "" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr " [%(project)s] Votre projet GitHub a été importé" #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1266,7 +1337,7 @@ msgstr "" #: taiga/importers/templates/emails/jira_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Jira project has been imported" -msgstr "" +msgstr " [%(project)s] Votre projet Jira a été importé" #: taiga/importers/templates/emails/trello_import_success-body-html.jinja:4 #, python-format @@ -1300,26 +1371,26 @@ msgstr "" #: taiga/importers/templates/emails/trello_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Trello project has been imported" -msgstr "" +msgstr " [%(project)s] Votre projet Trello a été importé" #: taiga/importers/trello/importer.py:78 #, python-format msgid "Invalid Request: %s at %s" -msgstr "" +msgstr "Requète non valide: %s at %s" #: taiga/importers/trello/importer.py:80 taiga/importers/trello/importer.py:82 #, python-format msgid "Unauthorized: %s at %s" -msgstr "" +msgstr "Non autorisé: %s at %s" #: taiga/importers/trello/importer.py:84 taiga/importers/trello/importer.py:86 #, python-format msgid "Resource Unavailable: %s at %s" -msgstr "" +msgstr "Ressource non disponible: %s at %s" #: taiga/importers/trello/tasks.py:42 taiga/importers/trello/tasks.py:43 msgid "Error importing Trello project" -msgstr "" +msgstr "Erreur lors de l'import du projet Trello" #: taiga/permissions/choices.py:23 taiga/permissions/choices.py:34 msgid "View project" @@ -1335,7 +1406,7 @@ msgstr "Voir epic" #: taiga/permissions/choices.py:26 msgid "View user stories" -msgstr "Voir les histoires utilisateur" +msgstr "Voir les récits utilisateur" #: taiga/permissions/choices.py:27 taiga/permissions/choices.py:53 msgid "View tasks" @@ -1367,7 +1438,7 @@ msgstr "Supprimer le jalon" #: taiga/permissions/choices.py:42 msgid "Add epic" -msgstr "" +msgstr "Ajoutez une EPIC" #: taiga/permissions/choices.py:43 msgid "Modify epic" @@ -1383,23 +1454,23 @@ msgstr "Supprimer epic" #: taiga/permissions/choices.py:47 msgid "View user story" -msgstr "Voir l'histoire utilisateur" +msgstr "Voir le récit utilisateur" #: taiga/permissions/choices.py:48 msgid "Add user story" -msgstr "Ajouter une histoire utilisateur" +msgstr "Ajouter un récit utilisateur" #: taiga/permissions/choices.py:49 msgid "Modify user story" -msgstr "Modifier l'histoire utilisateur" +msgstr "Modifier le récit utilisateur" #: taiga/permissions/choices.py:50 msgid "Comment user story" -msgstr "" +msgstr "Commenter le récit utilisateur" #: taiga/permissions/choices.py:51 msgid "Delete user story" -msgstr "Supprimer l'histoire utilisateur" +msgstr "Supprimer le récit utilisateur" #: taiga/permissions/choices.py:54 msgid "Add task" @@ -1443,7 +1514,7 @@ msgstr "Modifier une page Wiki" #: taiga/permissions/choices.py:68 msgid "Comment wiki page" -msgstr "" +msgstr "Commenter la page Wiki" #: taiga/permissions/choices.py:69 msgid "Delete wiki page" @@ -1517,7 +1588,7 @@ msgstr "propriétaire" #: taiga/projects/admin.py:192 #, python-brace-format msgid "{count} successfully made public." -msgstr "" +msgstr "{count} rendu(e)(s) publique(s) avec succès." #: taiga/projects/admin.py:193 msgid "Make public" @@ -1526,7 +1597,7 @@ msgstr "Rendre publique" #: taiga/projects/admin.py:207 #, python-brace-format msgid "{count} successfully made private." -msgstr "" +msgstr "{count} rendu(e)(s) privé(e)(s) avec succès." #: taiga/projects/admin.py:208 msgid "Make private" @@ -1535,37 +1606,43 @@ msgstr "Rendre privé" #: taiga/projects/admin.py:238 #, python-format msgid "Delete selected %(verbose_name_plural)s" -msgstr "" +msgstr "Supprimer les %(verbose_name_plural)s sélectionné(e)s" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "arguments manquants" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "format de l'image non valide" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "Nom de modèle non valide" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "Description du modèle non valide" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "Identifiant utilisateur invalide" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "L'utilisateur n'existe pas" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "L'utilisateur doit déjà être un membre du projet" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" @@ -1573,7 +1650,7 @@ msgstr "" "Le projet doit avoir un propriétaire et au moins l'un de ses membres doit " "être un administrateur actif." -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "Vous n'avez pas les permissions pour consulter cet élément" @@ -1583,7 +1660,7 @@ msgstr "Mises à jour partielles non supportées" #: taiga/projects/attachments/api.py:69 msgid "Object id issue isn't exists" -msgstr "" +msgstr "L'objet n'existe pas" #: taiga/projects/attachments/api.py:72 msgid "Project ID not matches between object and project" @@ -1592,15 +1669,15 @@ msgstr "L'identifiant du projet de correspond pas entre l'objet et le projet" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "projet" @@ -1616,7 +1693,7 @@ msgstr "identifiant de l'objet" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1636,16 +1713,16 @@ msgstr "est obsolète" #: taiga/projects/attachments/models.py:61 msgid "from comment" -msgstr "" +msgstr "depuis le commentaire" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "ordre" @@ -1679,7 +1756,7 @@ msgstr "Ce projet est bloqué car son propriétaire est parti" #: taiga/projects/choices.py:38 msgid "This project is blocked while it's deleted" -msgstr "" +msgstr "Ce projet est bloqué en attendant sa suppression" #: taiga/projects/contact/templates/emails/contact_notification-body-html.jinja:10 #, python-format @@ -1690,6 +1767,10 @@ msgid "" "written to %(project_name)s\n" " " msgstr "" +"\n" +"%(full_name)s a écris à " +"%(project_name)s" #: taiga/projects/contact/templates/emails/contact_notification-body-html.jinja:20 #, python-format @@ -1703,6 +1784,13 @@ msgid "" "not be affected.\n" " " msgstr "" +"\n" +"Vous recevez ce message car vous êtes enregistré comme administrateur du " +"projet %(project_name)s. Si vous ne souhaitez pas que les membres de la " +"communauté Taïga puissent contacter votre projet, merci de modifier vos préférence de projet pour " +"éviter ce type de contact. La communication classique entre les membres du " +"projet ne sera pas affectée." #: taiga/projects/contact/templates/emails/contact_notification-body-text.jinja:1 #, python-format @@ -1710,6 +1798,8 @@ msgid "" "\n" "%(full_name)s has written to %(project_name)s\n" msgstr "" +"\n" +"%(full_name)s a écris à %(project_name)s\n" #: taiga/projects/contact/templates/emails/contact_notification-body-text.jinja:7 #, python-format @@ -1721,6 +1811,13 @@ msgid "" "%(project_settings_url)s to prevent such contacts. Regular communications " "amongst members of the project will not be affected.\n" msgstr "" +"\n" +"Vous recevez ce message car vous êtes enregistré comme administrateur du " +"projet %(project_name)s. Si vous ne souhaitez pas que les membres de la " +"communauté Taïga puissent contacter votre projet, merci de modifier vos " +"préférence de projet sur %(project_settings_url)s pour éviter ce type de " +"contact. La communication classique entre les membres du projet ne sera pas " +"affectée.\n" #: taiga/projects/contact/templates/emails/contact_notification-subject.jinja:1 #, python-format @@ -1739,7 +1836,7 @@ msgstr "Texte multi-ligne" #: taiga/projects/custom_attributes/choices.py:31 msgid "Rich text" -msgstr "" +msgstr "Texte Riche" #: taiga/projects/custom_attributes/choices.py:32 msgid "Date" @@ -1765,7 +1862,7 @@ msgstr "epic" #: taiga/projects/custom_attributes/models.py:121 #: taiga/projects/tasks/models.py:35 taiga/projects/userstories/models.py:38 msgid "user story" -msgstr "histoire utilisateur" +msgstr "récit utilisateur" #: taiga/projects/custom_attributes/models.py:137 msgid "task" @@ -1782,6 +1879,7 @@ msgstr "Un élément de même nom existe déjà" #: taiga/projects/epics/api.py:94 msgid "You don't have permissions to set this status to this epic." msgstr "" +"Vous n'avez pas les autorisations pour modifier ce statut sur ce récit." #: taiga/projects/epics/models.py:36 taiga/projects/issues/models.py:35 #: taiga/projects/tasks/models.py:37 taiga/projects/userstories/models.py:62 @@ -1795,18 +1893,18 @@ msgstr "état" #: taiga/projects/epics/models.py:46 msgid "epics order" -msgstr "" +msgstr "Ordre des épopées" #: taiga/projects/epics/models.py:55 taiga/projects/issues/models.py:59 #: taiga/projects/tasks/models.py:55 taiga/projects/userstories/models.py:94 msgid "subject" msgstr "sujet" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "couleur" @@ -1825,7 +1923,7 @@ msgstr "est un requis de l'équipe" #: taiga/projects/epics/models.py:70 msgid "user stories" -msgstr "" +msgstr "Récit Utilisateur" #: taiga/projects/epics/models.py:72 taiga/projects/issues/models.py:66 #: taiga/projects/tasks/models.py:70 taiga/projects/userstories/models.py:109 @@ -1834,7 +1932,7 @@ msgstr "référence externe" #: taiga/projects/epics/validators.py:37 msgid "There's no epic with that id" -msgstr "" +msgstr "Il n'y a pas de récit avec cet ID" #: taiga/projects/history/api.py:93 msgid "comment is required" @@ -1842,7 +1940,7 @@ msgstr "Un commentaire est requis" #: taiga/projects/history/api.py:96 msgid "deleted comments can't be edited" -msgstr "" +msgstr "les commentaires supprimés ne peuvent être modifiés" #: taiga/projects/history/api.py:130 msgid "Comment already deleted" @@ -1921,7 +2019,7 @@ msgid "Unassigned" msgstr "Non assigné" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-supprimé-" @@ -1954,12 +2052,12 @@ msgid "removed:" msgstr "supprimé :" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "De :" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "A :" @@ -1977,23 +2075,23 @@ msgstr "note bloquée" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "Vous n'avez pas la permission d'affecter ce sprint à ce problème." -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "Vous n'avez pas la permission d'affecter ce statut à ce problème." -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "Vous n'avez pas la permission d'affecter cette sévérité à ce problème." -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "Vous n'avez pas la permission d'affecter cette priorité à ce problème." -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "Vous n'avez pas la permission d'affecter ce type à ce problème." @@ -2023,10 +2121,10 @@ msgid "Likes" msgstr "Aime" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "slug" @@ -2038,9 +2136,9 @@ msgstr "date de démarrage estimée" msgid "estimated finish date" msgstr "date de fin estimée" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "est fermé" @@ -2054,7 +2152,7 @@ msgstr "La date de démarrage doit être antérieure à la de fin prévisionnell #: taiga/projects/milestones/validators.py:33 msgid "There's no milestone with that id" -msgstr "" +msgstr "Il n'y a pas de jalon avec cet ID" #: taiga/projects/mixins/blocked.py:31 msgid "is blocked" @@ -2062,11 +2160,11 @@ msgstr "est bloqué" #: taiga/projects/mixins/by_ref.py:32 msgid "ref param is needed" -msgstr "" +msgstr "Le paramètre de référence est nécessaire" #: taiga/projects/mixins/by_ref.py:35 msgid "project or project__slug param is needed" -msgstr "" +msgstr "Le paramètre projet ou projet_slug est nécessaire" #: taiga/projects/mixins/ordering.py:49 #, python-brace-format @@ -2079,7 +2177,7 @@ msgstr "'project' paramètre obligatoire" #: taiga/projects/mixins/validators.py:19 msgid "The user must be a project member." -msgstr "" +msgstr "L'utilisateur doit etre un membre du projet" #: taiga/projects/models.py:79 msgid "email" @@ -2089,7 +2187,7 @@ msgstr "email" msgid "create at" msgstr "Créé le" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "jeton" @@ -2097,7 +2195,7 @@ msgstr "jeton" msgid "invitation extra text" msgstr "Text supplémentaire de l'invitation" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "classement utilisateur" @@ -2107,7 +2205,7 @@ msgstr "L'utilisateur est déjà un membre du projet" #: taiga/projects/models.py:115 msgid "default epic status" -msgstr "" +msgstr "Statut d'épopée par défaut" #: taiga/projects/models.py:119 msgid "default US status" @@ -2151,37 +2249,37 @@ msgstr "total des jalons" #: taiga/projects/models.py:170 msgid "total story points" -msgstr "total des points d'histoire" +msgstr "total des points du récit" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" -msgstr "" +msgstr "contact actif" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" -msgstr "" +msgstr "panneau d'épopée actif" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "panneau backlog actif" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "panneau kanban actif" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "panneau wiki actif" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "panneau problèmes actif" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "plateforme de vidéoconférence" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "données complémentaires pour la salle de vidéoconférence" @@ -2205,13 +2303,13 @@ msgstr "Permission de l'utilisateur" msgid "is featured" msgstr "est mis en avant" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "est à la recherche de main d'oeuvre" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" -msgstr "" +msgstr "en recherche de notes de membres" #: taiga/projects/models.py:222 msgid "project transfer token" @@ -2254,82 +2352,82 @@ msgstr "activité du mois écoulé" msgid "activity last year" msgstr "activité de l'année écoulée" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "Configurations des modules" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "est archivé" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "limite de travail en cours" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "valeur" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "rôle par défaut du propriétaire" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "options par défaut" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" -msgstr "" +msgstr "statut d'épopée" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "statuts des us" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "points" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "états des tâches" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "statuts des problèmes" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "types de problèmes" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "priorités" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "sévérités" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "rôles" -#: taiga/projects/models.py:782 -msgid "epic custom attributes" -msgstr "" - -#: taiga/projects/models.py:783 -msgid "us custom attributes" -msgstr "" - -#: taiga/projects/models.py:784 -msgid "task custom attributes" -msgstr "" - #: taiga/projects/models.py:785 +msgid "epic custom attributes" +msgstr "attributs personnalisés d'apopée" + +#: taiga/projects/models.py:786 +msgid "us custom attributes" +msgstr "Attributs personnalisés de récit" + +#: taiga/projects/models.py:787 +msgid "task custom attributes" +msgstr "Attributs personnalisés de tâche" + +#: taiga/projects/models.py:788 msgid "issue custom attributes" -msgstr "" +msgstr "Attributs personnalisés de ticket" #: taiga/projects/notifications/choices.py:30 msgid "Involved" @@ -2349,7 +2447,7 @@ msgstr "date de création" #: taiga/projects/notifications/models.py:68 msgid "history entries" -msgstr "entrées dans l'historique" +msgstr "entrées de l'historique" #: taiga/projects/notifications/models.py:71 msgid "notify users" @@ -2360,12 +2458,12 @@ msgstr "notifier les utilisateurs" msgid "Watched" msgstr "Suivre" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "La notification existe pour l'utilisateur et le projet spécifiés" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "Valeur non valide pour le niveau de notification" @@ -2390,6 +2488,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated a epic on %(project)s\n" "See epic #%(ref)s %(subject)s at %(url)s\n" msgstr "" +"\n" +"Épopée mise à jour\n" +"Bonjour %(user)s, %(changer)s a modifié une épopée dans %(project)s\n" +"Voir l'épopée #%(ref)s %(subject)s à %(url)s\n" #: taiga/projects/notifications/templates/emails/epics/epic-change-subject.jinja:1 #, python-format @@ -2397,6 +2499,8 @@ msgid "" "\n" "[%(project)s] Updated the epic #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] a mis à jour l'épopée #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/epics/epic-create-body-html.jinja:4 #, python-format @@ -2674,6 +2778,14 @@ msgid "" "%(subject)s in Taiga\">See task\n" " " msgstr "" +"\n" +"

Tâche mise à jour

\n" +"

Bonjour %(user)s,
%(changer)s a mis à jour une tâche sur " +"%(project)s

\n" +"

Tâche #%(ref)s %(subject)s

\n" +" Voir la tâche\n" +" " #: taiga/projects/notifications/templates/emails/tasks/task-change-body-text.jinja:3 #, python-format @@ -2683,6 +2795,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated a task on %(project)s\n" "See task #%(ref)s %(subject)s at %(url)s\n" msgstr "" +"\n" +"Tâche mise à jour\n" +"Bonjour %(user)s, %(changer)s a mis à jour une tâche sur %(project)s\n" +"Voir la tâche #%(ref)s %(subject)s dans %(url)s\n" #: taiga/projects/notifications/templates/emails/tasks/task-change-subject.jinja:1 #, python-format @@ -2706,6 +2822,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Nouvelle tâche créée

\n" +"

Bonjour %(user)s,
%(changer)s a créé une nouvelle tâche sur " +"%(project)s

\n" +"

Tâche #%(ref)s %(subject)s

\n" +" Voir la tâche\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/tasks/task-create-body-text.jinja:1 #, python-format @@ -2718,6 +2843,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Nouvelle tâche créée\n" +"Bonjour %(user)s, %(changer)s a créé une nouvelle tâche sur %(project)s\n" +"Voir la tâche #%(ref)s %(subject)s dans %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/tasks/task-create-subject.jinja:1 #, python-format @@ -2739,6 +2871,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Tâche supprimée

\n" +"

Bonjour %(user)s,
%(changer)s a supprimé une tâche sur " +"%(project)s

\n" +"

Tâche #%(ref)s %(subject)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/tasks/task-delete-body-text.jinja:1 #, python-format @@ -2751,6 +2890,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Tâche supprimée\n" +"Bonjour %(user)s, %(changer)s a supprimé une tâche sur %(project)s\n" +"Tâche #%(ref)s %(subject)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/tasks/task-delete-subject.jinja:1 #, python-format @@ -2773,6 +2919,14 @@ msgid "" "%(subject)s in Taiga\">See user story\n" " " msgstr "" +"\n" +"

Récit utilisateur modifié

\n" +"

Bonjour %(user)s,
%(changer)s a modifié un récit utilisateur de " +"%(project)s

\n" +"

Récit utilisateur #%(ref)s %(subject)s

\n" +" Voir le récit utilisateur\n" +" " #: taiga/projects/notifications/templates/emails/userstories/userstory-change-body-text.jinja:3 #, python-format @@ -2782,6 +2936,10 @@ msgid "" "Hello %(user)s, %(changer)s has updated a user story on %(project)s\n" "See user story #%(ref)s %(subject)s at %(url)s\n" msgstr "" +"\n" +"Récit utilisateur modifié\n" +"Bonjour %(user)s, %(changer)s a modifié un récit utilisateur de %(project)s\n" +"Voir le récit utilisateur #%(ref)s %(subject)s à %(url)s\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-change-subject.jinja:1 #, python-format @@ -2805,6 +2963,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Nouveau récit utilisateur

\n" +"

Bonjour %(user)s,
%(changer)s a créé un nouveau récit " +"utilisateur sur %(project)s

\n" +"

Récit utilisateur #%(ref)s %(subject)s

\n" +" Voir le récit utilisateur\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/userstories/userstory-create-body-text.jinja:1 #, python-format @@ -2817,6 +2984,14 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Nouveau récit utilisateur\n" +"Bonjour %(user)s, %(changer)s a créé un nouveau récit utilisateur sur " +"%(project)s\n" +"Voir le récit utilisateur #%(ref)s %(subject)s à %(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-create-subject.jinja:1 #, python-format @@ -2838,6 +3013,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Récit utilisateur supprimé

\n" +"

Bonjour %(user)s,
%(changer)s a supprimé un récit utilisateur " +"sur %(project)s

\n" +"

Récit utilisateur #%(ref)s %(subject)s

\n" +"

The Taiga Team

\n" +" " #: taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-text.jinja:1 #, python-format @@ -2850,6 +3032,14 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Récit utilisateur supprimé\n" +"Bonjour %(user)s, %(changer)s a supprimé un récit utilisateur sur " +"%(project)s\n" +"Récit utilisateur #%(ref)s %(subject)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-delete-subject.jinja:1 #, python-format @@ -2992,7 +3182,7 @@ msgstr "" #: taiga/projects/services/members.py:133 msgid "Project without owner" -msgstr "" +msgstr "Projet sans propriétaire" #: taiga/projects/services/members.py:138 msgid "You have reached your current limit of memberships for private projects" @@ -3062,7 +3252,7 @@ msgstr "" #: taiga/projects/tagging/fields.py:77 #, python-brace-format msgid "Invalid tag '{value}'. It must be the tag name." -msgstr "" +msgstr "Mot-clé '{value}' invalide. Il doit être le nom du mot-clé." #: taiga/projects/tagging/models.py:27 msgid "tags" @@ -3075,29 +3265,29 @@ msgstr "couleurs des tags" #: taiga/projects/tagging/validators.py:47 #: taiga/projects/tagging/validators.py:74 msgid "This tag already exists." -msgstr "" +msgstr "Ce mot-clé existe." #: taiga/projects/tagging/validators.py:54 #: taiga/projects/tagging/validators.py:81 msgid "The color is not a valid HEX color." -msgstr "" +msgstr "La couleur n'est pas un code HEX valide." #: taiga/projects/tagging/validators.py:67 #: taiga/projects/tagging/validators.py:101 #: taiga/projects/tagging/validators.py:114 #: taiga/projects/tagging/validators.py:121 msgid "The tag doesn't exist." -msgstr "" +msgstr "Ce mot-clé n'existe pas." -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "Vous n'avez pas la permission d'affecter ce sprint à cette tâche." -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "Vous n'avez pas la permission d'affecter ce récit à cette tâche." -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "Vous n'avez pas la permission d'affecter ce statut à ce problème." @@ -3115,33 +3305,40 @@ msgstr "est de l'iocaine" #: taiga/projects/tasks/validators.py:61 msgid "Invalid milestone id." -msgstr "" +msgstr "Identifiant de jalon invalide." #: taiga/projects/tasks/validators.py:72 msgid "Invalid task status id." -msgstr "" +msgstr "Identifiant de statut de tâche invalide." #: taiga/projects/tasks/validators.py:85 msgid "Invalid user story id." -msgstr "" +msgstr "Identifiant de Récit utilisateur invalide." #: taiga/projects/tasks/validators.py:109 msgid "Invalid task status id. The status must belong to the same project." msgstr "" +"Identifiant de statut de tâche invalide. Le statut doit appartenir au même " +"projet. " #: taiga/projects/tasks/validators.py:123 msgid "Invalid user story id. The user story must belong to the same project." msgstr "" +"Identifiant de Récit utilisateur invalide. Le Récit utilisateur doit " +"appartenir au même projet." #: taiga/projects/tasks/validators.py:135 msgid "Invalid milestone id. The milestone must belong to the same project." msgstr "" +"Identifiant de jalon invalide. le jalon doit appartenir au même projet." #: taiga/projects/tasks/validators.py:152 msgid "" "Invalid task ids. All tasks must belong to the same project and, if it " "exists, to the same status, user story and/or milestone." msgstr "" +"Identifiants de tâche invalides. Toutes les tâches doivent appartenir au " +"même projet, et le cas échéant au même récit et/ou jalon." #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:6 #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:4 @@ -3201,6 +3398,12 @@ msgid "" "%(project)s which is being managed on Taiga, a Free, open Source Agile " "Project Management Tool.\n" msgstr "" +"\n" +"Vous, ou quelqu'un vous connaissant, vous a invité Taiga\n" +"\n" +"Bonjour ! %(full_name)s vous a invité à rejoindre un projet appelé " +"%(project)s qui est géré sur Taiga, un outil de gestion de projet Agile, " +"libre et open source.\n" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:12 #, python-format @@ -3213,7 +3416,7 @@ msgid "" " " msgstr "" "\n" -"Un petit mot de la part de celui ou celle qui vous a invitée :\n" +"Un petit mot de la part de celui ou celle qui vous a invité :\n" "\n" "%(extra)s\n" " " @@ -3271,6 +3474,11 @@ msgid "" "\n" "See project at %(url)s\n" msgstr "" +"\n" +"Vous avez été ajouté au projet\n" +"Bonjour %(full_name)s, vous avez été ajouté au projet %(project)s\n" +"\n" +"Vous pouvez consulter le projet ici %(url)s\n" #: taiga/projects/templates/emails/membership_notification-subject.jinja:1 #, python-format @@ -3290,6 +3498,11 @@ msgid "" "new project owner for \"%(project_name)s\".

\n" " " msgstr "" +"\n" +"

Bonjour %(old_owner_name)s,

\n" +"

%(new_owner_name)s a accepté votre offre et devient le nouveau " +"propriétaire du projet \"%(project_name)s\".

\n" +" " #: taiga/projects/templates/emails/transfer_accept-body-html.jinja:10 #, python-format @@ -3316,11 +3529,15 @@ msgid "" "%(new_owner_name)s has accepted your offer and will become the new project " "owner for \"%(project_name)s\".\n" msgstr "" +"\n" +"Bonjour %(old_owner_name)s,\n" +"%(new_owner_name)s a accepté votre offre et devient le nouveau propriétaire " +"du projet \"%(project_name)s\".\n" #: taiga/projects/templates/emails/transfer_accept-body-text.jinja:7 #, python-format msgid "%(new_owner_name)s says:" -msgstr "" +msgstr "%(new_owner_name)s dit :" #: taiga/projects/templates/emails/transfer_accept-body-text.jinja:11 msgid "" @@ -3348,6 +3565,8 @@ msgid "" "\n" "[%(project)s] Project ownership transfer offer accepted!\n" msgstr "" +"\n" +"[%(project)s] Offre de transfert de propriété du projet acceptée !\n" #: taiga/projects/templates/emails/transfer_reject-body-html.jinja:4 #, python-format @@ -3358,6 +3577,11 @@ msgid "" "new project owner for \"%(project_name)s\".

\n" " " msgstr "" +"\n" +"

Bonjour %(owner_name)s,

\n" +"

%(rejecter_name)s a décliné votre offre et ne deviendra pas le " +"nouveau propriétaire du projet \"%(project_name)s\".

\n" +" " #: taiga/projects/templates/emails/transfer_reject-body-html.jinja:10 #, python-format @@ -3394,11 +3618,15 @@ msgid "" "%(rejecter_name)s has declined your offer and will not become the new " "project owner for \"%(project_name)s\".\n" msgstr "" +"\n" +"Bonjour %(owner_name)s,\n" +"%(rejecter_name)s a décliné votre offre et ne deviendra pas le nouveau " +"propriétaire du projet \"%(project_name)s\".\n" #: taiga/projects/templates/emails/transfer_reject-body-text.jinja:7 #, python-format msgid "%(rejecter_name)s says:" -msgstr "" +msgstr "%(rejecter_name)s dit :" #: taiga/projects/templates/emails/transfer_reject-body-text.jinja:11 msgid "" @@ -3417,6 +3645,8 @@ msgid "" "\n" "[%(project)s] Project ownership transfer declined\n" msgstr "" +"\n" +"[%(project)s] Offre de transfert de propriété du projet déclinée\n" #: taiga/projects/templates/emails/transfer_request-body-html.jinja:4 #, python-format @@ -3427,6 +3657,11 @@ msgid "" "\"%(project_name)s\".

\n" " " msgstr "" +"\n" +"

Bonjour %(owner_name)s,

\n" +"

%(requester_name)s demande à devenir le propriétaire du projet " +"\"%(project_name)s\".

\n" +" " #: taiga/projects/templates/emails/transfer_request-body-html.jinja:9 msgid "" @@ -3508,7 +3743,7 @@ msgstr "" #: taiga/projects/templates/emails/transfer_start-body-text.jinja:6 #, python-format msgid "%(owner_name)s says:" -msgstr "" +msgstr "%(owner_name)s dit :" #: taiga/projects/templates/emails/transfer_start-body-text.jinja:11 msgid "" @@ -3519,7 +3754,7 @@ msgstr "" #: taiga/projects/templates/emails/transfer_start-body-text.jinja:15 msgid "Accept or reject the project ownership transfer:" -msgstr "" +msgstr "Acceptez ou refusez le transfert de propriété du projet :" #: taiga/projects/templates/emails/transfer_start-subject.jinja:1 #, python-format @@ -3772,27 +4007,27 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Participant" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Vous n'avez pas la permission d'affecter ce sprint à ce récit utilisateur." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "" "Vous n'avez pas la permission d'affecter ce statut à ce récit utilisateur." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" @@ -3811,7 +4046,7 @@ msgstr "ordre du sprint" #: taiga/projects/userstories/models.py:84 msgid "kanban order" -msgstr "" +msgstr "Classement du Kanban" #: taiga/projects/userstories/models.py:92 msgid "finish date" @@ -3823,7 +4058,7 @@ msgstr "généré depuis un problème" #: taiga/projects/userstories/validators.py:43 msgid "There's no user story with that id" -msgstr "Il n'y a pas d'user story avec cet id" +msgstr "Il n'y a pas de récit utilisateur avec cet id" #: taiga/projects/userstories/validators.py:83 #: taiga/projects/userstories/validators.py:109 @@ -3834,12 +4069,15 @@ msgstr "" #: taiga/projects/userstories/validators.py:121 msgid "Invalid milestone id. The milistone must belong to the same project." msgstr "" +"Identifiant de jalon invalide. Le jalon doit appartenir au même projet." #: taiga/projects/userstories/validators.py:136 msgid "" "Invalid user story ids. All stories must belong to the same project and, if " "it exists, to the same status and milestone." msgstr "" +"Identifiants de récit utilisateur invalides. Tous les récits doivent " +"appartenir au même projet et le cas échéant au même statut / jalon. " #: taiga/projects/userstories/validators.py:160 msgid "The milestone isn't valid for the project" @@ -3847,7 +4085,7 @@ msgstr "Le jalon n'est pas valide pour le projet" #: taiga/projects/userstories/validators.py:170 msgid "All the user stories must be from the same project" -msgstr "Tous les user stories doivent provenir du même projet" +msgstr "Tous les récits utilisateurs doivent provenir du même projet" #: taiga/projects/validators.py:63 msgid "There's no project with that id" @@ -3876,7 +4114,7 @@ msgstr "" #: taiga/projects/validators.py:240 msgid "Invalid role ids. All roles must belong to the same project." -msgstr "" +msgstr "Rôle invalide ids. Tout les rôles doivent appartenir au mêmes projet. " #: taiga/projects/validators.py:264 msgid "Default options" @@ -3884,7 +4122,7 @@ msgstr "Options par défaut" #: taiga/projects/validators.py:265 msgid "User story's statuses" -msgstr "Etats de la User Story" +msgstr "États du récit utilisateur" #: taiga/projects/validators.py:266 msgid "Points" @@ -3941,7 +4179,7 @@ msgstr "href" #: taiga/timeline/signals.py:65 msgid "Check the history API for the exact diff" -msgstr "" +msgstr "Contrôlez l'historique de l'API pour les voir les différences exactes" #: taiga/users/admin.py:39 msgid "Project Member" @@ -4022,11 +4260,11 @@ msgstr "" msgid "Invalid, are you sure the token is correct?" msgstr "Invalide, êtes-vous sûre que le jeton est correct ?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "statut superutilisateur" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -4034,25 +4272,25 @@ msgstr "" "Indique que l'utilisateur a toutes les permissions sans avoir à lui les " "donner explicitement" -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "nom d'utilisateur" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" "Obligatoire. 30 caractères maximum. Lettres, nombres et les caractères /./-/_" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "Entrez un nom d'utilisateur valide" -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "actif" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -4060,59 +4298,59 @@ msgstr "" "Indique qu'un utilisateur est considéré ou non comme actif. Désélectionnez " "cette option au lieu de supprimer le compte utilisateur." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "biographie" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "photo" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "date d'inscription" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "langage par défaut" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "thème par défaut" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "Fuseau horaire par défaut" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "changer la couleur des tags" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "jeton email" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "nouvelle adresse email" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "Nombre maximal de projets privés" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "Nombre maximal de projets publics" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "Nombre maximum d'adhésions pour chaque projet privé" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "Nombre maximum d'adhésions pour chaque projet public détenu" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "permissions" @@ -4298,7 +4536,7 @@ msgstr "" #: taiga/users/templates/emails/registered_user-subject.jinja:1 msgid "You've been Taigatized!" -msgstr "Vous avez été Taigarisés!" +msgstr "Vous avez été Taigatisé !" #: taiga/users/validators.py:45 msgid "invalid" diff --git a/taiga/locale/it/LC_MESSAGES/django.po b/taiga/locale/it/LC_MESSAGES/django.po index a11979d7..2c61f98b 100644 --- a/taiga/locale/it/LC_MESSAGES/django.po +++ b/taiga/locale/it/LC_MESSAGES/django.po @@ -10,14 +10,15 @@ # luca corsato , 2015 # Marco Somma , 2015 # Marco Vito Moscaritolo , 2015 +# Roberto Bizzozero , 2017 # Vittorio Della Rossa , 2015 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:55+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Italian (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/it/)\n" "MIME-Version: 1.0\n" @@ -63,8 +64,8 @@ msgid "Error on creating new user." msgstr "Errore nella creazione della nuova utenza." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Token non valido" @@ -201,12 +202,12 @@ msgstr "" "o l'immagine potrebbe essere corrotta. " #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Elemento bloccato" @@ -259,21 +260,21 @@ msgstr "Hyperlink invalido - l'oggetto non esiste" msgid "Incorrect type. Expected url string, received %s." msgstr "Inserimento scorretto. Attesa una stringa con URL, ricevuto %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Dati non validi" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Non è stato fornito nessun input" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Non è possibile creare un nuovo elemento, solo quelli esistenti possono " "essere aggiornati" -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Ci si aspetta una lista di oggetti." @@ -285,7 +286,7 @@ msgstr "Non trovato" msgid "Permission denied" msgstr "Permesso negato" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Errore sul server" @@ -365,12 +366,12 @@ msgstr "Errore di precondizione" msgid "No room left for more projects." msgstr "Non c'e' piu' spazio per altri progetti." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Errore nel filtro del tipo di parametri." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'Progetto' deve essere un valore intero." @@ -420,6 +421,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " \n" " " msgstr "" -"\n" -"Supporto di Taiga:\n" -"%(support_url)s\n" -"
\n" -"Contattaci:\n" -"\n" -"%(support_email)s\n" -"\n" -"
\n" -"Mailing list:\n" -"\n" -"%(mailing_list_url)s\n" -"" #: taiga/base/templates/emails/hero-body-html.jinja:6 msgid "You have been Taigatized" @@ -521,69 +512,69 @@ msgstr "E' richiesto un file di dump" msgid "Invalid dump format" msgstr "Formato di dump invalido" -#: taiga/export_import/services/store.py:718 -#: taiga/export_import/services/store.py:736 +#: taiga/export_import/services/store.py:722 +#: taiga/export_import/services/store.py:740 msgid "error importing project data" msgstr "Errore nell'importazione del progetto dati" -#: taiga/export_import/services/store.py:743 +#: taiga/export_import/services/store.py:747 msgid "error importing roles" msgstr "Errore nell'importazione i ruoli" -#: taiga/export_import/services/store.py:748 +#: taiga/export_import/services/store.py:752 msgid "error importing memberships" msgstr "Errore nell'importazione delle iscrizioni" -#: taiga/export_import/services/store.py:759 +#: taiga/export_import/services/store.py:763 msgid "error importing lists of project attributes" msgstr "Errore nell'importazione della lista degli attributi di progetto" -#: taiga/export_import/services/store.py:763 +#: taiga/export_import/services/store.py:767 msgid "error importing default project attributes values" msgstr "" "Errore nell'importazione dei valori predefiniti degli attributi del progetto." -#: taiga/export_import/services/store.py:774 +#: taiga/export_import/services/store.py:778 msgid "error importing custom attributes" msgstr "Errore nell'importazione degli attributi personalizzati" -#: taiga/export_import/services/store.py:778 +#: taiga/export_import/services/store.py:782 msgid "error importing sprints" msgstr "errore nell'importazione degli sprints" -#: taiga/export_import/services/store.py:782 +#: taiga/export_import/services/store.py:786 msgid "error importing issues" msgstr "errore nell'importazione dei problemi" -#: taiga/export_import/services/store.py:786 +#: taiga/export_import/services/store.py:790 msgid "error importing user stories" msgstr "Errore nell'importazione delle user story" -#: taiga/export_import/services/store.py:790 +#: taiga/export_import/services/store.py:794 msgid "error importing epics" msgstr "errore di importazione degli epici" -#: taiga/export_import/services/store.py:794 +#: taiga/export_import/services/store.py:798 msgid "error importing tasks" msgstr "Errore nell'importazione dei compiti " -#: taiga/export_import/services/store.py:798 +#: taiga/export_import/services/store.py:802 msgid "error importing wiki pages" msgstr "Errore nell'importazione delle pagine wiki" -#: taiga/export_import/services/store.py:802 +#: taiga/export_import/services/store.py:806 msgid "error importing wiki links" msgstr "Errore nell'importazione dei link di wiki" -#: taiga/export_import/services/store.py:806 +#: taiga/export_import/services/store.py:810 msgid "error importing tags" msgstr "Errore nell'importazione dei tags" -#: taiga/export_import/services/store.py:810 +#: taiga/export_import/services/store.py:814 msgid "error importing timelines" msgstr "Errore nell'importazione delle timelines" -#: taiga/export_import/services/store.py:832 +#: taiga/export_import/services/store.py:836 msgid "unexpected error importing project" msgstr "si e' verificato un errore inaspettato importando il progetto" @@ -964,12 +955,12 @@ msgstr "E' richiesta l'autenticazione" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "nome" @@ -986,7 +977,7 @@ msgstr "web" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "descrizione" @@ -1005,11 +996,11 @@ msgstr "utente" msgid "application" msgstr "applicazione" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "Nome completo" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "Inserisci un indirizzo e-mail valido." @@ -1022,7 +1013,7 @@ msgstr "Commento" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -1100,8 +1091,8 @@ msgid "The payload is not a valid json" msgstr "Il carico non è un json valido" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "Il progetto non esiste" @@ -1164,14 +1155,14 @@ msgstr "utente sconosciuto" #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" "{user_text} ha cambiato lo stato da [{platform} commit]({commit_url} \"Vedi " -"il commit '{commit_id} - {commit_message}'\")\n" +"il commit '{commit_id} - {commit_short_message}'\")\n" "\n" -"- Status: **{src_status}** → **{dst_status}**" +" - Stato: **{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:161 #, python-brace-format @@ -1188,11 +1179,11 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" -"Questo {type_name} e' stato citato da {user_text} nel [{platform} commit]" -"({commit_url} \"Vedi il commit commit '{commit_id} - {commit_message}'\") " +"Questo {type_name} è stato menzionato da {user_text} in [{platform} commit]" +"({commit_url} \"Vedi la commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" #: taiga/hooks/event_hooks.py:184 @@ -1212,63 +1203,67 @@ msgstr "Lo stato non esiste" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" -msgstr "" +msgstr "Il parametro progetto è richiesto" #: taiga/importers/asana/api.py:50 taiga/importers/asana/api.py:73 #: taiga/importers/asana/api.py:139 msgid "Invalid Asana API request" -msgstr "" +msgstr "Richiesta API Asana non valida" #: taiga/importers/asana/api.py:52 taiga/importers/asana/api.py:75 #: taiga/importers/asana/api.py:141 msgid "Failed to make the request to Asana API" -msgstr "" +msgstr "La richiesta inviata alle API Asana non è andata a buon fine" #: taiga/importers/asana/api.py:129 taiga/importers/github/api.py:123 msgid "Code param needed" -msgstr "" +msgstr "Il parametro codice è richiesto" #: taiga/importers/asana/tasks.py:42 taiga/importers/asana/tasks.py:43 msgid "Error importing Asana project" -msgstr "" +msgstr "Errore nell'importare il progetto Asana" #: taiga/importers/github/api.py:135 msgid "Invalid auth data" -msgstr "" +msgstr "Dati di autenticazione non validi" #: taiga/importers/github/api.py:137 msgid "Third party service failing" -msgstr "" +msgstr "Il servizio esterno non sta funzionando" #: taiga/importers/github/tasks.py:42 taiga/importers/github/tasks.py:43 msgid "Error importing GitHub project" -msgstr "" +msgstr "Errore nell'importare il progetto GitHub" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" -msgstr "" +msgstr "Il parametro url è richiesto" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" -msgstr "" +msgstr "project_type {} non valido" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "Configurazione del server Jira non valida." + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "Token di autorizzazione scaduto o non valido" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "Errore nell'importare il progetto Jira" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "Errore nell'importare il progetto PivotalTracker" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1282,6 +1277,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Il Progetto Asana è stato importato

\n" +"

Salve %(user)s,

\n" +"

Il tuo progetto Asana è stato correttamente importato.

\n" +"Vai a %(project)s\n" +"

Il Team Taiga

" #: taiga/importers/templates/emails/asana_import_success-body-text.jinja:1 #, python-format @@ -1298,11 +1300,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Salve %(user)s,\n" +"\n" +"Il tuo progetto Asana è stato correttamente importato.\n" +"\n" +"Puoi vedere il progetto %(project)s qui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Il Team Taiga\n" #: taiga/importers/templates/emails/asana_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Asana project has been imported" -msgstr "" +msgstr "[%(project)s] Il tuo progetto Asana è stato importato" #: taiga/importers/templates/emails/github_import_success-body-html.jinja:4 #, python-format @@ -1316,6 +1329,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Il Progetto GitHub è stato importato

\n" +"

Salve %(user)s,

\n" +"

Il tuo progetto GitHub è stato correttamente importato.

\n" +"Vai a %(project)s\n" +"

Il Team Taiga

" #: taiga/importers/templates/emails/github_import_success-body-text.jinja:1 #, python-format @@ -1332,11 +1352,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Salve %(user)s,\n" +"\n" +"Il tuo progetto GitHub è stato correttamente importato.\n" +"\n" +"Puoi vedere il progetto %(project)s qui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Il Team Taiga\n" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr "[%(project)s] Il tuo progetto GitHub è stato importato" #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1350,6 +1381,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Il Progetto Jira è stato importato

\n" +"

Salve %(user)s,

\n" +"

Il tuo progetto Jira è stato correttamente importato.

\n" +"Vai a %(project)s\n" +"

Il Team Taiga

" #: taiga/importers/templates/emails/jira_import_success-body-text.jinja:1 #, python-format @@ -1366,11 +1404,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Salve %(user)s,\n" +"\n" +"Il tuo progetto Jira è stato correttamente importato.\n" +"\n" +"Puoi vedere il progetto %(project)s qui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Il Team Taiga\n" #: taiga/importers/templates/emails/jira_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Jira project has been imported" -msgstr "" +msgstr "[%(project)s] Il tuo progetto Jira è stato importato" #: taiga/importers/templates/emails/trello_import_success-body-html.jinja:4 #, python-format @@ -1384,6 +1433,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Il Progetto Trello è stato importato

\n" +"

Salve %(user)s,

\n" +"

Il tuo progetto Trello è stato correttamente importato.

\n" +"Vai a %(project)s\n" +"

Il Team Taiga

" #: taiga/importers/templates/emails/trello_import_success-body-text.jinja:1 #, python-format @@ -1400,30 +1456,41 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Salve %(user)s,\n" +"\n" +"Il tuo progetto Trello è stato correttamente importato.\n" +"\n" +"Puoi vedere il progetto %(project)s qui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Il Team Taiga\n" #: taiga/importers/templates/emails/trello_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Trello project has been imported" -msgstr "" +msgstr "[%(project)s] Il tuo progetto Trello è stato importato" #: taiga/importers/trello/importer.py:78 #, python-format msgid "Invalid Request: %s at %s" -msgstr "" +msgstr "Richiesta non valida: %s alla posizione %s" #: taiga/importers/trello/importer.py:80 taiga/importers/trello/importer.py:82 #, python-format msgid "Unauthorized: %s at %s" -msgstr "" +msgstr "Non autorizzato: %s alla posizione %s" #: taiga/importers/trello/importer.py:84 taiga/importers/trello/importer.py:86 #, python-format msgid "Resource Unavailable: %s at %s" -msgstr "" +msgstr "Risorsa non raggiungibile: %s alla posizione %s" #: taiga/importers/trello/tasks.py:42 taiga/importers/trello/tasks.py:43 msgid "Error importing Trello project" -msgstr "" +msgstr "Errore nell'importare il progetto Trello" #: taiga/permissions/choices.py:23 taiga/permissions/choices.py:34 msgid "View project" @@ -1607,7 +1674,7 @@ msgstr "Attività" #: taiga/projects/admin.py:130 msgid "Fans" -msgstr "" +msgstr "Sostenitori" #: taiga/projects/admin.py:144 taiga/projects/attachments/models.py:39 #: taiga/projects/epics/models.py:40 taiga/projects/issues/models.py:37 @@ -1641,35 +1708,41 @@ msgstr "Rendi privato" msgid "Delete selected %(verbose_name_plural)s" msgstr "Cancella selezionati %(verbose_name_plural)s" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "Argomento non valido" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "Formato dell'immagine non valido" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "Il nome del template non è valido" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "La descrizione del template non è valida" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "id utente non valido" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "L'utente non esiste" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "L'utente deve gia' essere un membro del progetto" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" @@ -1677,7 +1750,7 @@ msgstr "" "Il progetto deve avere un proprietario ed almeno uno dei suoi utenti deve " "essere un amministratore attivo" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "Non hai il permesso di vedere questo elemento." @@ -1696,15 +1769,15 @@ msgstr "L'ID di progetto non corrisponde tra oggetto e progetto" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "progetto" @@ -1720,7 +1793,7 @@ msgstr "ID dell'oggetto" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1740,16 +1813,16 @@ msgstr "non approvato" #: taiga/projects/attachments/models.py:61 msgid "from comment" -msgstr "" +msgstr "dal commento" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "ordine" @@ -1794,6 +1867,10 @@ msgid "" "written to %(project_name)s\n" " " msgstr "" +"\n" +"%(full_name)s ha " +"scritto a %(project_name)s" #: taiga/projects/contact/templates/emails/contact_notification-body-html.jinja:20 #, python-format @@ -1807,6 +1884,13 @@ msgid "" "not be affected.\n" " " msgstr "" +"\n" +"Ricevi questo messaggio perché sei indicato come amministratore del progetto " +"dal titolo %(project_name)s. Se non vuoi che membri della comunità di Taiga " +"possano contattarti in merito al progetto, per favore aggiorna le impostazioni del tuo progetto " +"per evitare queste richieste di contatto. Le regolari comunicazioni tra i " +"membri del progetto non saranno modificate." #: taiga/projects/contact/templates/emails/contact_notification-body-text.jinja:1 #, python-format @@ -1814,6 +1898,8 @@ msgid "" "\n" "%(full_name)s has written to %(project_name)s\n" msgstr "" +"\n" +"%(full_name)s ha scritto a %(project_name)s\n" #: taiga/projects/contact/templates/emails/contact_notification-body-text.jinja:7 #, python-format @@ -1825,6 +1911,13 @@ msgid "" "%(project_settings_url)s to prevent such contacts. Regular communications " "amongst members of the project will not be affected.\n" msgstr "" +"\n" +"Ricevi questo messaggio perché sei indicato come amministratore del progetto " +"dal titolo %(project_name)s. Se non vuoi che membri della comunità di Taiga " +"possano contattarti in merito al progetto, per favore aggiorna le " +"impostazioni del tuo progetto a %(project_settings_url)s per evitare queste " +"richieste di contatto. Le regolari comunicazioni tra i membri del progetto " +"non saranno modificate.\n" #: taiga/projects/contact/templates/emails/contact_notification-subject.jinja:1 #, python-format @@ -1832,6 +1925,8 @@ msgid "" "\n" "[Taiga] %(full_name)s has sent a message to the project %(project_name)s\n" msgstr "" +"\n" +"[Taiga] %(full_name)s ha mandato un messaggio al progetto %(project_name)s\n" #: taiga/projects/custom_attributes/choices.py:29 msgid "Text" @@ -1843,7 +1938,7 @@ msgstr "Testo multi-linea" #: taiga/projects/custom_attributes/choices.py:31 msgid "Rich text" -msgstr "" +msgstr "Rich text" #: taiga/projects/custom_attributes/choices.py:32 msgid "Date" @@ -1906,11 +2001,11 @@ msgstr "ordine epici" msgid "subject" msgstr "soggeto" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "colore" @@ -2025,7 +2120,7 @@ msgid "Unassigned" msgstr "Non assegnato" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-eliminato-" @@ -2058,12 +2153,12 @@ msgid "removed:" msgstr "rimosso:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "Da:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "A:" @@ -2081,23 +2176,23 @@ msgstr "nota bloccata" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "Non hai i permessi per aggiungere questo sprint a questo problema" -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "Non hai i permessi per aggiungere questo stato a questo problema" -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "Non hai i permessi per aggiungere questa criticità a questo problema" -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "Non hai i permessi per aggiungere questa priorità a questo problema." -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "Non hai i permessi per aggiungere questa tipologia a questo problema" @@ -2127,10 +2222,10 @@ msgid "Likes" msgstr "Piaciuto" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "lumaca" @@ -2142,9 +2237,9 @@ msgstr "data stimata di inizio" msgid "estimated finish date" msgstr "data stimata di fine" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "è concluso" @@ -2171,7 +2266,7 @@ msgstr "parametro ref e' richiesto" #: taiga/projects/mixins/by_ref.py:35 msgid "project or project__slug param is needed" -msgstr "" +msgstr "I parametri project oppure project__slug sono richiesti" #: taiga/projects/mixins/ordering.py:49 #, python-brace-format @@ -2184,7 +2279,7 @@ msgstr "il parametro 'project' è obbligatorio" #: taiga/projects/mixins/validators.py:19 msgid "The user must be a project member." -msgstr "" +msgstr "L'utente deve essere un membro del progetto." #: taiga/projects/models.py:79 msgid "email" @@ -2194,7 +2289,7 @@ msgstr "email" msgid "create at" msgstr "creato a " -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "token" @@ -2202,7 +2297,7 @@ msgstr "token" msgid "invitation extra text" msgstr "testo ulteriore per l'invito" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "ordine dell'utente" @@ -2258,35 +2353,35 @@ msgstr "tappe totali" msgid "total story points" msgstr "punti totali della storia" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" -msgstr "" +msgstr "contatto attivo" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "pannelli epici attivi" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "pannello di backlog attivo" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "pannello kanban attivo" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "pannello wiki attivo" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "pannello dei problemi attivo" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "sistema di videoconferenza" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "ulteriori dati di videoconferenza " @@ -2310,13 +2405,13 @@ msgstr "permessi dell'utente" msgid "is featured" msgstr "in vetrina" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "sta cercando persone" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" -msgstr "" +msgstr "ricerca avvisi" #: taiga/projects/models.py:222 msgid "project transfer token" @@ -2359,82 +2454,82 @@ msgstr "attività nel mese" msgid "activity last year" msgstr "attività nell'anno" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "configurazione dei moduli" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "è archivitato" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "limite dei lavori in corso" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "valore" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "ruolo proprietario predefinito" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "opzioni predefinite " -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "stati dell'epico" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "stati della storia utente" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "punti" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "stati del compito" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "stati del probema" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "tipologie del problema" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "priorità" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "criticità " -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "ruoli" -#: taiga/projects/models.py:782 -msgid "epic custom attributes" -msgstr "" - -#: taiga/projects/models.py:783 -msgid "us custom attributes" -msgstr "" - -#: taiga/projects/models.py:784 -msgid "task custom attributes" -msgstr "" - #: taiga/projects/models.py:785 +msgid "epic custom attributes" +msgstr "attributi personalizzati dell'epico" + +#: taiga/projects/models.py:786 +msgid "us custom attributes" +msgstr "attributi personalizzati della storia utente" + +#: taiga/projects/models.py:787 +msgid "task custom attributes" +msgstr "attributi personalizzati del compito" + +#: taiga/projects/models.py:788 msgid "issue custom attributes" -msgstr "" +msgstr "attributi personalizzati della segnalazione" #: taiga/projects/notifications/choices.py:30 msgid "Involved" @@ -2465,12 +2560,12 @@ msgstr "notifica utenti" msgid "Watched" msgstr "Osservato" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "La notifica esiste per l'utente e il progetto specificati" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "Valore non valido per il livello di notifica" @@ -2577,6 +2672,12 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Epico cancellato

\n" +"

Salve %(user)s,
%(changer)s ha cancellato un epico di %(project)s\n" +"

Epic #%(ref)s %(subject)s

\n" +"

Il Team Taiga

" #: taiga/projects/notifications/templates/emails/epics/epic-delete-body-text.jinja:1 #, python-format @@ -3504,7 +3605,7 @@ msgstr "Sei arrivato al tuo limite attuale di iscrizioni per progetti pubblici" #: taiga/projects/services/members.py:148 msgid "You have reached the current limit of pending memberships" -msgstr "" +msgstr "Sei arrivato al tuo limite attuale di membri in attesa di approvazione" #: taiga/projects/services/projects.py:101 #: taiga/projects/services/projects.py:141 taiga/users/services.py:589 @@ -3596,16 +3697,16 @@ msgstr "Il colore non e' un codice HEX valido." msgid "The tag doesn't exist." msgstr "Il tag non esiste." -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "Non hai i permessi per aggiungere questo sprint a questo compito." -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "" "Non hai i permessi per aggiungere questa storia utente a questo compito." -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "Non hai i permessi per aggiungere questo stato a questo compito." @@ -4371,26 +4472,26 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Non hai i permessi per aggiungere questo sprint a questa storia utente." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "Non hai i permessi per aggiungere questo stato a questa storia utente." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "id ruolo '{role_id}' non valido" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "id punti '{points_id}' non valido" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Stiamo generando la storia utente #{ref} - {subject}" @@ -4428,24 +4529,29 @@ msgstr "Non c'è nessuna storia utente con questo ID" msgid "" "Invalid user story status id. The status must belong to the same project." msgstr "" +"id stato storia utente non valido. Lo stato deve appartenere allo stesso " +"progetto." #: taiga/projects/userstories/validators.py:121 msgid "Invalid milestone id. The milistone must belong to the same project." msgstr "" +"id milestone non valido. La milestone deve appartenere allo stesso progetto." #: taiga/projects/userstories/validators.py:136 msgid "" "Invalid user story ids. All stories must belong to the same project and, if " "it exists, to the same status and milestone." msgstr "" +"id storia utente non validi. Tutte le storie utenti devono appartenere allo " +"stesso progetto e, se esiste, allo stesso stato e milestone." #: taiga/projects/userstories/validators.py:160 msgid "The milestone isn't valid for the project" -msgstr "" +msgstr "La milestone non è valida per il progetto" #: taiga/projects/userstories/validators.py:170 msgid "All the user stories must be from the same project" -msgstr "" +msgstr "Tutte le storie utente devono provenire dallo stesso progetto" #: taiga/projects/validators.py:63 msgid "There's no project with that id" @@ -4453,7 +4559,7 @@ msgstr "Non c'è nessuno progetto con questo ID" #: taiga/projects/validators.py:145 msgid "The user yet exists in the project" -msgstr "" +msgstr "L'utente esiste ancora nel progetto" #: taiga/projects/validators.py:155 msgid "Invalid role for the project" @@ -4461,19 +4567,20 @@ msgstr "Ruolo di progetto non valido" #: taiga/projects/validators.py:170 taiga/projects/validators.py:225 msgid "The user must be a valid contact" -msgstr "" +msgstr "L'utente deve essere un contatto valido" #: taiga/projects/validators.py:191 msgid "The project owner must be admin." -msgstr "" +msgstr "Il responsabile del progetto deve essere un amministratore." #: taiga/projects/validators.py:195 msgid "At least one user must be an active admin for this project." -msgstr "" +msgstr "Almeno un utente deve essere un amministratore di questo progetto." #: taiga/projects/validators.py:240 msgid "Invalid role ids. All roles must belong to the same project." msgstr "" +"id ruolo non valido. Tutti i ruoli devono appartenere allo stesso progetto." #: taiga/projects/validators.py:264 msgid "Default options" @@ -4542,23 +4649,23 @@ msgstr "Controlla le API della storie per la differenza esatta" #: taiga/users/admin.py:39 msgid "Project Member" -msgstr "" +msgstr "Membro del Progettto" #: taiga/users/admin.py:40 msgid "Project Members" -msgstr "" +msgstr "Membri del Progetto" #: taiga/users/admin.py:50 msgid "id" -msgstr "" +msgstr "id" #: taiga/users/admin.py:81 msgid "Project Ownership" -msgstr "" +msgstr "Detentore del progetto" #: taiga/users/admin.py:82 msgid "Project Ownerships" -msgstr "" +msgstr "Detentori del progetto" #: taiga/users/admin.py:119 msgid "Personal info" @@ -4570,7 +4677,7 @@ msgstr "Permessi" #: taiga/users/admin.py:123 msgid "Restrictions" -msgstr "" +msgstr "Restrizioni" #: taiga/users/admin.py:125 msgid "Important dates" @@ -4619,11 +4726,11 @@ msgstr "" msgid "Invalid, are you sure the token is correct?" msgstr "Non valido. Sicuro che il token sia corretto?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "Stato del super-utente" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -4631,26 +4738,26 @@ msgstr "" "Definisce che questo utente ha tutti i permessi senza assegnarglieli " "esplicitamente." -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "nome utente" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" "Richiede 30 caratteri o meno. Deve comprendere: lettere, numeri e caratteri " "come /./-/_" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "Inserisci un nome utente valido." -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "attivo" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -4658,59 +4765,59 @@ msgstr "" "Definisce se questo utente debba essere trattato come attivo. Deseleziona " "questo invece di eliminare gli account." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "fotografia" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "data di inizio partecipazione" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "lingua predefinita" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "tema predefinito" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "timezone predefinita" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "colora i tag" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "token e-mail" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "nuovo indirizzo e-mail" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" -msgstr "" - -#: taiga/users/models.py:172 -msgid "max number of owned public projects" -msgstr "" - -#: taiga/users/models.py:175 -msgid "max number of memberships for each owned private project" -msgstr "" +msgstr "numero massimo di progetti privati di tua proprietà" #: taiga/users/models.py:179 -msgid "max number of memberships for each owned public project" -msgstr "" +msgid "max number of owned public projects" +msgstr "numero massimo di progetti pubblici di tua proprietà" -#: taiga/users/models.py:307 +#: taiga/users/models.py:182 +msgid "max number of memberships for each owned private project" +msgstr "numero massimo di membri per ogni progetto privato di tua proprietà" + +#: taiga/users/models.py:186 +msgid "max number of memberships for each owned public project" +msgstr "numero massimo di membri per ogni progetto pubblico di tua proprietà" + +#: taiga/users/models.py:314 msgid "permissions" msgstr "permessi" diff --git a/taiga/locale/ja/LC_MESSAGES/django.po b/taiga/locale/ja/LC_MESSAGES/django.po index 5e26385d..7c389f19 100644 --- a/taiga/locale/ja/LC_MESSAGES/django.po +++ b/taiga/locale/ja/LC_MESSAGES/django.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Japanese (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/ja/)\n" "MIME-Version: 1.0\n" @@ -61,8 +61,8 @@ msgid "Error on creating new user." msgstr "新しいユーザを作成中にエラーが発生しました。" #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "トークンが間違っています" @@ -199,12 +199,12 @@ msgstr "" "か破損しています。" #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "ブロックされた要素" @@ -260,19 +260,19 @@ msgstr "" "タイプが正しくありません。予想したタイプはURLの配列、受け取ったタイプは%sで" "す。" -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "無効なデータ" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "未入力" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "新しいアイテムは作成できません。既存アイテムを更新してください。" -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "アイテムの配列を予想していました。" @@ -284,7 +284,7 @@ msgstr "見つかりませんでした。" msgid "Permission denied" msgstr "権限がありません。" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "サーバーアプリケーションのエラー" @@ -363,12 +363,12 @@ msgstr "前提条件エラー" msgid "No room left for more projects." msgstr "新しいプロジェクトを作成するスペースがありません。" -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "パラメータタイプのフィルターエラー" -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project'は整数である必要があります。" @@ -418,6 +418,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " \n" " " msgstr "" -"\n" -"Taigaサポート\n" -"%(support_url)s\n" -"
\n" -"問い合わせ\n" -"\n" -"%(support_email)s\n" -"\n" -"
\n" -"メールリスト\n" -"\n" -"%(mailing_list_url)s\n" -"" #: taiga/base/templates/emails/hero-body-html.jinja:6 msgid "You have been Taigatized" @@ -519,68 +509,68 @@ msgstr "ダンプファイルが必要です." msgid "Invalid dump format" msgstr "ダンプフォーマットが正しくありません" -#: taiga/export_import/services/store.py:718 -#: taiga/export_import/services/store.py:736 +#: taiga/export_import/services/store.py:722 +#: taiga/export_import/services/store.py:740 msgid "error importing project data" msgstr "プロジェクトデータのインポートエラー" -#: taiga/export_import/services/store.py:743 +#: taiga/export_import/services/store.py:747 msgid "error importing roles" msgstr "役割のインポートエラー" -#: taiga/export_import/services/store.py:748 +#: taiga/export_import/services/store.py:752 msgid "error importing memberships" msgstr "メンバーシップのインポートエラー" -#: taiga/export_import/services/store.py:759 +#: taiga/export_import/services/store.py:763 msgid "error importing lists of project attributes" msgstr "プロジェクトアトリビュートリストのインポートエラー" -#: taiga/export_import/services/store.py:763 +#: taiga/export_import/services/store.py:767 msgid "error importing default project attributes values" msgstr "デフォルトプロジェクトアトリビュートのインポートエラー" -#: taiga/export_import/services/store.py:774 +#: taiga/export_import/services/store.py:778 msgid "error importing custom attributes" msgstr "カスタムアトリビュートのインポートエラー" -#: taiga/export_import/services/store.py:778 +#: taiga/export_import/services/store.py:782 msgid "error importing sprints" msgstr "スプリントのインポートエラー" -#: taiga/export_import/services/store.py:782 +#: taiga/export_import/services/store.py:786 msgid "error importing issues" msgstr "チケットのインポートエラー" -#: taiga/export_import/services/store.py:786 +#: taiga/export_import/services/store.py:790 msgid "error importing user stories" msgstr "ユーザストーリのインポートエラー" -#: taiga/export_import/services/store.py:790 +#: taiga/export_import/services/store.py:794 msgid "error importing epics" msgstr "エピックのインポートエラー" -#: taiga/export_import/services/store.py:794 +#: taiga/export_import/services/store.py:798 msgid "error importing tasks" msgstr "タスクのインポートエラー" -#: taiga/export_import/services/store.py:798 +#: taiga/export_import/services/store.py:802 msgid "error importing wiki pages" msgstr "Wikiページのインポートエラー" -#: taiga/export_import/services/store.py:802 +#: taiga/export_import/services/store.py:806 msgid "error importing wiki links" msgstr "Wikiリンクのインポートエラー" -#: taiga/export_import/services/store.py:806 +#: taiga/export_import/services/store.py:810 msgid "error importing tags" msgstr "タグのインポートエラー" -#: taiga/export_import/services/store.py:810 +#: taiga/export_import/services/store.py:814 msgid "error importing timelines" msgstr "タイムラインのインポートエラー" -#: taiga/export_import/services/store.py:832 +#: taiga/export_import/services/store.py:836 msgid "unexpected error importing project" msgstr "プロジェクトをインポート中に予期せぬエラー" @@ -900,12 +890,12 @@ msgstr "認証が必要です。" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "名前" @@ -922,7 +912,7 @@ msgstr "ウェブ" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "説明" @@ -941,11 +931,11 @@ msgstr "ユーザー" msgid "application" msgstr "アプリケーション" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "フルネーム" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "メールアドレス" @@ -958,7 +948,7 @@ msgstr "コメント" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -1032,8 +1022,8 @@ msgid "The payload is not a valid json" msgstr "ペイロードは有効なjsonではありません。" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "プロジェクトは存在していません。" @@ -1097,14 +1087,10 @@ msgstr "無効なユーザー" #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" -"{user_text}さんが[{platform} commit]({commit_url}ステータスを更新しまし" -"た。\"コミットを参照する'{commit_id} - {commit_message}'\")\n" -"\n" -" - ステータス**{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:161 #, python-brace-format @@ -1121,12 +1107,9 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" -"{type_name}は{user_text}さんによって[{platform} commit]({commit_url}でメン" -"ションされました。 \"コミット'{commit_id} - {commit_message}'を参照する\") " -"\"{commit_message}\"" #: taiga/hooks/event_hooks.py:184 #, python-brace-format @@ -1146,7 +1129,7 @@ msgstr "ステータスは存在しません。" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" @@ -1182,16 +1165,20 @@ msgstr "" msgid "Error importing GitHub project" msgstr "" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" msgstr "" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" msgstr "" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "" + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" msgstr "" @@ -1575,35 +1562,41 @@ msgstr "プライベートにする" msgid "Delete selected %(verbose_name_plural)s" msgstr "選択中の%(verbose_name_plural)sらを削除する" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "引数は不足している" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "画像形式が正しくありません" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "無効なテンプレート名" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "無効なテンプレートの説明文" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "無効なユーザーID" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "このユーザーは存在しません。" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "ユーザーはプロジェクトのメンバーである必要がある" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" @@ -1611,7 +1604,7 @@ msgstr "" "プロジェクトにオーナーと、1人以上のアクティブな管理者であるユーザーが必要で" "す。" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "閲覧する権限がありません。" @@ -1630,15 +1623,15 @@ msgstr "" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "プロジェクト" @@ -1654,7 +1647,7 @@ msgstr "オブジェクトID" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1679,11 +1672,11 @@ msgstr "" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "並べ替え" @@ -1840,11 +1833,11 @@ msgstr "" msgid "subject" msgstr "件名" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "色" @@ -1959,7 +1952,7 @@ msgid "Unassigned" msgstr "" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "" @@ -1992,12 +1985,12 @@ msgid "removed:" msgstr "" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "差出人" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "宛先" @@ -2015,23 +2008,23 @@ msgstr "ブロックされたノート" msgid "sprint" msgstr "スプリント" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "このイッシューにこのスプリントを付与する権限がありません。" -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "このイッシューにこのステータスを付与する権限がありません。" -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "このイッシューにこの深刻度を付与する権限がありません。" -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "このイッシューにこの優先度を付与する権限がありません。" -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "このイッシューのこのタイプを付与する権限がありません。" @@ -2061,10 +2054,10 @@ msgid "Likes" msgstr "いいねの数" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "スラグ" @@ -2076,9 +2069,9 @@ msgstr "開始予定日時" msgid "estimated finish date" msgstr "完了予定日時" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "" @@ -2127,7 +2120,7 @@ msgstr "メール" msgid "create at" msgstr "" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "トークン" @@ -2135,7 +2128,7 @@ msgstr "トークン" msgid "invitation extra text" msgstr "招待状の追加テキスト" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "" @@ -2191,35 +2184,35 @@ msgstr "" msgid "total story points" msgstr "" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "" @@ -2243,11 +2236,11 @@ msgstr "" msgid "is featured" msgstr "" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "" @@ -2292,80 +2285,80 @@ msgstr "" msgid "activity last year" msgstr "" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" msgstr "" @@ -2398,12 +2391,12 @@ msgstr "" msgid "Watched" msgstr "" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "" @@ -3095,15 +3088,15 @@ msgstr "" msgid "The tag doesn't exist." msgstr "" -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "" -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "" -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "" @@ -3719,25 +3712,25 @@ msgstr "プロダクトオーナー" msgid "Stakeholder" msgstr "" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "" -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "" -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" @@ -3964,92 +3957,92 @@ msgstr "" msgid "Invalid, are you sure the token is correct?" msgstr "" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "管理者の状態" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "ユーザー名" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "有効なユーザー名を入力してください。" -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "有効" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "経歴" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "写真" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "参加日" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "既定の言語" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "既定のテーマ" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "既定のタイムゾーン" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "タグを色付け" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "Eメールトークン" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "新しいEメールアドレス" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "非公開プロジェクトの最大数" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "公開プロジェクトの最大数" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "非公開プロジェクトごとのメンバーの最大数" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "公開プロジェクトごとのメンバーの最大数" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "アクセス権" diff --git a/taiga/locale/ko/LC_MESSAGES/django.po b/taiga/locale/ko/LC_MESSAGES/django.po index 360d24ff..f7b87fbf 100644 --- a/taiga/locale/ko/LC_MESSAGES/django.po +++ b/taiga/locale/ko/LC_MESSAGES/django.po @@ -3,17 +3,19 @@ # This file is distributed under the same license as the taiga-back package. # # Translators: +# jae kwon park , 2017 # Jonghyuk Baik , 2017 # 안민규 (luasenvy) , 2017 # mcsong , 2015 # mcsong , 2015 +# Theodore Leesuk Kim , 2017 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:55+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Korean (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/ko/)\n" "MIME-Version: 1.0\n" @@ -59,8 +61,8 @@ msgid "Error on creating new user." msgstr "사용자를 생성에 에러가 발생했습니다." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "유효하지 않은 토큰" @@ -197,12 +199,12 @@ msgstr "" "지 또한 아닙니다." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "차단된 엘리먼트" @@ -255,19 +257,19 @@ msgstr "유효하지 않은 하이퍼링크 - 객체가 존재하지 않음." msgid "Incorrect type. Expected url string, received %s." msgstr "url 문자를 받을거라 예상했지만 %s 를 받음. 정확하지 않은 형식" -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "데이터가 유효하지 않습니다." -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "제공된 입력 없음" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "새 항목을 만들 수 없으며 기존 항목 만 수정 할 수 있습니다." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "예상되는 항목 목록." @@ -279,7 +281,7 @@ msgstr "찾지 못함" msgid "Permission denied" msgstr "권한이 없습니다" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "서버 애플리케이션 에러" @@ -358,12 +360,12 @@ msgstr "필수조건 오류" msgid "No room left for more projects." msgstr "더 많은 프로젝트를 위한 공간이 남지 않았습니다." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "필터 매개 변수 유형에 오류가 있습니다." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project'는 반드시 정수이어야 합니다." @@ -413,6 +415,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " \n" " " msgstr "" -"\n" -" 타이가 지원:\n" -" %(support_url)s\n" -"
\n" -" 연락처:\n" -" \n" -" %(support_email)s\n" -" \n" -"
\n" -" 메일링 목록:\n" -" \n" -" %(mailing_list_url)s\n" -" \n" -" " #: taiga/base/templates/emails/hero-body-html.jinja:6 msgid "You have been Taigatized" @@ -522,68 +510,68 @@ msgstr "덤프 파일이 필요함" msgid "Invalid dump format" msgstr "잘못된 덤프 포맷" -#: taiga/export_import/services/store.py:718 -#: taiga/export_import/services/store.py:736 +#: taiga/export_import/services/store.py:722 +#: taiga/export_import/services/store.py:740 msgid "error importing project data" msgstr "프로젝트 데이터를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:743 +#: taiga/export_import/services/store.py:747 msgid "error importing roles" msgstr "역할을 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:748 +#: taiga/export_import/services/store.py:752 msgid "error importing memberships" msgstr "회원을 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:759 +#: taiga/export_import/services/store.py:763 msgid "error importing lists of project attributes" msgstr "프로젝트 속성 목록을 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:763 +#: taiga/export_import/services/store.py:767 msgid "error importing default project attributes values" msgstr "기본 프로젝트 속성값을 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:774 +#: taiga/export_import/services/store.py:778 msgid "error importing custom attributes" msgstr "사용자 정의 속성을 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:778 +#: taiga/export_import/services/store.py:782 msgid "error importing sprints" msgstr "스프린트를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:782 +#: taiga/export_import/services/store.py:786 msgid "error importing issues" msgstr "이슈를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:786 +#: taiga/export_import/services/store.py:790 msgid "error importing user stories" msgstr "유저 스토리를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:790 +#: taiga/export_import/services/store.py:794 msgid "error importing epics" msgstr "에픽을 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:794 +#: taiga/export_import/services/store.py:798 msgid "error importing tasks" msgstr "태스크를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:798 +#: taiga/export_import/services/store.py:802 msgid "error importing wiki pages" msgstr "위키 페이지를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:802 +#: taiga/export_import/services/store.py:806 msgid "error importing wiki links" msgstr "위키 링크를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:806 +#: taiga/export_import/services/store.py:810 msgid "error importing tags" msgstr "태그를 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:810 +#: taiga/export_import/services/store.py:814 msgid "error importing timelines" msgstr "타임라인을 가져오는 중 오류가 발생하였습니다." -#: taiga/export_import/services/store.py:832 +#: taiga/export_import/services/store.py:836 msgid "unexpected error importing project" msgstr "예상치 못한 프로젝트 가져 오기 오류가 발생하였습니다." @@ -901,12 +889,12 @@ msgstr "인증 필요" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "이름" @@ -923,7 +911,7 @@ msgstr "웹" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "설명" @@ -942,11 +930,11 @@ msgstr "유저" msgid "application" msgstr "어플리케이션" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "성명" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "이메일 주소" @@ -959,7 +947,7 @@ msgstr "댓글" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -1032,8 +1020,8 @@ msgid "The payload is not a valid json" msgstr "페이로드의 json이 유효하지 않습니다." #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "프로젝트가 존재하지 않습니다." @@ -1096,14 +1084,10 @@ msgstr "알수 없는 유저" #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" -"{user_text} [{platform} commit]({commit_url} \"'{commit_id} - " -"{commit_message}' 댓글 보기\") 의 상태가 변경되었습니다.\n" -"\n" -" - 상태: **{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:161 #, python-brace-format @@ -1120,11 +1104,9 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" -"[{platform} 커밋] {user_text} ({commit_url} \"'{commit_id} - " -"{commit_message}' 커밋 보기\") \"{commit_message}\" {type_name} 언급됨" #: taiga/hooks/event_hooks.py:184 #, python-brace-format @@ -1142,7 +1124,7 @@ msgstr "상태가 존재하지 않습니다." #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" @@ -1178,16 +1160,20 @@ msgstr "서드 파티 서비스에 실패하였습니다." msgid "Error importing GitHub project" msgstr "GitHub프로젝트를 가져오는 중 에러가 발생하였습니다." -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" msgstr "url값이 필요합니다." -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" msgstr "유효하지 않은 프로젝트_유형 {}" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "" + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" msgstr "인증 토큰이 유효하지 않거나 만료되었습니다." @@ -1212,6 +1198,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"Asana 프로젝트 이관\n" +"

안녕하세요, %(user)s님.

\n" +"

선생님의 Asana 프로젝트가 제대로 이관되었습니다.

\n" +"" +"%(project)s 로 이동하기\n" +"

Taiga 팀 올림

" #: taiga/importers/templates/emails/asana_import_success-body-text.jinja:1 #, python-format @@ -1228,11 +1221,23 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"안녕하세요, %(user)s님.\n" +"\n" +"선생님의 Asana 프로젝트가 제대로 이관되었습니다.\n" +"\n" +"선생님께선 %(project)s 프로젝트를 다음 링크에서 보실 수 있습니다\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"\n" +"Taiga 팀 올림\n" #: taiga/importers/templates/emails/asana_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Asana project has been imported" -msgstr "" +msgstr "[%(project)s]선생님의 Asana 프로젝트가 이관되었습니다." #: taiga/importers/templates/emails/github_import_success-body-html.jinja:4 #, python-format @@ -1246,6 +1251,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Github 프로젝트 이관

\n" +"

안녕하세요, %(user)s 님.

\n" +"

선생님의 Github 프로젝트가 제대로 이관되었습니다.

\n" +"" +"%(project)s 가기\n" +"

Taiga 팀 올림

" #: taiga/importers/templates/emails/github_import_success-body-text.jinja:1 #, python-format @@ -1262,11 +1274,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"안녕하세요, %(user)s님.\n" +"\n" +"선생님의 GitHub 프로젝트가 올바르게 이관되었습니다.\n" +"\n" +"선생님께선 %(project)s 프로젝트를 다음 링크에서 보실 수 있습니다:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Taiga 팀 올림\n" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr "[%(project)s]선생님의 GitHub 프로젝트가 제대로 이관되었습니다." #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1280,6 +1303,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

\\Jira 프로젝트 이관

\n" +"

안녕하세요, %(user)s님.

\n" +"

선생님의 Jira 프로젝트가 제대로 이관되었습니다.

\n" +"" +"%(project)s 로 이동하기\n" +"

Taiga 팀 올림

" #: taiga/importers/templates/emails/jira_import_success-body-text.jinja:1 #, python-format @@ -1296,11 +1326,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"안녕하세요, %(user)s님.\n" +"\n" +"선생님의 Jira 프로젝트는 제대로 이관되었습니다.\n" +"\n" +"선생님께선 %(project)s 프로젝트를 다음 링크에서 보실 수 있습니다.\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Taiga 팀 올림\n" #: taiga/importers/templates/emails/jira_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Jira project has been imported" -msgstr "" +msgstr "[%(project)s] 당신의 지라 프로젝트를 가져 왔습니다." #: taiga/importers/templates/emails/trello_import_success-body-html.jinja:4 #, python-format @@ -1314,6 +1355,13 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Trello 프로젝트 이관

\n" +"

안녕하세요, %(user)s 님.

\n" +"

선생님의 Trello 프로젝트가 제대로 이관되었습니다.

\n" +"" +"%(project)s 로 이동하기\n" +"

타이가 팀 올림

" #: taiga/importers/templates/emails/trello_import_success-body-text.jinja:1 #, python-format @@ -1330,11 +1378,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"%(user)s ,\n" +"\n" +"당신의 Trello project 를 올바르게 가져 왔습니다.\n" +"\n" +"이제 여기서 프로젝트를 볼 수 있습니다 %(project)s :\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"The Taiga Team\n" #: taiga/importers/templates/emails/trello_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Trello project has been imported" -msgstr "" +msgstr "[%(project)s] 당신의 Trello project 를 성공적으로 가져왔습니다." #: taiga/importers/trello/importer.py:78 #, python-format @@ -1571,35 +1630,41 @@ msgstr "비공개로 만들기" msgid "Delete selected %(verbose_name_plural)s" msgstr "%(verbose_name_plural)s 선택된 것을 삭제" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "매개변수가 완전하지 않습니다." -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "이미지 형식이 유효하지 않습니다." -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "탬플릿 이름이 유효하지 않습니다." -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "탬플릿 설명이 유효하지 않습니다." -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "사용자 아이디가 유효하지 않습니다." -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "사용자가 존재하지 않습니다." -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "프로젝트 회원이어야 합니다." -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" @@ -1607,7 +1672,7 @@ msgstr "" "프로젝트는 반드시 소유자가 있어야하며 사용자 중 적어도 한 명이 활성 관리자이" "어야 합니다." -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "볼 수 있는 권한이 없습니다." @@ -1626,15 +1691,15 @@ msgstr "프로젝트 아이디가 객체와 프로젝트간에 알맞지 않습 #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "프로젝트" @@ -1650,7 +1715,7 @@ msgstr "객체 아이디" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1675,11 +1740,11 @@ msgstr "댓글로부터" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "순서" @@ -1856,11 +1921,11 @@ msgstr "에픽 순서" msgid "subject" msgstr "제목" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "색" @@ -1975,7 +2040,7 @@ msgid "Unassigned" msgstr "할당되지 않았습니다." #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-삭제되었습니다-" @@ -2008,12 +2073,12 @@ msgid "removed:" msgstr "삭제되었습니다:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "보낸이:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "받는이:" @@ -2031,23 +2096,23 @@ msgstr "차단된 노트" msgid "sprint" msgstr "스프린트" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "이 이슈의 스프린트를 설정할 권한이 없습니다." -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "이 이슈의 상태를 설정할 권한이 없습니다." -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "이 이슈의 심각도를 설정할 권한이 없습니다." -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "이 우선 순위의 형태를 설정할 권한이 없습니다." -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "이 이슈에 형태를 설정할 권한이 없습니다." @@ -2077,10 +2142,10 @@ msgid "Likes" msgstr "좋아요" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "슬러그" @@ -2092,9 +2157,9 @@ msgstr "예측 시작일" msgid "estimated finish date" msgstr "예측 종료일" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "완료됨" @@ -2143,7 +2208,7 @@ msgstr "이메일" msgid "create at" msgstr "생성일" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "토큰" @@ -2151,7 +2216,7 @@ msgstr "토큰" msgid "invitation extra text" msgstr "초대장 추가 문자" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "유저 순서" @@ -2207,35 +2272,35 @@ msgstr "마일스톤 합계" msgid "total story points" msgstr "총 스토리 포인트" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "연락처 활성" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "에픽 활성" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "백로그 활성" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "칸반 활성" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "위키 활성" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "이슈 활성" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "화상회의 시스템" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "화상회의 추가 데이터" @@ -2259,11 +2324,11 @@ msgstr "사용자 권한" msgid "is featured" msgstr "추천됨" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "구인중" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "구인 메모" @@ -2308,80 +2373,80 @@ msgstr "지난 달의 활동" msgid "activity last year" msgstr "작년의 활동" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "모듈 설정" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "보관됨" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "작업 진행 한계" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "값" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "소유자의 기본 역할" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "기본 옵션" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "에픽 상태" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "유저 스토리 상태" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "포인트" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "태스크 상태" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "이슈 상태" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "이슈 형태" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "우선순위" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "심각도" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "역할" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "에픽 사용자 정의 속성" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "유저 스토리 사용자 정의 속성" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "태스크 사용자 정의 속성" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" msgstr "이슈 사용자 정의 속성" @@ -2414,12 +2479,12 @@ msgstr "사용자 알림" msgid "Watched" msgstr "구독됨" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "지정된 사용자 및 프로젝트에 대한 알림이 있습니다." -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "알림 수준의 값이 유효하지 않습니다." @@ -3419,15 +3484,15 @@ msgstr "색이 유효하지 않은 HEX색 입니다." msgid "The tag doesn't exist." msgstr "태그가 존재하지 않습니다." -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "이 태스크의 스프린트를 설정할 권한이 없습니다." -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "이 태스크의 유저 스토리를 설정할 권한이 없습니다." -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "이 태스크의 상태를 설정할 권한이 없습니다." @@ -4178,25 +4243,25 @@ msgstr "제품 소유자" msgid "Stakeholder" msgstr "이해관계자" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "이 유저 스토리를 스프린트에 설정할 권한이 없습니다." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "이 유저 스토리의 상태를 설정할 권한이 없습니다." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "'{role_id}' 역할 아이디는 유효하지 않습니다." -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "'{points_id}' 포인트 아이디는 유효하지 않습니다." -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "유저 스토리 생성 #{ref} - {subject}" @@ -4433,34 +4498,34 @@ msgstr "유효하지 않음, 토큰이 정확하고 이전에 사용하지 않 msgid "Invalid, are you sure the token is correct?" msgstr "유효하지 않음, 토큰이 정확합니까?are you sure the token is correct?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "슈퍼유저 상태" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "이 사용자가 명시적인 할당을 받지 않고 모든 권한을 가지는지 지정합니다." -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "아이디" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "필수. 30자 이하. 문자, 숫자 그리고 /./-/_ characters" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "올바른 아이디를 입력해주세요." -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "활성" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -4468,59 +4533,59 @@ msgstr "" "이 사용자를 활성 상태로 취급할 것인지 지정합니다. 계정을 삭제하는 대신에 선택" "을 해제하십시오." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "바이오그래피" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "사진" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "가입한 날짜" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "기본 언어" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "기본 테마" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "기본 시간대" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "태그 색 칠하기" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "이메일 토큰" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "새로운 이메일 주소" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "소유할 수 있는 비공개 프로젝트의 최대 개수" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "소유할 수 있는 공공 프로젝트의 최대 개수" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "소유한 비공개 프로젝트당 수용할 수 있는 최대 회원수" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "소유한 공공 프로젝트당 수용할 수 있는 최대 회원수" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "권한" diff --git a/taiga/locale/nb/LC_MESSAGES/django.po b/taiga/locale/nb/LC_MESSAGES/django.po index 02037b90..59ed2ca4 100644 --- a/taiga/locale/nb/LC_MESSAGES/django.po +++ b/taiga/locale/nb/LC_MESSAGES/django.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/taiga-agile-llc/" "taiga-back/language/nb/)\n" "MIME-Version: 1.0\n" @@ -56,8 +56,8 @@ msgid "Error on creating new user." msgstr "Feil ved å lage ny bruker." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Ugyldig polett" @@ -190,12 +190,12 @@ msgstr "" "et ødelagt bilde." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Blokkert element" @@ -249,20 +249,20 @@ msgstr "Ugyldig hyperkobling - objekt finnes ikke." msgid "Incorrect type. Expected url string, received %s." msgstr "Feil type. Forventet url streng, fikk %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Ugyldig data." -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Ingen inndata ble angitt" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Kan ikke opprette et nytt element, kun eksisterende elementer kan oppdateres." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Forventet en liste med elementer." @@ -274,7 +274,7 @@ msgstr "Ikke funnet" msgid "Permission denied" msgstr "Tilgang nektet" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Server programfeil" @@ -353,12 +353,12 @@ msgstr "Forutsetningsfeil" msgid "No room left for more projects." msgstr "Ingen plass igjen til nye prosjekter." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Feil i filterparameter typer" -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' må være et heltall" @@ -408,6 +408,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Dutch (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/nl/)\n" "MIME-Version: 1.0\n" @@ -57,8 +57,8 @@ msgid "Error on creating new user." msgstr "Fout bij het aanmaken van een nieuwe gebruiker." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Ongeldig token" @@ -199,12 +199,12 @@ msgstr "" "een afbeelding ofwel een corrupte afbeelding." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "" @@ -257,20 +257,20 @@ msgstr "Ongeldige hyperlink - object bestaat niet." msgid "Incorrect type. Expected url string, received %s." msgstr "Incorrect type. Url string werd verwacht, maar %s gekregen." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Ongeldige data" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Geen input gegeven" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Kan geen nieuw item aanmaken, enkel bestaande items mogen bijgewerkt worden." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Verwachtte een lijst van items." @@ -282,7 +282,7 @@ msgstr "Niet gevonden" msgid "Permission denied" msgstr "Toestemming geweigerd" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Server applicatie fout" @@ -361,12 +361,12 @@ msgstr "Preconditie fout" msgid "No room left for more projects." msgstr "" -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Fout in filter params types." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' moet een integer waarde zijn." @@ -416,6 +416,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " , 2015 +# Karol Sokolowski , 2017 # Wiktor Żurawik , 2015 # Wojtek Jurkowlaniec , 2015 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Polish (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/pl/)\n" "MIME-Version: 1.0\n" @@ -20,7 +21,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" -"%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" +"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: taiga/auth/api.py:74 @@ -53,15 +54,15 @@ msgstr "Użytkownik już zarejestrowany" #: taiga/auth/services.py:140 msgid "This user is already a member of the project." -msgstr "" +msgstr "Ten użytkownik jest już członkiem projektu." #: taiga/auth/services.py:164 msgid "Error on creating new user." msgstr "Błąd przy tworzeniu użytkownika." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Nieprawidłowy token" @@ -102,7 +103,7 @@ msgstr "" #: taiga/base/api/fields.py:638 msgid "You email domain is not allowed" -msgstr "" +msgstr "Twoja domena email jest niedozwolona." #: taiga/base/api/fields.py:647 msgid "Enter a valid email address." @@ -194,14 +195,14 @@ msgstr "" "jest uszkodzony." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" -msgstr "" +msgstr "Element zablokowany" #: taiga/base/api/pagination.py:228 msgid "Page is not 'last', nor can it be converted to an int." @@ -252,21 +253,21 @@ msgstr "Nieprawidłowy odnośnik - obiekt nie istnieje." msgid "Incorrect type. Expected url string, received %s." msgstr "Niepoprawny typ. Oczekiwany url, otrzymany %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Nieprawidłowa dana" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Nic nie wpisano" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Nie można utworzyć nowego obiektu, tylko istniejące obiekty mogą być " "aktualizowane." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Oczekiwana lista elementów." @@ -278,7 +279,7 @@ msgstr "Nie znaleziono" msgid "Permission denied" msgstr "Dostęp zabroniony" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Błąd aplikacji serwera" @@ -355,14 +356,14 @@ msgstr "Błąd warunków wstępnych" #: taiga/base/exceptions.py:219 msgid "No room left for more projects." -msgstr "" +msgstr "Nie ma miejsca na więcej projektów." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Błąd w parametrach typów filtrów." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' musi być wartością typu int." @@ -412,6 +413,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " :\"\n" +"\n" +"\n" +"Powód:\n" +"-------\n" +"{reason}\n" +"\n" +"Detale:\n" +"--------\n" +"{details}\n" +"\n" +"Ślad błędu:\n" +"------------" #: taiga/export_import/tasks.py:120 msgid "Error loading project dump" @@ -596,11 +618,11 @@ msgstr "Błąd w trakcie wczytywania zrzutu projektu" #: taiga/export_import/tasks.py:121 msgid "Error loading your project dump file" -msgstr "" +msgstr "Błąd ładowania twojego zrzutu projektu" #: taiga/export_import/tasks.py:135 msgid " -- no detail info --" -msgstr "" +msgstr "-- nie ma szegółowego info --" #: taiga/export_import/templates/emails/dump_project-body-html.jinja:4 #, python-format @@ -863,23 +885,23 @@ msgstr "Nazwa projektu zduplikowana" #: taiga/external_apps/api.py:43 taiga/external_apps/api.py:70 #: taiga/external_apps/api.py:77 msgid "Authentication required" -msgstr "" +msgstr "Autentyfikacja wymagana" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "nazwa" #: taiga/external_apps/models.py:37 msgid "Icon url" -msgstr "" +msgstr "URL ikony" #: taiga/external_apps/models.py:38 msgid "web" @@ -890,7 +912,7 @@ msgstr "web" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "opis" @@ -909,11 +931,11 @@ msgstr "użytkownik" msgid "application" msgstr "aplikacja" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "Imię i Nazwisko" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "adres e-mail" @@ -926,7 +948,7 @@ msgstr "komentarz" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -999,8 +1021,8 @@ msgid "The payload is not a valid json" msgstr "Źródło nie jest prawidłowym plikiem json" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "Projekt nie istnieje" @@ -1016,6 +1038,10 @@ msgid "" "\n" "\"{comment_message}\"" msgstr "" +"[@{user_name}]({user_url} \"Zobacz profil @{user_name}'s {platform} \") " +"który mówi w [{platform}#{number}]({comment_url} \"Idż do komentarza\"):\n" +"\n" +"\"{comment_message}\"" #: taiga/hooks/event_hooks.py:71 #, python-brace-format @@ -1024,6 +1050,9 @@ msgid "" "\n" "> {comment_message}" msgstr "" +"Komentarz od {platform}:\n" +"\n" +"> {comment_message}" #: taiga/hooks/event_hooks.py:84 msgid "Invalid issue comment information" @@ -1035,11 +1064,14 @@ msgid "" "Issue created by [@{user_name}]({user_url} \"See @{user_name}'s {platform} " "profile\") from [{platform}#{number}]({url} \"Go to issue\")." msgstr "" +"Problem stworzony przez [@{user_name}]({user_url} \"Zobacz profil " +"@{user_name}'s {platform}\") z [{platform}#{number}]({url} \"Idź do problemu" +"\")." #: taiga/hooks/event_hooks.py:107 #, python-brace-format msgid "Issue created from {platform}." -msgstr "" +msgstr "Problem stworzony z {platform}." #: taiga/hooks/event_hooks.py:120 msgid "Invalid issue information" @@ -1047,13 +1079,13 @@ msgstr "Nieprawidłowa informacja o zgłoszeniu" #: taiga/hooks/event_hooks.py:149 taiga/hooks/event_hooks.py:171 msgid "unknown user" -msgstr "" +msgstr "nieznany użytkownik" #: taiga/hooks/event_hooks.py:156 #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" @@ -1065,12 +1097,15 @@ msgid "" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" +"Zmienił status z {platform} commit.\n" +"\n" +"- Status: **{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:179 #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" @@ -1079,6 +1114,7 @@ msgstr "" msgid "" "This issue has been mentioned in the {platform} commit \"{commit_message}\"" msgstr "" +"Ten problem został wspomniany w {platform} commit \"{commit_message}\"" #: taiga/hooks/event_hooks.py:206 msgid "The referenced element doesn't exist" @@ -1090,63 +1126,67 @@ msgstr "Status nie istnieje" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" -msgstr "" +msgstr "Parametr projektu jest potrzebny" #: taiga/importers/asana/api.py:50 taiga/importers/asana/api.py:73 #: taiga/importers/asana/api.py:139 msgid "Invalid Asana API request" -msgstr "" +msgstr "Nieprawidłowe wywołanie API Asana" #: taiga/importers/asana/api.py:52 taiga/importers/asana/api.py:75 #: taiga/importers/asana/api.py:141 msgid "Failed to make the request to Asana API" -msgstr "" +msgstr "Nie udało się wywołać API Asana" #: taiga/importers/asana/api.py:129 taiga/importers/github/api.py:123 msgid "Code param needed" -msgstr "" +msgstr "Potrzebny parametr kodu" #: taiga/importers/asana/tasks.py:42 taiga/importers/asana/tasks.py:43 msgid "Error importing Asana project" -msgstr "" +msgstr "Błąd w imporcie projektu Asana" #: taiga/importers/github/api.py:135 msgid "Invalid auth data" -msgstr "" +msgstr "Błąd w danych autentyfikacji" #: taiga/importers/github/api.py:137 msgid "Third party service failing" -msgstr "" +msgstr "Serwis trzecich osób zawiódł" #: taiga/importers/github/tasks.py:42 taiga/importers/github/tasks.py:43 msgid "Error importing GitHub project" -msgstr "" +msgstr "Błąd importowania projektu GitHub" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" -msgstr "" +msgstr "Parametr URL jest potrzebny" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" +msgstr "Nieprawidłowy project_type {}" + +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." msgstr "" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "Nieprawidłowy albo przeterminowany token autentifikacji" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "Błąd importu projektu Jira" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "Błąd importu projektu PivotalTracker" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1519,41 +1559,47 @@ msgstr "" msgid "Delete selected %(verbose_name_plural)s" msgstr "" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "Pola niekompletne" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "Niepoprawny format obrazka" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "Nieprawidłowa nazwa szablonu" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "Nieprawidłowy opis szablonu" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" msgstr "" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "Nie masz uprawnień by to zobaczyć." @@ -1572,15 +1618,15 @@ msgstr "ID nie pasuje pomiędzy obiektem a projektem" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "projekt" @@ -1596,7 +1642,7 @@ msgstr "id obiektu" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1621,11 +1667,11 @@ msgstr "" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "kolejność" @@ -1782,11 +1828,11 @@ msgstr "" msgid "subject" msgstr "temat" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "kolor" @@ -1901,7 +1947,7 @@ msgid "Unassigned" msgstr "Nieprzypisane" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-usunięte-" @@ -1934,12 +1980,12 @@ msgid "removed:" msgstr "usunięte:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "Od:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "Do:" @@ -1957,23 +2003,23 @@ msgstr "zaglokowana notatka" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "Nie masz uprawnień do połączenia tego zgłoszenia ze sprintem." -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "Nie masz uprawnień do ustawienia statusu dla tego zgłoszenia." -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "Nie masz uprawnień do ustawienia ważności dla tego zgłoszenia." -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "Nie masz uprawnień do ustawienia priorytetu dla tego zgłoszenia." -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "Nie masz uprawnień do ustawienia typu dla tego zgłoszenia." @@ -2003,10 +2049,10 @@ msgid "Likes" msgstr "" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "slug" @@ -2018,9 +2064,9 @@ msgstr "szacowana data rozpoczecia" msgid "estimated finish date" msgstr "szacowana data zakończenia" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "jest zamknięte" @@ -2069,7 +2115,7 @@ msgstr "e-mail" msgid "create at" msgstr "utwórz na" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "token" @@ -2077,7 +2123,7 @@ msgstr "token" msgid "invitation extra text" msgstr "dodatkowy tekst w zaproszeniu" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "kolejność użytkowników" @@ -2133,35 +2179,35 @@ msgstr "wszystkich kamieni milowych" msgid "total story points" msgstr "wszystkich punktów " -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "aktywny panel backlog" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "aktywny panel Kanban" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "aktywny panel Wiki" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "aktywny panel zgłoszeń " -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "system wideokonferencji" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "dodatkowe dane dla wideokonferencji" @@ -2185,11 +2231,11 @@ msgstr "uprawnienia użytkownika" msgid "is featured" msgstr "" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "" @@ -2234,80 +2280,80 @@ msgstr "" msgid "activity last year" msgstr "" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "konfiguracja modułów" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "zarchiwizowane" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "limit postępu prac" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "wartość" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "domyśla rola właściciela" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "domyślne opcje" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "statusy HU" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "pinkty" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "statusy zadań" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "statusy zgłoszeń" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "typy zgłoszeń" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "priorytety" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "ważność" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "role" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" msgstr "" @@ -2340,12 +2386,12 @@ msgstr "powiadom użytkowników" msgid "Watched" msgstr "Obserwowane" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "Powiadomienie istnieje dla określonego użytkownika i projektu" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "Nieprawidłowa wartość dla poziomu notyfikacji" @@ -3298,16 +3344,16 @@ msgstr "" msgid "The tag doesn't exist." msgstr "" -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "Nie masz uprawnień do ustawiania sprintu dla tego zadania." -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "" "Nie masz uprawnień do ustawiania historyjki użytkownika dla tego zadania" -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "Nie masz uprawnień do ustawiania statusu dla tego zadania" @@ -3974,27 +4020,27 @@ msgstr "Właściciel produktu" msgid "Stakeholder" msgstr "Interesariusz" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Nie masz uprawnień do ustawiania sprintu dla tej historyjki użytkownika." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "" "Nie masz uprawnień do ustawiania statusu do tej historyjki użytkownika." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" @@ -4225,11 +4271,11 @@ msgstr "" msgid "Invalid, are you sure the token is correct?" msgstr "Niepoprawne, jesteś pewien, że token jest poprawny?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "status SUPERUSER" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -4237,24 +4283,24 @@ msgstr "" "Oznacza, że ten użytkownik posiada wszystkie uprawnienia bez konieczności " "ich przydzielania." -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "nazwa użytkownika" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Wymagane. 30 znaków. Liter, cyfr i znaków /./-/_" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "Wprowadź poprawną nazwę użytkownika" -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "aktywny" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -4262,59 +4308,59 @@ msgstr "" "Oznacza, że ten użytkownik ma być traktowany jako aktywny. Możesz to " "odznaczyć zamiast usuwać konto." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "zdjęcie" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "data dołączenia" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "domyślny język Taiga" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "domyślny szablon Taiga" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "domyśla strefa czasowa" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "kolory tagów" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "tokem e-mail" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "nowy adres e-mail" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "uprawnienia" diff --git a/taiga/locale/pt_BR/LC_MESSAGES/django.po b/taiga/locale/pt_BR/LC_MESSAGES/django.po index 2b7b2c5e..72929376 100644 --- a/taiga/locale/pt_BR/LC_MESSAGES/django.po +++ b/taiga/locale/pt_BR/LC_MESSAGES/django.po @@ -4,28 +4,33 @@ # # Translators: # Antônio "acdc" Jr. , 2016 +# Breno Uchoa , 2017 +# Claudio Ferreira , 2017 # Cléber Zavadniak , 2015 -# Thiago , 2015 +# Thiago Muramatsu , 2015 # Daniel Dias , 2015 +# Danilo Almeida , 2018 # David Barragán , 2015 # Hevertton Barbosa , 2015 # Kemel Zaidan , 2015 # Lennon Jesus , 2016 +# Lucas Boscaini , 2017 # Mairieli Wessel , 2016 # Marlon Carvalho , 2015 # Michel Wilhelm , 2016 # pedromvm , 2015 +# Pedro Rangel Raft , 2017 # Renato Prado , 2015 # Thiago Almeida , 2016 -# Thiago , 2015 +# Thiago Muramatsu , 2015 # Walker de Alencar , 2015 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-17 21:35+0000\n" +"Last-Translator: Danilo Almeida \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/taiga-agile-llc/" "taiga-back/language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -60,7 +65,7 @@ msgstr "Esse token não bate com nenhum convite." #: taiga/auth/services.py:123 msgid "User is already registered." -msgstr "Este usuário já está registrado." +msgstr "Usuário já cadastrado." #: taiga/auth/services.py:140 msgid "This user is already a member of the project." @@ -71,8 +76,8 @@ msgid "Error on creating new user." msgstr "Erro ao criar um novo usuário." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Token inválido" @@ -112,7 +117,7 @@ msgstr "Escolha uma alternativa válida. %(value)s não está disponível." #: taiga/base/api/fields.py:638 msgid "You email domain is not allowed" -msgstr "" +msgstr "Seu domínio de email não é permitido" #: taiga/base/api/fields.py:647 msgid "Enter a valid email address." @@ -204,12 +209,12 @@ msgstr "" "está corrompido." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Elemento bloqeado" @@ -262,21 +267,21 @@ msgstr "Hyperlink inválido - objeto não existe." msgid "Incorrect type. Expected url string, received %s." msgstr "Tipo incorreto. Esperada string de url, recebido %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Dados inválidos" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Nenhuma entrada providenciada" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Não é possível criar um novo item, somente itens já existentes podem ser " "atualizados." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Esperada uma lista de itens." @@ -288,7 +293,7 @@ msgstr "Não encontrado" msgid "Permission denied" msgstr "Permissão negada" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Erro no servidor da aplicação" @@ -365,14 +370,14 @@ msgstr "Erro de pré-condição" #: taiga/base/exceptions.py:219 msgid "No room left for more projects." -msgstr "" +msgstr "Não há mais espaço para mais projetos." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Erro nos tipos de parâmetros do filtro." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'projeto' deve ser um valor inteiro." @@ -422,6 +427,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " Seu arquivo de restauração de projeto %(project)s foi corretamente " "gerado.\n" "

Você pode baixa-lo aqui:

\n" -"
Download do arquivo de restauração\n" -"

Esse arquivo será apagado em %(deletion_date)s.

\n" -"

O time Taiga

\n" +" Baixar o arquivo de restauração\n" +"

Esse arquivo será excluído em %(deletion_date)s.

\n" +"

Time Taiga

\n" " " #: taiga/export_import/templates/emails/dump_project-body-text.jinja:1 @@ -685,10 +696,10 @@ msgstr "" "\n" "%(url)s\n" "\n" -"Esse arquivo será apagado em %(deletion_date)s.\n" +"Esse arquivo será excluído em %(deletion_date)s.\n" "\n" "---\n" -"O time Taiga\n" +"Time Taiga\n" #: taiga/export_import/templates/emails/dump_project-subject.jinja:1 #, python-format @@ -717,7 +728,7 @@ msgstr "" "tente novamente ou entre em contato com o time de suporte em\n" " %(support_email)s

\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/export_import/templates/emails/export_error-body-text.jinja:1 @@ -748,7 +759,7 @@ msgstr "" "%(support_email)s\n" "\n" "---\n" -"The Taiga Team\n" +"Time Taiga\n" #: taiga/export_import/templates/emails/export_error-subject.jinja:1 #, python-format @@ -778,7 +789,7 @@ msgstr "" "Por favor, tentar novamente ou entrar em contado com o time de suporte em\n" " %(support_email)s

\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/export_import/templates/emails/import_error-body-text.jinja:1 @@ -811,7 +822,7 @@ msgstr "" "%(support_email)s\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/export_import/templates/emails/import_error-subject.jinja:1 #: taiga/importers/templates/emails/importer_import_error-subject.jinja:1 @@ -899,12 +910,12 @@ msgstr "Autenticação necessária" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "Nome" @@ -921,7 +932,7 @@ msgstr "web" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "descrição" @@ -940,11 +951,11 @@ msgstr "usuário" msgid "application" msgstr "aplicação" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "nome completo" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "endereço de e-mail" @@ -957,7 +968,7 @@ msgstr "comentário" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -1030,8 +1041,8 @@ msgid "The payload is not a valid json" msgstr "A carga não é um json válido" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "O projeto não existe" @@ -1047,6 +1058,10 @@ msgid "" "\n" "\"{comment_message}\"" msgstr "" +"[@{user_name}]({user_url} \"Veja que @{user_name}'s {platform} profile\") " +"disse em [{platform}#{number}]({comment_url} \"Vá para o comentário\"):\n" +"\n" +"\"{comment_message}\"" #: taiga/hooks/event_hooks.py:71 #, python-brace-format @@ -1055,6 +1070,9 @@ msgid "" "\n" "> {comment_message}" msgstr "" +"Comentário de {platform}:\n" +"\n" +"> {comment_message}" #: taiga/hooks/event_hooks.py:84 msgid "Invalid issue comment information" @@ -1066,11 +1084,13 @@ msgid "" "Issue created by [@{user_name}]({user_url} \"See @{user_name}'s {platform} " "profile\") from [{platform}#{number}]({url} \"Go to issue\")." msgstr "" +"Issue created by [@{user_name}]({user_url} \"See @{user_name}'s {platform} " +"profile\") from [{platform}#{number}]({url} \"Go to issue\")." #: taiga/hooks/event_hooks.py:107 #, python-brace-format msgid "Issue created from {platform}." -msgstr "" +msgstr "Problema criado pela {platform}." #: taiga/hooks/event_hooks.py:120 msgid "Invalid issue information" @@ -1084,7 +1104,7 @@ msgstr "usuário desconhecido" #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" @@ -1101,7 +1121,7 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" @@ -1109,7 +1129,7 @@ msgstr "" #, python-brace-format msgid "" "This issue has been mentioned in the {platform} commit \"{commit_message}\"" -msgstr "" +msgstr "Este problema foi mencionado no {platform} commit \"{commit_message}\"" #: taiga/hooks/event_hooks.py:206 msgid "The referenced element doesn't exist" @@ -1121,63 +1141,67 @@ msgstr "O estatus não existe" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" -msgstr "" +msgstr "Parâmetro projeto necessário" #: taiga/importers/asana/api.py:50 taiga/importers/asana/api.py:73 #: taiga/importers/asana/api.py:139 msgid "Invalid Asana API request" -msgstr "" +msgstr "pedido inválido a Asana API" #: taiga/importers/asana/api.py:52 taiga/importers/asana/api.py:75 #: taiga/importers/asana/api.py:141 msgid "Failed to make the request to Asana API" -msgstr "" +msgstr "Falha ao fazer o pedido a Asana API" #: taiga/importers/asana/api.py:129 taiga/importers/github/api.py:123 msgid "Code param needed" -msgstr "" +msgstr "Parâmetro código necessário" #: taiga/importers/asana/tasks.py:42 taiga/importers/asana/tasks.py:43 msgid "Error importing Asana project" -msgstr "" +msgstr "Erro ao importar projeto Asana" #: taiga/importers/github/api.py:135 msgid "Invalid auth data" -msgstr "" +msgstr "Dados de autenticação invalidos" #: taiga/importers/github/api.py:137 msgid "Third party service failing" -msgstr "" +msgstr "Serviço de terceiro falhando" #: taiga/importers/github/tasks.py:42 taiga/importers/github/tasks.py:43 msgid "Error importing GitHub project" -msgstr "" +msgstr "Erro ao importar projeto GitHub" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" -msgstr "" +msgstr "O parâmetro url é necessário" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" msgstr "" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "Configuração do servidor Jira inválida." + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "Token de autenticação invalido ou expirado" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "Erro ao importar projeto Jira" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "Erro ao importar projeto PivotalTracker" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1191,6 +1215,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Projeto Asana importado

\n" +"

Olá %(user)s,

\n" +"

Seu projeto Asana foi importado corretamente.

\n" +" Vá para %(project)s\n" +"

Time Taiga

\n" +" " #: taiga/importers/templates/emails/asana_import_success-body-text.jinja:1 #, python-format @@ -1207,11 +1239,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Olá %(user)s,\n" +"\n" +"Seu projeto Asana foi importado corretamente.\n" +"\n" +"Você pode ver seu projeto %(project)s aqui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Time Taiga\n" #: taiga/importers/templates/emails/asana_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Asana project has been imported" -msgstr "" +msgstr "[%(project)s] Seu projeto Asana foi importado" #: taiga/importers/templates/emails/github_import_success-body-html.jinja:4 #, python-format @@ -1225,6 +1268,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Projeto GitHub importado

\n" +"

Olá %(user)s,

\n" +"

Seu projeto GitHub foi importado corretamente.

\n" +" Vá para %(project)s\n" +"

Time Taiga

\n" +" " #: taiga/importers/templates/emails/github_import_success-body-text.jinja:1 #, python-format @@ -1241,11 +1292,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Olá %(user)s,\n" +"\n" +"Seu projeto GitHub foi importado corretamente.\n" +"\n" +"Você pode ver seu projeto %(project)s aqui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Time Taiga\n" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr "[%(project)s] Seu projeto GitHub foi importado" #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1259,6 +1321,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Projeto Jira importado

\n" +"

Olá %(user)s,

\n" +"

Seu projeto Jira foi importado corretamente.

\n" +" Vá para %(project)s\n" +"

Time Taiga

\n" +" " #: taiga/importers/templates/emails/jira_import_success-body-text.jinja:1 #, python-format @@ -1275,11 +1345,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Olá %(user)s,\n" +"\n" +"Seu projeto Jira foi importado corretamente.\n" +"\n" +"Você pode ver seu projeto %(project)s aqui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Time Taiga\n" #: taiga/importers/templates/emails/jira_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Jira project has been imported" -msgstr "" +msgstr "[%(project)s] Seu projeto Jira foi importado" #: taiga/importers/templates/emails/trello_import_success-body-html.jinja:4 #, python-format @@ -1293,6 +1374,14 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Projeto Trello importado

\n" +"

Olá %(user)s,

\n" +"

Seu projeto Trello foi importado corretamente.

\n" +" Vá para %(project)s\n" +"

Time Taiga

\n" +" " #: taiga/importers/templates/emails/trello_import_success-body-text.jinja:1 #, python-format @@ -1309,16 +1398,27 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Olá %(user)s,\n" +"\n" +"Seu projeto Trello foi importado corretamente.\n" +"\n" +"Você pode ver seu projeto %(project)s aqui:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Time Taiga\n" #: taiga/importers/templates/emails/trello_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Trello project has been imported" -msgstr "" +msgstr "[%(project)s] Seu projeto Trello foi importado" #: taiga/importers/trello/importer.py:78 #, python-format msgid "Invalid Request: %s at %s" -msgstr "" +msgstr "Pedido invalido: %s há %s" #: taiga/importers/trello/importer.py:80 taiga/importers/trello/importer.py:82 #, python-format @@ -1332,7 +1432,7 @@ msgstr "" #: taiga/importers/trello/tasks.py:42 taiga/importers/trello/tasks.py:43 msgid "Error importing Trello project" -msgstr "" +msgstr "Erro ao importar projeto do Trello" #: taiga/permissions/choices.py:23 taiga/permissions/choices.py:34 msgid "View project" @@ -1344,7 +1444,7 @@ msgstr "Ver marco de progresso" #: taiga/permissions/choices.py:25 taiga/permissions/choices.py:41 msgid "View epic" -msgstr "" +msgstr "Ver épico" #: taiga/permissions/choices.py:26 msgid "View user stories" @@ -1376,23 +1476,23 @@ msgstr "Modificar marco de progresso" #: taiga/permissions/choices.py:39 msgid "Delete milestone" -msgstr "Remover marco de progresso" +msgstr "Excluir marco de progresso" #: taiga/permissions/choices.py:42 msgid "Add epic" -msgstr "" +msgstr "Adicionar épico" #: taiga/permissions/choices.py:43 msgid "Modify epic" -msgstr "" +msgstr "Modificar épico" #: taiga/permissions/choices.py:44 msgid "Comment epic" -msgstr "" +msgstr "Comentar épico" #: taiga/permissions/choices.py:45 msgid "Delete epic" -msgstr "" +msgstr "Excluir épico" #: taiga/permissions/choices.py:47 msgid "View user story" @@ -1408,11 +1508,11 @@ msgstr "Modificar história de usuário" #: taiga/permissions/choices.py:50 msgid "Comment user story" -msgstr "" +msgstr "Comentar história de usuário" #: taiga/permissions/choices.py:51 msgid "Delete user story" -msgstr "Apagar história de usuário" +msgstr "Excluir história de usuário" #: taiga/permissions/choices.py:54 msgid "Add task" @@ -1428,7 +1528,7 @@ msgstr "Comentar tarefa" #: taiga/permissions/choices.py:57 msgid "Delete task" -msgstr "Deletar tarefa" +msgstr "Excluir tarefa" #: taiga/permissions/choices.py:60 msgid "Add issue" @@ -1440,11 +1540,11 @@ msgstr "Modificar problema" #: taiga/permissions/choices.py:62 msgid "Comment issue" -msgstr "" +msgstr "Comentar Problema" #: taiga/permissions/choices.py:63 msgid "Delete issue" -msgstr "Deletar problema" +msgstr "Excluir problema" #: taiga/permissions/choices.py:66 msgid "Add wiki page" @@ -1456,11 +1556,11 @@ msgstr "modificar página wiki" #: taiga/permissions/choices.py:68 msgid "Comment wiki page" -msgstr "" +msgstr "Comentar página da wiki" #: taiga/permissions/choices.py:69 msgid "Delete wiki page" -msgstr "Deletar página wiki" +msgstr "Exluir página wiki" #: taiga/permissions/choices.py:72 msgid "Add wiki link" @@ -1472,7 +1572,7 @@ msgstr "Modificar wiki link" #: taiga/permissions/choices.py:74 msgid "Delete wiki link" -msgstr "Deletar link wiki" +msgstr "Exluir link wiki" #: taiga/permissions/choices.py:78 msgid "Modify project" @@ -1480,7 +1580,7 @@ msgstr "Modificar projeto" #: taiga/permissions/choices.py:79 msgid "Delete project" -msgstr "Deletar projeto" +msgstr "Exluir projeto" #: taiga/permissions/choices.py:80 msgid "Add member" @@ -1534,7 +1634,7 @@ msgstr "" #: taiga/projects/admin.py:193 msgid "Make public" -msgstr "" +msgstr "Tornar público" #: taiga/projects/admin.py:207 #, python-brace-format @@ -1543,42 +1643,50 @@ msgstr "" #: taiga/projects/admin.py:208 msgid "Make private" -msgstr "" +msgstr "Tornar privado" #: taiga/projects/admin.py:238 #, python-format msgid "Delete selected %(verbose_name_plural)s" -msgstr "" +msgstr "Excluir %(verbose_name_plural)s selecionados" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "Argumentos incompletos" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "Formato de imagem inválida" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "Nome de template inválido" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "Descrição de template inválida" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "Id de usuário inválido" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "O usuário não existe" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "O usuário deve ser um membro do projeto" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" +"Este usuário não pode ser excluído dos seguintes projetos, pois é necessário " +"deixar algum Administrador ativo: {}." + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" @@ -1586,7 +1694,7 @@ msgstr "" "O projeto deve ter um dono e pelo menos um dos usuários precisa ser um " "administrador ativo" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "Você não tem permissão para ver isso" @@ -1596,7 +1704,7 @@ msgstr "Atualizações parciais não são suportadas" #: taiga/projects/attachments/api.py:69 msgid "Object id issue isn't exists" -msgstr "" +msgstr "Problema com este id não existe" #: taiga/projects/attachments/api.py:72 msgid "Project ID not matches between object and project" @@ -1605,15 +1713,15 @@ msgstr "ID do projeto não combina entre objeto e projeto" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "projeto" @@ -1629,7 +1737,7 @@ msgstr "identidade de objeto" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1649,16 +1757,16 @@ msgstr "está obsoleto" #: taiga/projects/attachments/models.py:61 msgid "from comment" -msgstr "" +msgstr "do comentário" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "ordem" @@ -1692,7 +1800,7 @@ msgstr "Este projeto está bloqueado porque o proprietário deixou o projeto" #: taiga/projects/choices.py:38 msgid "This project is blocked while it's deleted" -msgstr "" +msgstr "Este projeto está bloqueado enquanto é excluído" #: taiga/projects/contact/templates/emails/contact_notification-body-html.jinja:10 #, python-format @@ -1815,11 +1923,11 @@ msgstr "" msgid "subject" msgstr "assunto" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "cor" @@ -1838,7 +1946,7 @@ msgstr "É requerimento do time" #: taiga/projects/epics/models.py:70 msgid "user stories" -msgstr "" +msgstr "histórias de usuário" #: taiga/projects/epics/models.py:72 taiga/projects/issues/models.py:66 #: taiga/projects/tasks/models.py:70 taiga/projects/userstories/models.py:109 @@ -1851,19 +1959,19 @@ msgstr "" #: taiga/projects/history/api.py:93 msgid "comment is required" -msgstr "" +msgstr "comentário obrigatório" #: taiga/projects/history/api.py:96 msgid "deleted comments can't be edited" -msgstr "" +msgstr "comentários excluídos não podem ser editados" #: taiga/projects/history/api.py:130 msgid "Comment already deleted" -msgstr "Comentário já apagado" +msgstr "Comentário já excluído" #: taiga/projects/history/api.py:151 msgid "Comment not deleted" -msgstr "Comentário não apagado" +msgstr "Comentário não excluído" #: taiga/projects/history/choices.py:31 msgid "Change" @@ -1875,7 +1983,7 @@ msgstr "Criar" #: taiga/projects/history/choices.py:33 msgid "Delete" -msgstr "Apagar" +msgstr "Excluir" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 #, python-format @@ -1917,7 +2025,7 @@ msgstr "não-obsoleto" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:88 msgid "Deleted attachment" -msgstr "Anexo apagado" +msgstr "Anexo excluído" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:107 msgid "added" @@ -1934,9 +2042,9 @@ msgid "Unassigned" msgstr "Não-atribuído" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" -msgstr "-apagado-" +msgstr "-excluído-" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:23 msgid "to:" @@ -1956,7 +2064,7 @@ msgstr "Alterado" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:43 msgid "Deleted" -msgstr "Apagado" +msgstr "Excluído" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 msgid "added:" @@ -1967,12 +2075,12 @@ msgid "removed:" msgstr "removido:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "De:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "Para:" @@ -1990,24 +2098,24 @@ msgstr "nota bloqueada" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "Você não tem permissão para colocar essa sprint para esse problema." -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "Você não tem permissão para colocar esse status para esse problema." -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "Você não tem permissão para colocar essa gravidade para esse problema." -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "" "Você não tem permissão para colocar essa prioridade para esse problema." -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "Você não tem permissão para colocar esse tipo para esse problema." @@ -2037,10 +2145,10 @@ msgid "Likes" msgstr "Curtidas" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "slug" @@ -2052,9 +2160,9 @@ msgstr "data de início estimada" msgid "estimated finish date" msgstr "data de encerramento estimada" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "está fechado" @@ -2093,7 +2201,7 @@ msgstr "'project' parametro é mandatório" #: taiga/projects/mixins/validators.py:19 msgid "The user must be a project member." -msgstr "" +msgstr "O usuário deve ser um membro do projeto" #: taiga/projects/models.py:79 msgid "email" @@ -2103,7 +2211,7 @@ msgstr "email" msgid "create at" msgstr "criado em" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "token" @@ -2111,7 +2219,7 @@ msgstr "token" msgid "invitation extra text" msgstr "texto extra de convite" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "ordem de usuário" @@ -2167,35 +2275,35 @@ msgstr "total de marcos de progresso" msgid "total story points" msgstr "pontos totais de US" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "painel de backlog ativo" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "painel de kanban ativo" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "painel de wiki ativo" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "painel de problemas ativo" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "sistema de vídeo conferência" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "informação extra de vídeo conferência" @@ -2219,11 +2327,11 @@ msgstr "permissão de usuário" msgid "is featured" msgstr "é destaque" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "está procurando colaboradores" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "" @@ -2268,82 +2376,82 @@ msgstr "atividades do último mês" msgid "activity last year" msgstr "atividades do último ano" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "configurações de módulos" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "está arquivado" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "trabalho no limite de progresso" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "valor" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "função padrão para dono " -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "opções padrão" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "status de US" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "pontos" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "status de tarefa" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "status de problemas" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "tipos de problema" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "prioridades" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "severidades" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "funções" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" -msgstr "" +msgstr "atributos personalizados de problema" #: taiga/projects/notifications/choices.py:30 msgid "Involved" @@ -2374,12 +2482,12 @@ msgstr "notificar usuário" msgid "Watched" msgstr "Observado" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "Existe notificação para usuário e projeto especifcado" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "Valor inválido para nível de notificação" @@ -2425,6 +2533,15 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Novo épico criado

\n" +"

Olá %(user)s,
%(changer)s criou um novo épico em %(project)s\n" +"

Épico #%(ref)s %(subject)s

\n" +" Ver épico\n" +"

Time Taiga

\n" +" " #: taiga/projects/notifications/templates/emails/epics/epic-create-body-text.jinja:1 #, python-format @@ -2437,6 +2554,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Novo épico criado\n" +"Olá %(user)s, %(changer)s criou um novo épico em %(project)s\n" +"Ver épico #%(ref)s %(subject)s em %(url)s\n" +"\n" +"---\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/epics/epic-create-subject.jinja:1 #, python-format @@ -2456,6 +2580,12 @@ msgid "" "

The Taiga Team

\n" " " msgstr "" +"\n" +"

Épico excluído

\n" +"

Olá %(user)s,
%(changer)s excluiu um épico em %(project)s

\n" +"

Épico #%(ref)s %(subject)s

\n" +"

Time Taiga

\n" +" " #: taiga/projects/notifications/templates/emails/epics/epic-delete-body-text.jinja:1 #, python-format @@ -2468,6 +2598,13 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Épico excluído\n" +"Olá %(user)s, %(changer)s excluiu um épico em %(project)s\n" +"Épico #%(ref)s %(subject)s\n" +"\n" +"---\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/epics/epic-delete-subject.jinja:1 #, python-format @@ -2475,6 +2612,8 @@ msgid "" "\n" "[%(project)s] Deleted the epic #%(ref)s \"%(subject)s\"\n" msgstr "" +"\n" +"[%(project)s] excluiu o épico #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/issues/issue-change-body-html.jinja:4 #, python-format @@ -2583,8 +2722,9 @@ msgid "" " " msgstr "" "\n" -"

Problema apagado

\n" -"

Olá %(user)s,
%(changer)s apagou um problema em %(project)s

\n" +"

Problema excluído

\n" +"

Olá %(user)s,
%(changer)s excluiu um problema em %(project)s\n" "

Problema #%(ref)s %(subject)s

\n" "

Time Taiga

\n" " " @@ -2601,8 +2741,8 @@ msgid "" "The Taiga Team\n" msgstr "" "\n" -"Problema apagado\n" -"Olá %(user)s, %(changer)s apagou um problema em %(project)s\n" +"Problema excluído\n" +"Olá %(user)s, %(changer)s excluiu um problema em %(project)s\n" "Problema #%(ref)s %(subject)s\n" "\n" "---\n" @@ -2615,7 +2755,7 @@ msgid "" "[%(project)s] Deleted the issue #%(ref)s \"%(subject)s\"\n" msgstr "" "\n" -"[%(project)s] Apagado o problema #%(ref)s \"%(subject)s\"\n" +"[%(project)s] Excluido o problema #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-change-body-html.jinja:4 #, python-format @@ -2679,7 +2819,7 @@ msgstr "" "

Sprint %(name)s

\n" " Ver " "sprint\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/projects/notifications/templates/emails/milestones/milestone-create-body-text.jinja:1 @@ -2699,7 +2839,7 @@ msgstr "" "Ver sprint %(name)s em %(url)s\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-create-subject.jinja:1 #, python-format @@ -2722,10 +2862,10 @@ msgid "" " " msgstr "" "\n" -"

Sprint apagado

\n" -"

Olá %(user)s,
%(changer)s apagou sprint em %(project)s

\n" +"

Sprint excluído

\n" +"

Olá %(user)s,
%(changer)s excluiu sprint em %(project)s

\n" "

Sprint %(name)s

\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/projects/notifications/templates/emails/milestones/milestone-delete-body-text.jinja:1 @@ -2740,12 +2880,12 @@ msgid "" "The Taiga Team\n" msgstr "" "\n" -"Sprint deletado\n" -"Olá %(user)s, %(changer)s apagado sprint em %(project)s\n" +"Sprint excluído\n" +"Olá %(user)s, %(changer)s excluiu sprint em %(project)s\n" "Sprint %(name)s\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/milestones/milestone-delete-subject.jinja:1 #, python-format @@ -2754,7 +2894,7 @@ msgid "" "[%(project)s] Deleted the Sprint \"%(milestone)s\"\n" msgstr "" "\n" -"[%(project)s] Apagou o Sprint \"%(milestone)s\"\n" +"[%(project)s] Excpluiu o Sprint \"%(milestone)s\"\n" #: taiga/projects/notifications/templates/emails/tasks/task-change-body-html.jinja:4 #, python-format @@ -2817,7 +2957,7 @@ msgstr "" "

Task #%(ref)s %(subject)s

\n" " Ver tarefa\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/projects/notifications/templates/emails/tasks/task-create-body-text.jinja:1 @@ -2837,7 +2977,7 @@ msgstr "" "Ver tarefa #%(ref)s %(subject)s em %(url)s\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/tasks/task-create-subject.jinja:1 #, python-format @@ -2860,10 +3000,10 @@ msgid "" " " msgstr "" "\n" -"

Tarefa apagada

\n" -"

Olá %(user)s,
%(changer)s apagou uma tarefa em %(project)s

\n" +"

Tarefa excluída

\n" +"

Olá %(user)s,
%(changer)s excluiu uma tarefa em %(project)s

\n" "

Tarefa #%(ref)s %(subject)s

\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/projects/notifications/templates/emails/tasks/task-delete-body-text.jinja:1 @@ -2878,12 +3018,12 @@ msgid "" "The Taiga Team\n" msgstr "" "\n" -"Tarefa apagada \n" -"Olá %(user)s, %(changer)s apagou tarefa em %(project)s\n" +"Tarefa excluída \n" +"Olá %(user)s, %(changer)s excluiu tarefa em %(project)s\n" "Tarefa #%(ref)s %(subject)s\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/tasks/task-delete-subject.jinja:1 #, python-format @@ -2892,7 +3032,7 @@ msgid "" "[%(project)s] Deleted the task #%(ref)s \"%(subject)s\"\n" msgstr "" "\n" -"[%(project)s] Apagou a tarefa #%(ref)s \"%(subject)s\"\n" +"[%(project)s] Excluiu a tarefa #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/userstories/userstory-change-body-html.jinja:4 #, python-format @@ -3000,8 +3140,8 @@ msgid "" " " msgstr "" "\n" -"

História de Usuário apagada

\n" -"

Olá %(user)s,
%(changer)s apagou uma história de usuário em " +"

História de Usuário excluída

\n" +"

Olá %(user)s,
%(changer)s excluiu uma história de usuário em " "%(project)s

\n" "

História de Usuário #%(ref)s %(subject)s

\n" "

Time Taiga

\n" @@ -3019,8 +3159,8 @@ msgid "" "The Taiga Team\n" msgstr "" "\n" -"História de Usuário apagada\n" -"Olá %(user)s, %(changer)s apagou história de usuário em %(project)s\n" +"História de Usuário excluída\n" +"Olá %(user)s, %(changer)s excluiu história de usuário em %(project)s\n" "História de Usuário #%(ref)s %(subject)s\n" "\n" "---\n" @@ -3033,7 +3173,7 @@ msgid "" "[%(project)s] Deleted the US #%(ref)s \"%(subject)s\"\n" msgstr "" "\n" -"[%(project)s] Apagou a US #%(ref)s \"%(subject)s\"\n" +"[%(project)s] Excluiu a HU #%(ref)s \"%(subject)s\"\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-html.jinja:4 #, python-format @@ -3102,7 +3242,7 @@ msgstr "" "

Página wiki %(page)s

\n" " Ver " "página wiki\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-text.jinja:1 @@ -3126,7 +3266,7 @@ msgstr "" "Ver página wiki %(page)s em %(url)s\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-create-subject.jinja:1 #, python-format @@ -3149,11 +3289,11 @@ msgid "" " " msgstr "" "\n" -"

Página Wiki apagada

\n" -"

Olá %(user)s,
%(changer)s apagou uma página wiki em %(project)s\n" +"

Página Wiki excluída

\n" +"

Olá %(user)s,
%(changer)s excluiu uma página wiki em " +"%(project)s

\n" "

Página Wiki %(page)s

\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-text.jinja:1 @@ -3170,14 +3310,14 @@ msgid "" "The Taiga Team\n" msgstr "" "\n" -"Página wiki apagada\n" +"Página wiki excluída\n" "\n" -"Olá %(user)s, %(changer)s apagou uma página wiki em %(project)s\n" +"Olá %(user)s, %(changer)s excluída uma página wiki em %(project)s\n" "\n" "Página Wiki %(page)s\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-delete-subject.jinja:1 #, python-format @@ -3186,7 +3326,7 @@ msgid "" "[%(project)s] Deleted the Wiki Page \"%(page)s\"\n" msgstr "" "\n" -"[%(project)s] Apagou a página Wiki \"%(page)s\"\n" +"[%(project)s] Excluiu a página Wiki \"%(page)s\"\n" #: taiga/projects/notifications/validators.py:48 msgid "Watchers contains invalid users" @@ -3316,17 +3456,17 @@ msgstr "" msgid "The tag doesn't exist." msgstr "" -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "Você não tem permissão para colocar esse sprint para essa tarefa." -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "" "Você não tem permissão para colocar essa história de usuário para essa " "tarefa." -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "Você não tem permissão para colocar esse status para essa tarefa." @@ -3418,7 +3558,7 @@ msgstr "Aceite seu convite" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:25 msgid "The Taiga Team" -msgstr "O Time Taiga" +msgstr "Time Taiga" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:6 #, python-format @@ -3466,7 +3606,7 @@ msgid "" msgstr "" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/projects/templates/emails/membership_invitation-subject.jinja:1 #, python-format @@ -3494,7 +3634,7 @@ msgstr "" "

Olá %(full_name)s,
você foi adicionado ao projeto %(project)s

\n" "Ir ao " "projeto\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/projects/templates/emails/membership_notification-body-text.jinja:1 @@ -4004,29 +4144,29 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Você não tem permissão para colocar esse sprint para essa história de " "usuário." -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "" "Você não tem permissão para colocar esse status para essa história de " "usuário." -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Gerando a história de usuário #{ref} - {subject}" @@ -4256,11 +4396,11 @@ msgstr "" msgid "Invalid, are you sure the token is correct?" msgstr "Inválido, tem certeza que o token está correto?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "status de superuser" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -4268,24 +4408,24 @@ msgstr "" "Designa que esse usuário tem todas as permissões sem explicitamente assiná-" "las" -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "usuário" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Requerido. 30 caracteres ou menos. Letras, números e caracteres /./-/_" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "Digite um usuário válido" -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "ativo" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -4293,59 +4433,59 @@ msgstr "" "Designa quando esse usuário deve ser tratado como ativo. desmarque isso em " "vez de deletar contas." -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "foto" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "data ingressado" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "lingua padrão" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "tema padrão" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "fuso horário padrão" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "tags coloridas" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "token de e-mail" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "novo endereço de email" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "permissões" @@ -4371,7 +4511,7 @@ msgstr "" " Confirmar e-mail\n" "

Desconsidere essa mensagem se não solicitou.

\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/users/templates/emails/change_email-body-text.jinja:1 @@ -4419,7 +4559,7 @@ msgstr "" "Recuperar " "sua senha\n" "

Você pode ignorar essa mensagem se não solicitou.

\n" -"

O Time Taiga

\n" +"

Time Taiga

\n" " " #: taiga/users/templates/emails/password_recovery-body-text.jinja:1 @@ -4443,7 +4583,7 @@ msgstr "" "Você pode ignorar essa mensagem se não solicitou\n" "\n" "---\n" -"O Time Taiga\n" +"Time Taiga\n" #: taiga/users/templates/emails/password_recovery-subject.jinja:1 msgid "[Taiga] Password recovery" diff --git a/taiga/locale/ru/LC_MESSAGES/django.po b/taiga/locale/ru/LC_MESSAGES/django.po index 2049794e..f0276b20 100644 --- a/taiga/locale/ru/LC_MESSAGES/django.po +++ b/taiga/locale/ru/LC_MESSAGES/django.po @@ -3,24 +3,28 @@ # This file is distributed under the same license as the taiga-back package. # # Translators: -# dmitriy , 2015 +# Alibek Kaparov , 2018 +# Artem Biryukov , 2017 +# Дмитрий Пугац , 2015 # Dmitriy Volkov , 2015 # Dmitry Lobanov , 2015 # Dmitry Vinokurov , 2015 # Egor Poderyagin , 2016 # Igor Bezukladnikov , 2016 -# ilyar, 2016 +# Ilya Rogov, 2016 # ratijas , 2016 +# Miguel Gonzalez , 2018 # Sergey Kustov , 2016 +# Данил Тонких , 2017 # Марат , 2015 # Никита Евстропов , 2016 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:55+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-19 10:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Russian (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/ru/)\n" "MIME-Version: 1.0\n" @@ -68,8 +72,8 @@ msgid "Error on creating new user." msgstr "Ошибка при создании нового пользователя." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Неверный токен" @@ -111,7 +115,7 @@ msgstr "" #: taiga/base/api/fields.py:638 msgid "You email domain is not allowed" -msgstr "" +msgstr "Ваш домен email запрещён" #: taiga/base/api/fields.py:647 msgid "Enter a valid email address." @@ -206,12 +210,12 @@ msgstr "" "изображение, либо не корректное изображение." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Заблокированный элемент" @@ -264,20 +268,20 @@ msgstr "Неправильная ссылка - объект не существ msgid "Incorrect type. Expected url string, received %s." msgstr "Неверный тип. Ожидалась строка URL, получено %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Неправильные данные." -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Ввод отсутствует" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Нельзя создать новые объект, только существующие объекты могут быть изменены." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Ожидался список объектов." @@ -289,7 +293,7 @@ msgstr "Не найдено" msgid "Permission denied" msgstr "Доступ запрещён" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Ошибка приложения на сервере" @@ -368,12 +372,12 @@ msgstr "Ошибка предусловия" msgid "No room left for more projects." msgstr "Не осталось места для проектов" -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Ошибка в типах фильтров для параметров." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' должно быть целым значением." @@ -423,6 +427,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " , 2015 +# Lord Cobol, 2017 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Swedish (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/sv/)\n" "MIME-Version: 1.0\n" @@ -49,15 +50,15 @@ msgstr "Användaren finns redan." #: taiga/auth/services.py:140 msgid "This user is already a member of the project." -msgstr "" +msgstr "Denna användare är redan medlem i projektet." #: taiga/auth/services.py:164 msgid "Error on creating new user." msgstr "Ett fel uppstod når användaren skapades. " #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Felaktig förekomst. " @@ -97,7 +98,7 @@ msgstr "Välj korrekt. %(value)s är inte ett giltigt val. " #: taiga/base/api/fields.py:638 msgid "You email domain is not allowed" -msgstr "" +msgstr "Din e-post domän är inte tillåten" #: taiga/base/api/fields.py:647 msgid "Enter a valid email address." @@ -192,14 +193,14 @@ msgstr "" "eller en skadad bild." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" -msgstr "" +msgstr "Blockerat element" #: taiga/base/api/pagination.py:228 msgid "Page is not 'last', nor can it be converted to an int." @@ -251,20 +252,20 @@ msgstr "Fel länk - objekten existerar inte. " msgid "Incorrect type. Expected url string, received %s." msgstr "Felaktigt typ. Förväntad länksträng, mottagit %s. " -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Felaktigt data" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Inga indata" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "" "Det går inte att skapa ett nytt objekt, endast befintliga poster uppdateras." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Förväntad lista på poster." @@ -276,7 +277,7 @@ msgstr "Hittade inte" msgid "Permission denied" msgstr "Du har inte behöriget" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Serverprogramfel." @@ -353,14 +354,14 @@ msgstr "Förutsättningsfel" #: taiga/base/exceptions.py:219 msgid "No room left for more projects." -msgstr "" +msgstr "Det finns inte plats för fler projekt." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Fel i filterparametertyper." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'Projektet\" måste vara ett heltal." @@ -410,6 +411,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Turkish (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/tr/)\n" "MIME-Version: 1.0\n" @@ -58,8 +58,8 @@ msgid "Error on creating new user." msgstr "Yeni kullanıcı oluşturulurken hata meydana geldi." #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "Geçersiz kupon" @@ -200,12 +200,12 @@ msgstr "" "resim dosyası değil." #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "Engellenmiş nesne" @@ -258,19 +258,19 @@ msgstr "Geçersiz hiperlink - nesne mevcut değil." msgid "Incorrect type. Expected url string, received %s." msgstr "Hatalı tip. Beklenen url dizges, alınan %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "Geçersiz veri" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "Girdi sağlanmadı" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "Yeni bir madde oluşturlamıyor, sadece var olanlar güncellenebilir." -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "Bir madde listesi bekleniyor." @@ -282,7 +282,7 @@ msgstr "Bulunamadı" msgid "Permission denied" msgstr "İzin verilmedi" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "Sunucu uygulaması hatası" @@ -361,12 +361,12 @@ msgstr "Ön şart hatası" msgid "No room left for more projects." msgstr "Daha fazla proje için yer kalmadı." -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "Parametre tipleri filtresinde hata." -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project' değeri numerik olmalı." @@ -416,6 +416,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " , 2017 # gm l , 2016 # Hanbing Yin , 2016 # ifelse , 2015 +# Lincan Li , 2017 # Longyang Zhang , 2015 # Qi Fan , 2016 +# qing cao , 2017 # waring id , 2016 # wuwenbin , 2015 # Yang Yu , 2016 # yonee , 2015 # 5791113 , 2016 # 5791113 , 2016 +# 朱坚 , 2017 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:55+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Chinese Simplified (http://www.transifex.com/taiga-agile-llc/" "taiga-back/language/zh-Hans/)\n" "MIME-Version: 1.0\n" @@ -66,8 +70,8 @@ msgid "Error on creating new user." msgstr "无法创建新用户" #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "无效令牌" @@ -193,12 +197,12 @@ msgid "" msgstr "请上传一张有效的图片。所上传的不是图片或已损坏" #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "冻结的元素" @@ -251,19 +255,19 @@ msgstr "无效的超链接 - 对象不存在" msgid "Incorrect type. Expected url string, received %s." msgstr "错误的数据类型。期望收到URL, 但是收到了 %s" -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "无效的数据" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "没提供输入数据" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "不能创建新项目,可能只是现有项目被修改。" -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "期望一个项目列表" @@ -275,7 +279,7 @@ msgstr "找不到" msgid "Permission denied" msgstr "无此权限" -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "服务器端错误" @@ -354,12 +358,12 @@ msgstr "前提条件错误" msgid "No room left for more projects." msgstr "没空间添加新项目了" -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "参数类型错误" -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "'project'必须是一个整数值" @@ -409,6 +413,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " \n" " " msgstr "" -"\n" -" 帮助:\n" -" %(support_url)s\n" -"
\n" -" 联系我们:\n" -" \n" -" %(support_email)s\n" -" \n" -"
\n" -" 邮件列表:\n" -" \n" -" %(mailing_list_url)s\n" -" \n" -" " #: taiga/base/templates/emails/hero-body-html.jinja:6 msgid "You have been Taigatized" @@ -517,68 +508,68 @@ msgstr "需要备份文件" msgid "Invalid dump format" msgstr "非法的备份文件格式" -#: taiga/export_import/services/store.py:718 -#: taiga/export_import/services/store.py:736 +#: taiga/export_import/services/store.py:722 +#: taiga/export_import/services/store.py:740 msgid "error importing project data" msgstr "无法导入项目数据" -#: taiga/export_import/services/store.py:743 +#: taiga/export_import/services/store.py:747 msgid "error importing roles" msgstr "角色导入错误" -#: taiga/export_import/services/store.py:748 +#: taiga/export_import/services/store.py:752 msgid "error importing memberships" msgstr "成员关系导入错误" -#: taiga/export_import/services/store.py:759 +#: taiga/export_import/services/store.py:763 msgid "error importing lists of project attributes" msgstr "项目属性列表导入错误" -#: taiga/export_import/services/store.py:763 +#: taiga/export_import/services/store.py:767 msgid "error importing default project attributes values" msgstr "默认项目属性值导入错误" -#: taiga/export_import/services/store.py:774 +#: taiga/export_import/services/store.py:778 msgid "error importing custom attributes" msgstr "客户化属性导入错误" -#: taiga/export_import/services/store.py:778 +#: taiga/export_import/services/store.py:782 msgid "error importing sprints" msgstr "sprints导入错误" -#: taiga/export_import/services/store.py:782 +#: taiga/export_import/services/store.py:786 msgid "error importing issues" msgstr "问题导入错误" -#: taiga/export_import/services/store.py:786 +#: taiga/export_import/services/store.py:790 msgid "error importing user stories" msgstr "用户故事导入错误" -#: taiga/export_import/services/store.py:790 +#: taiga/export_import/services/store.py:794 msgid "error importing epics" msgstr "史诗导入错误" -#: taiga/export_import/services/store.py:794 +#: taiga/export_import/services/store.py:798 msgid "error importing tasks" msgstr "任务导入错误" -#: taiga/export_import/services/store.py:798 +#: taiga/export_import/services/store.py:802 msgid "error importing wiki pages" msgstr "维基页面导入错误" -#: taiga/export_import/services/store.py:802 +#: taiga/export_import/services/store.py:806 msgid "error importing wiki links" msgstr "维基链接导入错误" -#: taiga/export_import/services/store.py:806 +#: taiga/export_import/services/store.py:810 msgid "error importing tags" msgstr "标签导入错误" -#: taiga/export_import/services/store.py:810 +#: taiga/export_import/services/store.py:814 msgid "error importing timelines" msgstr "时间线导入错误" -#: taiga/export_import/services/store.py:832 +#: taiga/export_import/services/store.py:836 msgid "unexpected error importing project" msgstr "导入项目发生未知错误" @@ -892,12 +883,12 @@ msgstr "需要身份认证" #: taiga/external_apps/models.py:35 #: taiga/projects/custom_attributes/models.py:36 #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:148 -#: taiga/projects/models.py:518 taiga/projects/models.py:551 -#: taiga/projects/models.py:587 taiga/projects/models.py:609 -#: taiga/projects/models.py:643 taiga/projects/models.py:663 -#: taiga/projects/models.py:683 taiga/projects/models.py:715 -#: taiga/projects/models.py:735 taiga/users/admin.py:54 -#: taiga/users/models.py:303 taiga/webhooks/models.py:29 +#: taiga/projects/models.py:521 taiga/projects/models.py:554 +#: taiga/projects/models.py:590 taiga/projects/models.py:612 +#: taiga/projects/models.py:646 taiga/projects/models.py:666 +#: taiga/projects/models.py:686 taiga/projects/models.py:718 +#: taiga/projects/models.py:738 taiga/users/admin.py:54 +#: taiga/users/models.py:310 taiga/webhooks/models.py:29 msgid "name" msgstr "名称" @@ -914,7 +905,7 @@ msgstr "网页" #: taiga/projects/epics/models.py:56 #: taiga/projects/history/templatetags/functions.py:25 #: taiga/projects/issues/models.py:60 taiga/projects/models.py:152 -#: taiga/projects/models.py:739 taiga/projects/tasks/models.py:62 +#: taiga/projects/models.py:742 taiga/projects/tasks/models.py:62 #: taiga/projects/userstories/models.py:95 msgid "description" msgstr "描述" @@ -933,11 +924,11 @@ msgstr "用户" msgid "application" msgstr "应用" -#: taiga/feedback/models.py:25 taiga/users/models.py:140 +#: taiga/feedback/models.py:25 taiga/users/models.py:147 msgid "full name" msgstr "全名" -#: taiga/feedback/models.py:27 taiga/users/models.py:135 +#: taiga/feedback/models.py:27 taiga/users/models.py:142 msgid "email address" msgstr "邮件地址" @@ -950,7 +941,7 @@ msgstr "评论" #: taiga/projects/custom_attributes/models.py:46 #: taiga/projects/epics/models.py:49 taiga/projects/issues/models.py:52 #: taiga/projects/likes/models.py:33 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:159 taiga/projects/models.py:743 +#: taiga/projects/models.py:159 taiga/projects/models.py:746 #: taiga/projects/notifications/models.py:89 taiga/projects/tasks/models.py:48 #: taiga/projects/userstories/models.py:87 taiga/projects/votes/models.py:54 #: taiga/projects/wiki/models.py:44 taiga/userstorage/models.py:29 @@ -1023,8 +1014,8 @@ msgid "The payload is not a valid json" msgstr "内容不是一个合法的JSON" #: taiga/hooks/api.py:63 taiga/projects/epics/api.py:154 -#: taiga/projects/issues/api.py:139 taiga/projects/tasks/api.py:201 -#: taiga/projects/userstories/api.py:277 +#: taiga/projects/issues/api.py:140 taiga/projects/tasks/api.py:209 +#: taiga/projects/userstories/api.py:289 msgid "The project doesn't exist" msgstr "项目不存在" @@ -1086,14 +1077,10 @@ msgstr "未知用户" #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" -"{user_text} 改变状态 [{platform} commit]({commit_url} \"查看提交 " -"'{commit_id} - {commit_message}'\")\n" -"\n" -" - 状态: **{src_status}** → **{dst_status}**" #: taiga/hooks/event_hooks.py:161 #, python-brace-format @@ -1110,11 +1097,9 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" -"这个{type_name}已经被{user_text}提到,从这个[{platform} commit]({commit_url} " -"\"查看提交 '{commit_id} - {commit_message}'\") \"{commit_message}\"" #: taiga/hooks/event_hooks.py:184 #, python-brace-format @@ -1132,63 +1117,67 @@ msgstr "状态不存在" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" -msgstr "" +msgstr "该项目参数必填" #: taiga/importers/asana/api.py:50 taiga/importers/asana/api.py:73 #: taiga/importers/asana/api.py:139 msgid "Invalid Asana API request" -msgstr "" +msgstr "无效的Asana API请求" #: taiga/importers/asana/api.py:52 taiga/importers/asana/api.py:75 #: taiga/importers/asana/api.py:141 msgid "Failed to make the request to Asana API" -msgstr "" +msgstr "构造Asana API的请求失败" #: taiga/importers/asana/api.py:129 taiga/importers/github/api.py:123 msgid "Code param needed" -msgstr "" +msgstr "代码参数必填" #: taiga/importers/asana/tasks.py:42 taiga/importers/asana/tasks.py:43 msgid "Error importing Asana project" -msgstr "" +msgstr "导入Asana项目错误" #: taiga/importers/github/api.py:135 msgid "Invalid auth data" -msgstr "" +msgstr "无效用户ID" #: taiga/importers/github/api.py:137 msgid "Third party service failing" -msgstr "" +msgstr "第三方服务失败" #: taiga/importers/github/tasks.py:42 taiga/importers/github/tasks.py:43 msgid "Error importing GitHub project" -msgstr "" +msgstr "导入GitHub项目错误" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" -msgstr "" +msgstr "这个url参数必填" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" -msgstr "" +msgstr "无效的项目类型 {}" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "Jira 服务器配置失败" + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "无效或失效的账户token" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "导入JIRA项目错误" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "导入PivotalTracker项目错误" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1222,7 +1211,7 @@ msgstr "" #: taiga/importers/templates/emails/asana_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your Asana project has been imported" -msgstr "" +msgstr "[%(project)s] 你的 Asana 项目已经被导入" #: taiga/importers/templates/emails/github_import_success-body-html.jinja:4 #, python-format @@ -1256,7 +1245,7 @@ msgstr "" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr "[%(project)s] 你的 Github 项目已经被导入" #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1561,41 +1550,47 @@ msgstr "私有" msgid "Delete selected %(verbose_name_plural)s" msgstr "删除选中的%(verbose_name_plural)s" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "不完整的参数" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "非法的图片格式" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "非法的模板名称" -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "无效的模板说明" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "无效用户ID" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "用户不存在" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "用户必须属于某一个项目" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" msgstr "该项目必须有一个所有者,至少一个用户必须是一个积极的管理员" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "你无权访问" @@ -1614,15 +1609,15 @@ msgstr "对象和项目间的项目ID不匹配" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "项目" @@ -1638,7 +1633,7 @@ msgstr "对象id" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1663,11 +1658,11 @@ msgstr "" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "次序" @@ -1824,11 +1819,11 @@ msgstr "史诗次序" msgid "subject" msgstr "主题" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "颜色" @@ -1943,7 +1938,7 @@ msgid "Unassigned" msgstr "未指派" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-删除-" @@ -1976,12 +1971,12 @@ msgid "removed:" msgstr "已移除:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "来自:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "发送给:" @@ -1999,23 +1994,23 @@ msgstr "封锁的笔记" msgid "sprint" msgstr "冲刺任务" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "您没有权限设置此冲刺到这一问题。" -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "你无权设置此状态到这个问题。" -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "您没有权限设置此严重程度这一问题。" -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "您没有权限设置此优先级这一问题。" -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "您没有权限设置此类型这一问题。" @@ -2045,10 +2040,10 @@ msgid "Likes" msgstr "点赞" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "代称" @@ -2060,9 +2055,9 @@ msgstr "预估开始日期" msgid "estimated finish date" msgstr "预估结束日期" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "是关闭的" @@ -2101,7 +2096,7 @@ msgstr "'project' 参数必填" #: taiga/projects/mixins/validators.py:19 msgid "The user must be a project member." -msgstr "" +msgstr "用户必须为项目成员。" #: taiga/projects/models.py:79 msgid "email" @@ -2111,7 +2106,7 @@ msgstr "电子邮件" msgid "create at" msgstr "创建自" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "令牌" @@ -2119,7 +2114,7 @@ msgstr "令牌" msgid "invitation extra text" msgstr "需要更多的文本内容" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "用户故事次序" @@ -2175,35 +2170,35 @@ msgstr "里程碑总数" msgid "total story points" msgstr "总故事点数" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "活动史诗面板" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "活动积压面板" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "活动看板面板" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "活动维基面板" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "活动问题面板" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "视频会议系统" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "视像会议的额外数据" @@ -2227,11 +2222,11 @@ msgstr "用户权限" msgid "is featured" msgstr "被推荐" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "招募成员" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "" @@ -2276,80 +2271,80 @@ msgstr "上月活动" msgid "activity last year" msgstr "去年活动" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "模块配置" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "已归档" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "工作进度限制" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "值" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "默认所有者角色" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "默认选项" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "史诗状态" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "用户故事状态" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "点数" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "任务状态" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "问题状态" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "问题类型" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "优先级" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "严重程度" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "角色" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" msgstr "" @@ -2382,12 +2377,12 @@ msgstr "通知用户" msgid "Watched" msgstr "关注" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "通知已存在" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "此通知级别该值非法" @@ -3340,15 +3335,15 @@ msgstr "该颜色不是一个合法的HEX颜色" msgid "The tag doesn't exist." msgstr "该标签不存在" -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "你无权对这个任务设置该冲刺任务。" -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "你无权对这个任务设置该用户故事。" -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "你无权对这个任务设置该状态。" @@ -4083,25 +4078,25 @@ msgstr "产品所有者" msgid "Stakeholder" msgstr "相关人员" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "你无权对这个用户故事设置此冲刺任务。" -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "你无权对这个用户故事设置此状态。" -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "无效的角色ID '{role_id}'" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "无效的点数ID '{points_id}'" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "生成用户故事#{ref} - {subject}" @@ -4164,7 +4159,7 @@ msgstr "该ID无对应项目" #: taiga/projects/validators.py:145 msgid "The user yet exists in the project" -msgstr "" +msgstr "该用户已经是项目成员。" #: taiga/projects/validators.py:155 msgid "Invalid role for the project" @@ -4328,92 +4323,92 @@ msgstr "无效,请确定令牌正确,之前使用过?" msgid "Invalid, are you sure the token is correct?" msgstr "无效,请确定令牌正确?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "超级用户状态" -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "选定此用户拥有所有权限,而不用显式将他们分配。" -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "用户名" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "必填,长度小于30的英文字母、数字、“.”、“-”、“_”" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "输入一个合法的用户名" -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "活跃" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "指定是否此用户为活跃用户。取消选择这而不是删除帐户。" -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "个人简介" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "照片" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "加入日期" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "默认语言" -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "默认主题" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "默认时区" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "彩色标签" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "电子邮件密码" -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "新邮件地址" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "最大私有项目数" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "最大公开项目数" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "私有项目最大成员数" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "公开项目最大成员数" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "权限" diff --git a/taiga/locale/zh-Hant/LC_MESSAGES/django.po b/taiga/locale/zh-Hant/LC_MESSAGES/django.po index 55aa4ec4..e2075f18 100644 --- a/taiga/locale/zh-Hant/LC_MESSAGES/django.po +++ b/taiga/locale/zh-Hant/LC_MESSAGES/django.po @@ -4,16 +4,18 @@ # # Translators: # Alvis , 2015 -# Chi-Hsun Tsai , 2015-2016 +# Chi-Hsun Tsai, 2015-2016 # David Barragán , 2015 +# hori.liu , 2017 # Matthew Lien , 2015 +# sammy huang , 2017 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-08 16:30+0100\n" -"PO-Revision-Date: 2017-03-06 16:54+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2018-02-15 18:20+0100\n" +"PO-Revision-Date: 2018-02-15 17:25+0000\n" +"Last-Translator: Miguel Gonzalez \n" "Language-Team: Chinese Traditional (http://www.transifex.com/taiga-agile-llc/" "taiga-back/language/zh-Hant/)\n" "MIME-Version: 1.0\n" @@ -59,8 +61,8 @@ msgid "Error on creating new user." msgstr "無法創建新使用者" #: taiga/auth/tokens.py:49 taiga/auth/tokens.py:56 -#: taiga/external_apps/services.py:34 taiga/projects/api.py:374 -#: taiga/projects/api.py:395 +#: taiga/external_apps/services.py:34 taiga/projects/api.py:389 +#: taiga/projects/api.py:410 msgid "Invalid token" msgstr "無效的代碼 " @@ -98,7 +100,7 @@ msgstr "請做個有效的選擇。 %(value)s 並不是可以選的選項。" #: taiga/base/api/fields.py:638 msgid "You email domain is not allowed" -msgstr "" +msgstr "您的電子郵件域名是不允許的" #: taiga/base/api/fields.py:647 msgid "Enter a valid email address." @@ -186,12 +188,12 @@ msgid "" msgstr "上傳有效圖片,你所上傳的檔案非圖檔或已損壞" #: taiga/base/api/mixins.py:284 taiga/base/exceptions.py:211 -#: taiga/hooks/api.py:69 taiga/projects/api.py:409 taiga/projects/api.py:442 -#: taiga/projects/api.py:754 taiga/projects/epics/api.py:200 -#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:224 -#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:247 -#: taiga/projects/tasks/api.py:272 taiga/projects/userstories/api.py:323 -#: taiga/projects/userstories/api.py:375 taiga/webhooks/api.py:71 +#: taiga/hooks/api.py:69 taiga/projects/api.py:424 taiga/projects/api.py:457 +#: taiga/projects/api.py:769 taiga/projects/epics/api.py:200 +#: taiga/projects/epics/api.py:284 taiga/projects/issues/api.py:225 +#: taiga/projects/mixins/ordering.py:59 taiga/projects/tasks/api.py:255 +#: taiga/projects/tasks/api.py:280 taiga/projects/userstories/api.py:341 +#: taiga/projects/userstories/api.py:393 taiga/webhooks/api.py:71 msgid "Blocked element" msgstr "" @@ -244,19 +246,19 @@ msgstr "無效的超鏈接 - 物件並不存在" msgid "Incorrect type. Expected url string, received %s." msgstr "不正確類型,預期為網址格式,收到的是 %s." -#: taiga/base/api/serializers.py:324 +#: taiga/base/api/serializers.py:325 msgid "Invalid data" msgstr "無效的資料" -#: taiga/base/api/serializers.py:416 +#: taiga/base/api/serializers.py:417 msgid "No input provided" msgstr "無輸入提供" -#: taiga/base/api/serializers.py:579 +#: taiga/base/api/serializers.py:580 msgid "Cannot create a new item, only existing items may be updated." msgstr "無法建立新項目,只能更新現有項目" -#: taiga/base/api/serializers.py:590 +#: taiga/base/api/serializers.py:591 msgid "Expected a list of items." msgstr "期待的項目清單" @@ -268,7 +270,7 @@ msgstr "找不到" msgid "Permission denied" msgstr "許可遭拒絕 " -#: taiga/base/api/views.py:492 +#: taiga/base/api/views.py:491 msgid "Server application error" msgstr "伺服器應用出錯" @@ -345,14 +347,14 @@ msgstr "前提出錯" #: taiga/base/exceptions.py:219 msgid "No room left for more projects." -msgstr "" +msgstr "沒有空間再放入專案" -#: taiga/base/filters.py:81 taiga/base/filters.py:463 +#: taiga/base/filters.py:105 taiga/base/filters.py:487 msgid "Error in filter params types." msgstr "過濾參數類型出錯" -#: taiga/base/filters.py:136 taiga/base/filters.py:243 -#: taiga/projects/filters.py:64 +#: taiga/base/filters.py:160 taiga/base/filters.py:267 +#: taiga/projects/filters.py:65 msgid "'project' must be an integer value." msgstr "專案須為整數值" @@ -402,6 +404,12 @@ msgstr "Taiga.io" #, python-format msgid "" "\n" +" Configure email " +"notifications or unsubscribe:\n" +" " +"%(unsubscribe_url)s\n" +"
\n" " Taiga Support:\n" " {comment_message}" msgstr "" +"此評論來自{platform}:\n" +"\n" +">{comment_message}" #: taiga/hooks/event_hooks.py:84 msgid "Invalid issue comment information" @@ -1015,7 +1026,7 @@ msgstr "" #: taiga/hooks/event_hooks.py:107 #, python-brace-format msgid "Issue created from {platform}." -msgstr "" +msgstr "此議題由{platform}建立" #: taiga/hooks/event_hooks.py:120 msgid "Invalid issue information" @@ -1023,13 +1034,13 @@ msgstr "無效的問題資訊" #: taiga/hooks/event_hooks.py:149 taiga/hooks/event_hooks.py:171 msgid "unknown user" -msgstr "" +msgstr "未知的使用者" #: taiga/hooks/event_hooks.py:156 #, python-brace-format msgid "" "{user_text} changed the status from [{platform} commit]({commit_url} \"See " -"commit '{commit_id} - {commit_message}'\")\n" +"commit '{commit_id} - {commit_short_message}'\")\n" "\n" " - Status: **{src_status}** → **{dst_status}**" msgstr "" @@ -1046,7 +1057,7 @@ msgstr "" #, python-brace-format msgid "" "This {type_name} has been mentioned by {user_text} in the [{platform} commit]" -"({commit_url} \"See commit '{commit_id} - {commit_message}'\") " +"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") " "\"{commit_message}\"" msgstr "" @@ -1066,63 +1077,67 @@ msgstr "狀態不存在" #: taiga/importers/asana/api.py:43 taiga/importers/asana/api.py:85 #: taiga/importers/github/api.py:44 taiga/importers/github/api.py:74 -#: taiga/importers/jira/api.py:57 taiga/importers/jira/api.py:103 +#: taiga/importers/jira/api.py:60 taiga/importers/jira/api.py:106 #: taiga/importers/pivotal/api.py:43 taiga/importers/pivotal/api.py:80 #: taiga/importers/trello/api.py:46 taiga/importers/trello/api.py:83 msgid "The project param is needed" -msgstr "" +msgstr "需要project參數" #: taiga/importers/asana/api.py:50 taiga/importers/asana/api.py:73 #: taiga/importers/asana/api.py:139 msgid "Invalid Asana API request" -msgstr "" +msgstr "無效的Asana API請求" #: taiga/importers/asana/api.py:52 taiga/importers/asana/api.py:75 #: taiga/importers/asana/api.py:141 msgid "Failed to make the request to Asana API" -msgstr "" +msgstr "請求Asana API失敗" #: taiga/importers/asana/api.py:129 taiga/importers/github/api.py:123 msgid "Code param needed" -msgstr "" +msgstr "需要code參數" #: taiga/importers/asana/tasks.py:42 taiga/importers/asana/tasks.py:43 msgid "Error importing Asana project" -msgstr "" +msgstr "匯入Asana專案失敗" #: taiga/importers/github/api.py:135 msgid "Invalid auth data" -msgstr "" +msgstr "無效的授權資料" #: taiga/importers/github/api.py:137 msgid "Third party service failing" -msgstr "" +msgstr "第三方的服務出現問題" #: taiga/importers/github/tasks.py:42 taiga/importers/github/tasks.py:43 msgid "Error importing GitHub project" -msgstr "" +msgstr "匯入GitHub專案失敗" -#: taiga/importers/jira/api.py:59 taiga/importers/jira/api.py:86 -#: taiga/importers/jira/api.py:106 taiga/importers/jira/api.py:179 +#: taiga/importers/jira/api.py:62 taiga/importers/jira/api.py:89 +#: taiga/importers/jira/api.py:109 taiga/importers/jira/api.py:182 msgid "The url param is needed" -msgstr "" +msgstr "需要url參數" -#: taiga/importers/jira/api.py:155 +#: taiga/importers/jira/api.py:158 msgid "Invalid project_type {}" msgstr "" -#: taiga/importers/jira/api.py:225 taiga/importers/pivotal/api.py:138 +#: taiga/importers/jira/api.py:192 +msgid "Invalid Jira server configuration." +msgstr "" + +#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138 #: taiga/importers/trello/api.py:143 msgid "Invalid or expired auth token" -msgstr "" +msgstr "auth token無效或過期" #: taiga/importers/jira/tasks.py:48 taiga/importers/jira/tasks.py:49 msgid "Error importing Jira project" -msgstr "" +msgstr "匯入Jira專案失敗" #: taiga/importers/pivotal/tasks.py:42 taiga/importers/pivotal/tasks.py:43 msgid "Error importing PivotalTracker project" -msgstr "" +msgstr "匯入PivotalTracker專案失敗" #: taiga/importers/templates/emails/asana_import_success-body-html.jinja:4 #, python-format @@ -1186,11 +1201,22 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"%(user)s您好,\n" +"\n" +"您的GitHub專案已成功匯入,\n" +"\n" +"您可以從這裡查看專案%(project)s:\n" +"\n" +"%(url)s\n" +"\n" +"---\n" +"Taiga團隊敬上\n" #: taiga/importers/templates/emails/github_import_success-subject.jinja:1 #, python-format msgid "[%(project)s] Your GitHub project has been imported" -msgstr "" +msgstr "[%(project)s]您的GitHub專案已匯入" #: taiga/importers/templates/emails/jira_import_success-body-html.jinja:4 #, python-format @@ -1277,7 +1303,7 @@ msgstr "" #: taiga/importers/trello/tasks.py:42 taiga/importers/trello/tasks.py:43 msgid "Error importing Trello project" -msgstr "" +msgstr "匯入Trello project失敗" #: taiga/permissions/choices.py:23 taiga/permissions/choices.py:34 msgid "View project" @@ -1449,11 +1475,11 @@ msgstr "" #: taiga/projects/admin.py:111 msgid "Modules" -msgstr "" +msgstr "模組" #: taiga/projects/admin.py:119 msgid "Default values" -msgstr "" +msgstr "預設值" #: taiga/projects/admin.py:125 msgid "Activity" @@ -1495,41 +1521,47 @@ msgstr "" msgid "Delete selected %(verbose_name_plural)s" msgstr "" -#: taiga/projects/api.py:160 taiga/users/api.py:244 +#: taiga/projects/api.py:175 taiga/users/api.py:244 msgid "Incomplete arguments" msgstr "不完整參數" -#: taiga/projects/api.py:164 taiga/users/api.py:249 +#: taiga/projects/api.py:179 taiga/users/api.py:249 msgid "Invalid image format" msgstr "無效的圖片檔案" -#: taiga/projects/api.py:225 +#: taiga/projects/api.py:240 msgid "Not valid template name" msgstr "非有效樣板名稱 " -#: taiga/projects/api.py:228 +#: taiga/projects/api.py:243 msgid "Not valid template description" msgstr "無效樣板描述" -#: taiga/projects/api.py:354 +#: taiga/projects/api.py:369 taiga/projects/api.py:804 msgid "Invalid user id" msgstr "" -#: taiga/projects/api.py:360 +#: taiga/projects/api.py:375 taiga/projects/api.py:810 msgid "The user doesn't exist" msgstr "" -#: taiga/projects/api.py:364 +#: taiga/projects/api.py:379 msgid "The user must be already a project member" msgstr "" -#: taiga/projects/api.py:785 +#: taiga/projects/api.py:822 +msgid "" +"This user can't be removed from the following projects, because would leave " +"them without any active admin: {}." +msgstr "" + +#: taiga/projects/api.py:832 msgid "" "The project must have an owner and at least one of the users must be an " "active admin" msgstr "" -#: taiga/projects/api.py:819 +#: taiga/projects/api.py:866 msgid "You don't have permisions to see that." msgstr "您無觀看權限" @@ -1548,15 +1580,15 @@ msgstr "專案ID不符合物件與專案" #: taiga/projects/attachments/models.py:41 taiga/projects/contact/models.py:29 #: taiga/projects/custom_attributes/models.py:43 #: taiga/projects/epics/models.py:38 taiga/projects/issues/models.py:50 -#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:506 -#: taiga/projects/models.py:528 taiga/projects/models.py:565 -#: taiga/projects/models.py:593 taiga/projects/models.py:619 -#: taiga/projects/models.py:649 taiga/projects/models.py:669 -#: taiga/projects/models.py:693 taiga/projects/models.py:721 +#: taiga/projects/milestones/models.py:44 taiga/projects/models.py:509 +#: taiga/projects/models.py:531 taiga/projects/models.py:568 +#: taiga/projects/models.py:596 taiga/projects/models.py:622 +#: taiga/projects/models.py:652 taiga/projects/models.py:672 +#: taiga/projects/models.py:696 taiga/projects/models.py:724 #: taiga/projects/notifications/models.py:74 #: taiga/projects/notifications/models.py:91 taiga/projects/tasks/models.py:43 #: taiga/projects/userstories/models.py:67 taiga/projects/wiki/models.py:34 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:314 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:321 msgid "project" msgstr "專案" @@ -1572,7 +1604,7 @@ msgstr "物件ID" #: taiga/projects/custom_attributes/models.py:48 #: taiga/projects/epics/models.py:52 taiga/projects/issues/models.py:55 #: taiga/projects/milestones/models.py:51 taiga/projects/models.py:162 -#: taiga/projects/models.py:746 taiga/projects/tasks/models.py:51 +#: taiga/projects/models.py:749 taiga/projects/tasks/models.py:51 #: taiga/projects/userstories/models.py:90 taiga/projects/wiki/models.py:47 #: taiga/userstorage/models.py:31 msgid "modified date" @@ -1597,11 +1629,11 @@ msgstr "" #: taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:41 #: taiga/projects/epics/models.py:104 taiga/projects/milestones/models.py:57 -#: taiga/projects/models.py:522 taiga/projects/models.py:555 -#: taiga/projects/models.py:589 taiga/projects/models.py:613 -#: taiga/projects/models.py:645 taiga/projects/models.py:665 -#: taiga/projects/models.py:687 taiga/projects/models.py:717 -#: taiga/projects/wiki/models.py:77 taiga/users/models.py:309 +#: taiga/projects/models.py:525 taiga/projects/models.py:558 +#: taiga/projects/models.py:592 taiga/projects/models.py:616 +#: taiga/projects/models.py:648 taiga/projects/models.py:668 +#: taiga/projects/models.py:690 taiga/projects/models.py:720 +#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316 msgid "order" msgstr "次序" @@ -1758,11 +1790,11 @@ msgstr "" msgid "subject" msgstr "主旨" -#: taiga/projects/epics/models.py:59 taiga/projects/models.py:526 -#: taiga/projects/models.py:561 taiga/projects/models.py:617 -#: taiga/projects/models.py:647 taiga/projects/models.py:667 -#: taiga/projects/models.py:691 taiga/projects/models.py:719 -#: taiga/users/models.py:142 +#: taiga/projects/epics/models.py:59 taiga/projects/models.py:529 +#: taiga/projects/models.py:564 taiga/projects/models.py:620 +#: taiga/projects/models.py:650 taiga/projects/models.py:670 +#: taiga/projects/models.py:694 taiga/projects/models.py:722 +#: taiga/users/models.py:149 msgid "color" msgstr "顏色" @@ -1877,7 +1909,7 @@ msgid "Unassigned" msgstr "無指定" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:232 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:89 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:91 msgid "-deleted-" msgstr "-刪除-" @@ -1910,12 +1942,12 @@ msgid "removed:" msgstr "移除的:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:65 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:82 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 msgid "From:" msgstr "來自:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:66 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:83 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:84 msgid "To:" msgstr "給:" @@ -1933,23 +1965,23 @@ msgstr "封鎖筆記" msgid "sprint" msgstr "衝刺任務" -#: taiga/projects/issues/api.py:157 +#: taiga/projects/issues/api.py:158 msgid "You don't have permissions to set this sprint to this issue." msgstr "您無權限設定此問題的衝刺任務" -#: taiga/projects/issues/api.py:161 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this status to this issue." msgstr "您無權限設定此問題的狀態" -#: taiga/projects/issues/api.py:165 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this severity to this issue." msgstr "您無權限設定此問題的嚴重性" -#: taiga/projects/issues/api.py:169 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this priority to this issue." msgstr "您無權限設定此問題的優先性" -#: taiga/projects/issues/api.py:173 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this type to this issue." msgstr "您無權限設定此問題的類型" @@ -1979,10 +2011,10 @@ msgid "Likes" msgstr "喜歡" #: taiga/projects/milestones/models.py:40 taiga/projects/models.py:150 -#: taiga/projects/models.py:520 taiga/projects/models.py:553 -#: taiga/projects/models.py:611 taiga/projects/models.py:685 -#: taiga/projects/models.py:737 taiga/projects/wiki/models.py:36 -#: taiga/users/admin.py:58 taiga/users/models.py:305 +#: taiga/projects/models.py:523 taiga/projects/models.py:556 +#: taiga/projects/models.py:614 taiga/projects/models.py:688 +#: taiga/projects/models.py:740 taiga/projects/wiki/models.py:36 +#: taiga/users/admin.py:58 taiga/users/models.py:312 msgid "slug" msgstr "代稱" @@ -1994,9 +2026,9 @@ msgstr "预計開始日期" msgid "estimated finish date" msgstr "預計完成日期" -#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:524 -#: taiga/projects/models.py:557 taiga/projects/models.py:615 -#: taiga/projects/models.py:689 +#: taiga/projects/milestones/models.py:53 taiga/projects/models.py:527 +#: taiga/projects/models.py:560 taiga/projects/models.py:618 +#: taiga/projects/models.py:692 msgid "is closed" msgstr "被關閉" @@ -2045,7 +2077,7 @@ msgstr "電子郵件" msgid "create at" msgstr "創建於" -#: taiga/projects/models.py:83 taiga/users/models.py:157 +#: taiga/projects/models.py:83 taiga/users/models.py:164 msgid "token" msgstr "代號" @@ -2053,7 +2085,7 @@ msgstr "代號" msgid "invitation extra text" msgstr "額外文案邀請" -#: taiga/projects/models.py:92 taiga/projects/models.py:741 +#: taiga/projects/models.py:92 taiga/projects/models.py:744 msgid "user order" msgstr "使用者次序" @@ -2109,35 +2141,35 @@ msgstr "全部里程碑" msgid "total story points" msgstr "全部故事點數" -#: taiga/projects/models.py:172 taiga/projects/models.py:751 +#: taiga/projects/models.py:172 taiga/projects/models.py:754 msgid "active contact" msgstr "" -#: taiga/projects/models.py:174 taiga/projects/models.py:753 +#: taiga/projects/models.py:174 taiga/projects/models.py:756 msgid "active epics panel" msgstr "" -#: taiga/projects/models.py:176 taiga/projects/models.py:755 +#: taiga/projects/models.py:176 taiga/projects/models.py:758 msgid "active backlog panel" msgstr "活躍的待辦任務優先表面板" -#: taiga/projects/models.py:178 taiga/projects/models.py:757 +#: taiga/projects/models.py:178 taiga/projects/models.py:760 msgid "active kanban panel" msgstr "活躍的看板式面板" -#: taiga/projects/models.py:180 taiga/projects/models.py:759 +#: taiga/projects/models.py:180 taiga/projects/models.py:762 msgid "active wiki panel" msgstr "活躍的維基面板" -#: taiga/projects/models.py:182 taiga/projects/models.py:761 +#: taiga/projects/models.py:182 taiga/projects/models.py:764 msgid "active issues panel" msgstr "活躍的問題面板" -#: taiga/projects/models.py:185 taiga/projects/models.py:768 +#: taiga/projects/models.py:185 taiga/projects/models.py:771 msgid "videoconference system" msgstr "視訊會議系統" -#: taiga/projects/models.py:187 taiga/projects/models.py:770 +#: taiga/projects/models.py:187 taiga/projects/models.py:773 msgid "videoconference extra data" msgstr "視訊會議額外資料" @@ -2161,11 +2193,11 @@ msgstr "使用者權限" msgid "is featured" msgstr " 受矚目的" -#: taiga/projects/models.py:206 taiga/projects/models.py:763 +#: taiga/projects/models.py:206 taiga/projects/models.py:766 msgid "is looking for people" msgstr "正在找人" -#: taiga/projects/models.py:208 taiga/projects/models.py:765 +#: taiga/projects/models.py:208 taiga/projects/models.py:768 msgid "looking for people note" msgstr "" @@ -2210,80 +2242,80 @@ msgstr "上月活躍成員" msgid "activity last year" msgstr "去年活躍成員" -#: taiga/projects/models.py:507 +#: taiga/projects/models.py:510 msgid "modules config" msgstr "模組設定" -#: taiga/projects/models.py:559 +#: taiga/projects/models.py:562 msgid "is archived" msgstr "已歸檔" -#: taiga/projects/models.py:563 +#: taiga/projects/models.py:566 msgid "work in progress limit" msgstr "工作進度限制" -#: taiga/projects/models.py:591 taiga/userstorage/models.py:33 +#: taiga/projects/models.py:594 taiga/userstorage/models.py:33 msgid "value" msgstr "價值" -#: taiga/projects/models.py:749 +#: taiga/projects/models.py:752 msgid "default owner's role" msgstr "預設所有者角色" -#: taiga/projects/models.py:772 +#: taiga/projects/models.py:775 msgid "default options" msgstr "預設選項" -#: taiga/projects/models.py:773 +#: taiga/projects/models.py:776 msgid "epic statuses" msgstr "" -#: taiga/projects/models.py:774 +#: taiga/projects/models.py:777 msgid "us statuses" msgstr "我們狀況" -#: taiga/projects/models.py:775 taiga/projects/userstories/models.py:44 +#: taiga/projects/models.py:778 taiga/projects/userstories/models.py:44 #: taiga/projects/userstories/models.py:77 msgid "points" msgstr "點數" -#: taiga/projects/models.py:776 +#: taiga/projects/models.py:779 msgid "task statuses" msgstr "任務狀況" -#: taiga/projects/models.py:777 +#: taiga/projects/models.py:780 msgid "issue statuses" msgstr "問題狀況" -#: taiga/projects/models.py:778 +#: taiga/projects/models.py:781 msgid "issue types" msgstr "問題類型" -#: taiga/projects/models.py:779 +#: taiga/projects/models.py:782 msgid "priorities" msgstr "優先性" -#: taiga/projects/models.py:780 +#: taiga/projects/models.py:783 msgid "severities" msgstr "嚴重性" -#: taiga/projects/models.py:781 +#: taiga/projects/models.py:784 msgid "roles" msgstr "角色" -#: taiga/projects/models.py:782 +#: taiga/projects/models.py:785 msgid "epic custom attributes" msgstr "" -#: taiga/projects/models.py:783 +#: taiga/projects/models.py:786 msgid "us custom attributes" msgstr "" -#: taiga/projects/models.py:784 +#: taiga/projects/models.py:787 msgid "task custom attributes" msgstr "" -#: taiga/projects/models.py:785 +#: taiga/projects/models.py:788 msgid "issue custom attributes" msgstr "" @@ -2316,12 +2348,12 @@ msgstr "通知用戶" msgid "Watched" msgstr "已觀注" -#: taiga/projects/notifications/services.py:65 -#: taiga/projects/notifications/services.py:79 +#: taiga/projects/notifications/services.py:67 +#: taiga/projects/notifications/services.py:81 msgid "Notify exists for specified user and project" msgstr "通知特定使用者與專案退出" -#: taiga/projects/notifications/services.py:436 +#: taiga/projects/notifications/services.py:440 msgid "Invalid value for notify level" msgstr "通知水平的無效值" @@ -3263,15 +3295,15 @@ msgstr "" msgid "The tag doesn't exist." msgstr "" -#: taiga/projects/tasks/api.py:98 taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:106 taiga/projects/tasks/api.py:115 msgid "You don't have permissions to set this sprint to this task." msgstr "無權限更動此任務下的衝刺任務" -#: taiga/projects/tasks/api.py:101 +#: taiga/projects/tasks/api.py:109 msgid "You don't have permissions to set this user story to this task." msgstr "無權限更動此務下的使用者故事" -#: taiga/projects/tasks/api.py:104 +#: taiga/projects/tasks/api.py:112 msgid "You don't have permissions to set this status to this task." msgstr "無權限更動此任務下的狀態" @@ -3929,25 +3961,25 @@ msgstr "產品所有人" msgid "Stakeholder" msgstr "利害關係人" -#: taiga/projects/userstories/api.py:128 +#: taiga/projects/userstories/api.py:136 msgid "You don't have permissions to set this sprint to this user story." msgstr "無權限更動使用者故事的衝刺任務" -#: taiga/projects/userstories/api.py:132 +#: taiga/projects/userstories/api.py:140 msgid "You don't have permissions to set this status to this user story." msgstr "無權限更動此使用者故事的狀態" -#: taiga/projects/userstories/api.py:222 +#: taiga/projects/userstories/api.py:234 #, python-brace-format msgid "Invalid role id '{role_id}'" msgstr "" -#: taiga/projects/userstories/api.py:229 +#: taiga/projects/userstories/api.py:241 #, python-brace-format msgid "Invalid points id '{points_id}'" msgstr "" -#: taiga/projects/userstories/api.py:244 +#: taiga/projects/userstories/api.py:256 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "産生使用者故事 #{ref} - {subject}" @@ -4174,92 +4206,92 @@ msgstr "無效,請確認代號正確,之前是否曾使用過?" msgid "Invalid, are you sure the token is correct?" msgstr "無效,請確認代號是否正確?" -#: taiga/users/models.py:98 +#: taiga/users/models.py:99 msgid "superuser status" msgstr "超級使用者狀態 " -#: taiga/users/models.py:99 +#: taiga/users/models.py:100 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "無經明確分派,即賦予該使用者所有權限," -#: taiga/users/models.py:129 +#: taiga/users/models.py:136 msgid "username" msgstr "使用者名稱" -#: taiga/users/models.py:130 +#: taiga/users/models.py:137 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "必填。最多30字元(可為數字,字母,符號....)" -#: taiga/users/models.py:133 +#: taiga/users/models.py:140 msgid "Enter a valid username." msgstr "輸入有效的使用者名稱 " -#: taiga/users/models.py:136 +#: taiga/users/models.py:143 msgid "active" msgstr "活躍" -#: taiga/users/models.py:137 +#: taiga/users/models.py:144 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "賦予該使用者活躍角色,以不選擇取代刪除帳戶功能。" -#: taiga/users/models.py:143 +#: taiga/users/models.py:150 msgid "biography" msgstr "自傳" -#: taiga/users/models.py:146 +#: taiga/users/models.py:153 msgid "photo" msgstr "照片" -#: taiga/users/models.py:147 +#: taiga/users/models.py:154 msgid "date joined" msgstr "加入日期" -#: taiga/users/models.py:149 +#: taiga/users/models.py:156 msgid "default language" msgstr "預設語言 " -#: taiga/users/models.py:151 +#: taiga/users/models.py:158 msgid "default theme" msgstr "預設主題" -#: taiga/users/models.py:153 +#: taiga/users/models.py:160 msgid "default timezone" msgstr "預設時區" -#: taiga/users/models.py:155 +#: taiga/users/models.py:162 msgid "colorize tags" msgstr "顏色標籤" -#: taiga/users/models.py:160 +#: taiga/users/models.py:167 msgid "email token" msgstr "電子郵件符號 " -#: taiga/users/models.py:162 +#: taiga/users/models.py:169 msgid "new email address" msgstr "新電子郵件地址" -#: taiga/users/models.py:169 +#: taiga/users/models.py:176 msgid "max number of owned private projects" msgstr "" -#: taiga/users/models.py:172 +#: taiga/users/models.py:179 msgid "max number of owned public projects" msgstr "" -#: taiga/users/models.py:175 +#: taiga/users/models.py:182 msgid "max number of memberships for each owned private project" msgstr "" -#: taiga/users/models.py:179 +#: taiga/users/models.py:186 msgid "max number of memberships for each owned public project" msgstr "" -#: taiga/users/models.py:307 +#: taiga/users/models.py:314 msgid "permissions" msgstr "許可" diff --git a/taiga/mdrender/service.py b/taiga/mdrender/service.py index 3a6a5908..0865bdd4 100644 --- a/taiga/mdrender/service.py +++ b/taiga/mdrender/service.py @@ -22,7 +22,7 @@ import bleach # BEGIN PATCH import html5lib -from html5lib.serializer.htmlserializer import HTMLSerializer +from html5lib.serializer import HTMLSerializer def _serialize(domtree): diff --git a/taiga/projects/api.py b/taiga/projects/api.py index b1c98f75..a8349551 100644 --- a/taiga/projects/api.py +++ b/taiga/projects/api.py @@ -136,10 +136,25 @@ class ProjectViewSet(LikedResourceMixin, HistoryResourceMixin, return qs def retrieve(self, request, *args, **kwargs): + qs = self.get_queryset() if self.action == "by_slug": self.lookup_field = "slug" + # If we retrieve the project by slug we want to filter by user the + # permissions and return 404 in case the user don't have access + flt = filters.get_filter_expression_can_view_projects( + self.request.user) - return super().retrieve(request, *args, **kwargs) + qs = qs.filter(flt) + + self.object = get_object_or_404(qs, **kwargs) + + self.check_permissions(request, 'retrieve', self.object) + + if self.object is None: + raise Http404 + + serializer = self.get_serializer(self.object) + return response.Ok(serializer.data) def get_serializer_class(self): if self.action == "list": diff --git a/taiga/projects/filters.py b/taiga/projects/filters.py index 4dacd29f..679ff67c 100644 --- a/taiga/projects/filters.py +++ b/taiga/projects/filters.py @@ -23,6 +23,7 @@ from django.utils.translation import ugettext as _ from taiga.base import exceptions as exc from taiga.base.filters import FilterBackend +from taiga.base.filters import get_filter_expression_can_view_projects from taiga.base.utils.db import to_tsquery logger = logging.getLogger(__name__) @@ -63,28 +64,11 @@ class CanViewProjectObjFilterBackend(FilterBackend): )) raise exc.BadRequest(_("'project' must be an integer value.")) - qs = queryset + filter_expression = get_filter_expression_can_view_projects( + request.user, + project_id) - # Filter by user permissions - if request.user.is_authenticated() and request.user.is_superuser: - # superuser - qs = qs - elif request.user.is_authenticated(): - # authenticated user & project member - membership_model = apps.get_model("projects", "Membership") - memberships_qs = membership_model.objects.filter(user=request.user) - if project_id: - memberships_qs = memberships_qs.filter(project_id=project_id) - memberships_qs = memberships_qs.filter(Q(role__permissions__contains=['view_project']) | - Q(is_admin=True)) - - projects_list = [membership.project_id for membership in memberships_qs] - - qs = qs.filter((Q(id__in=projects_list) | - Q(public_permissions__contains=["view_project"]))) - else: - # external users / anonymous - qs = qs.filter(anon_permissions__contains=["view_project"]) + qs = queryset.filter(filter_expression) return super().filter_queryset(request, qs, view) diff --git a/taiga/projects/history/freeze_impl.py b/taiga/projects/history/freeze_impl.py index c3394baa..1b5738b2 100644 --- a/taiga/projects/history/freeze_impl.py +++ b/taiga/projects/history/freeze_impl.py @@ -262,7 +262,9 @@ def project_freezer(project) -> dict: "slug", "created_at", "owner_id", - "public", + "is_private", + "anon_permissions", + "public_permissions", "total_milestones", "total_story_points", "tags", diff --git a/taiga/projects/issues/api.py b/taiga/projects/issues/api.py index 7a59e784..11c877fc 100644 --- a/taiga/projects/issues/api.py +++ b/taiga/projects/issues/api.py @@ -67,6 +67,7 @@ class IssueViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin, W "project__slug", "status__is_closed") order_by_fields = ("type", + "project", "status", "severity", "priority", diff --git a/taiga/projects/milestones/api.py b/taiga/projects/milestones/api.py index 4fa233c0..72aa5ca0 100644 --- a/taiga/projects/milestones/api.py +++ b/taiga/projects/milestones/api.py @@ -58,6 +58,12 @@ class MilestoneViewSet(HistoryResourceMixin, WatchedResourceMixin, "project__slug", "closed" ) + order_by_fields = ("project", + "name", + "estimated_start", + "estimated_finish", + "closed", + "created_date") queryset = models.Milestone.objects.all() def create(self, request, *args, **kwargs): diff --git a/taiga/projects/notifications/services.py b/taiga/projects/notifications/services.py index b6c0fbdd..bc20de54 100644 --- a/taiga/projects/notifications/services.py +++ b/taiga/projects/notifications/services.py @@ -31,6 +31,7 @@ from django.utils.translation import ugettext as _ from taiga.base import exceptions as exc from taiga.base.mails import InlineCSSTemplateMail +from taiga.front.templatetags.functions import resolve as resolve_front_url from taiga.projects.notifications.choices import NotifyLevel from taiga.projects.history.choices import HistoryType from taiga.projects.history.services import (make_key_from_model_object, @@ -39,6 +40,7 @@ from taiga.projects.history.services import (make_key_from_model_object, from taiga.permissions.services import user_has_perm from .models import HistoryChangeNotification, Watched +from .squashing import squash_history_entries def notify_policy_exists(project, user) -> bool: @@ -250,6 +252,8 @@ def send_sync_notifications(notification_id): return history_entries = tuple(notification.history_entries.all().order_by("created_at")) + history_entries = squash_history_entries(history_entries) + obj, _ = get_last_snapshot_for_key(notification.key) obj_class = get_model_from_key(obj.key) @@ -273,6 +277,7 @@ def send_sync_notifications(notification_id): now = datetime.datetime.now() format_args = { + "unsubscribe_url": resolve_front_url('settings-mail-notifications'), "project_slug": notification.project.slug, "project_name": notification.project.name, "msg_id": msg_id, @@ -285,7 +290,8 @@ def send_sync_notifications(notification_id): "In-Reply-To": "<{project_slug}/{msg_id}@{domain}>".format(**format_args), "References": "<{project_slug}/{msg_id}@{domain}>".format(**format_args), "List-ID": 'Taiga/{project_name} '.format(**format_args), - "Thread-Index": make_ms_thread_index("<{project_slug}/{msg_id}@{domain}>".format(**format_args), now) + "Thread-Index": make_ms_thread_index("<{project_slug}/{msg_id}@{domain}>".format(**format_args), now), + "List-Unsubscribe": "<{unsubscribe_url}>".format(**format_args), } for user in notification.notify_users.distinct(): diff --git a/taiga/projects/notifications/squashing.py b/taiga/projects/notifications/squashing.py new file mode 100644 index 00000000..13ff9b3b --- /dev/null +++ b/taiga/projects/notifications/squashing.py @@ -0,0 +1,84 @@ +from collections import namedtuple, OrderedDict + + +HistoryEntry = namedtuple('HistoryEntry', 'comment values_diff') + + +# These fields are ignored + +EXCLUDED_FIELDS = ( + 'description', + 'description_html', + 'blocked_note', + 'blocked_note_html', + 'content', + 'content_html', + 'epics_order', + 'backlog_order', + 'kanban_order', + 'sprint_order', + 'taskboard_order', + 'us_order', + 'custom_attributes', + 'tribe_gig', +) + +# These fields can't be squashed because we don't have +# a squashing algorithm yet. + +NON_SQUASHABLE_FIELDS = ( + 'points', + 'attachments', + 'watchers', + 'description_diff', + 'content_diff', + 'blocked_note_diff', + 'custom_attributes', +) + + +def is_squashable(field): + return field not in EXCLUDED_FIELDS and field not in NON_SQUASHABLE_FIELDS + + +def summary(field, entries): + """ + Given an iterable of HistoryEntry of the same type return a summarized list. + """ + if len(entries) <= 1: + return entries + + # Apply squashing algorithm. In this case, get first `from` and last `to`. + initial = entries[0].values_diff[field] + final = entries[-1].values_diff[field] + from_, to = initial[0], final[1] + + # If the resulting squashed `from` and `to` are equal we can skip + # this entry completely + + return [] if from_ == to else [HistoryEntry('', {field: [from_, to]})] + + +def squash_history_entries(history_entries): + """ + Given an iterable of HistoryEntry, squash them summarizing entries that have + a squashable algorithm available. + """ + history_entries = (HistoryEntry(entry.comment, entry.values_diff) for entry in history_entries) + grouped = OrderedDict() + for entry in history_entries: + if entry.comment: + yield entry + continue + + for field, diff in entry.values_diff.items(): + if is_squashable(field): + grouped.setdefault(field, []) + grouped[field].append(HistoryEntry('', {field: diff})) + else: + yield HistoryEntry('', {field: diff}) + + for field, entries in grouped.items(): + squashed = summary(field, entries) + for entry in squashed: + yield entry diff --git a/taiga/projects/tasks/api.py b/taiga/projects/tasks/api.py index 60f8b6e4..a2e62149 100644 --- a/taiga/projects/tasks/api.py +++ b/taiga/projects/tasks/api.py @@ -67,6 +67,14 @@ class TaskViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin, Wa "project", "project__slug", "status__is_closed"] + order_by_fields = ("project", + "milestone", + "status", + "created_date", + "modified_date", + "assigned_to", + "subject", + "total_voters") def get_serializer_class(self, *args, **kwargs): if self.action in ["retrieve", "by_ref"]: diff --git a/taiga/projects/userstories/api.py b/taiga/projects/userstories/api.py index 490df3e6..60256789 100644 --- a/taiga/projects/userstories/api.py +++ b/taiga/projects/userstories/api.py @@ -85,6 +85,13 @@ class UserStoryViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixi "sprint_order", "kanban_order", "epic_order", + "project", + "milestone", + "status", + "created_date", + "modified_date", + "assigned_to", + "subject", "total_voters"] def get_serializer_class(self, *args, **kwargs): diff --git a/taiga/users/api.py b/taiga/users/api.py index 7bda81be..d6c8a7ec 100644 --- a/taiga/users/api.py +++ b/taiga/users/api.py @@ -134,7 +134,7 @@ class UsersViewSet(ModelCrudViewSet): raise exc.WrongArguments(_("Not valid email")) # We need to generate a token for the email - request.user.email_token = str(uuid.uuid1()) + request.user.email_token = str(uuid.uuid4()) request.user.new_email = new_email request.user.save(update_fields=["email_token", "new_email"]) email = mail_builder.change_email( @@ -172,7 +172,7 @@ class UsersViewSet(ModelCrudViewSet): raise exc.WrongArguments(_("Invalid username or email")) user = get_user_by_username_or_email(username_or_email) - user.token = str(uuid.uuid1()) + user.token = str(uuid.uuid4()) user.save(update_fields=["token"]) email = mail_builder.password_recovery(user, {"user": user}) diff --git a/tests/integration/test_memberships.py b/tests/integration/test_memberships.py index ad2e70f3..93467422 100644 --- a/tests/integration/test_memberships.py +++ b/tests/integration/test_memberships.py @@ -227,7 +227,6 @@ def test_api_create_bulk_members_with_allowed_and_unallowed_domain(client, setti client.login(project.owner) response = client.json.post(url, json.dumps(data)) - print(response.data) assert response.status_code == 400 assert "username" in response.data["bulk_memberships"][0] assert "username" not in response.data["bulk_memberships"][1] diff --git a/tests/integration/test_projects.py b/tests/integration/test_projects.py index 8fbe6e03..3f7016b0 100644 --- a/tests/integration/test_projects.py +++ b/tests/integration/test_projects.py @@ -72,6 +72,21 @@ def test_get_project_by_slug(client): assert response.status_code == 404 +def test_get_private_project_by_slug(client): + project = f.create_project(is_private=True) + f.MembershipFactory(user=project.owner, project=project, is_admin=True) + + url = reverse("projects-by-slug") + + response = client.json.get(url, {"slug": project.slug}) + + assert response.status_code == 404 + + client.login(project.owner) + response = client.json.get(url, {"slug": project.slug}) + assert response.status_code == 200 + + def test_create_project(client): user = f.create_user() url = reverse("projects-list") diff --git a/tests/unit/test_notifications_squashing.py b/tests/unit/test_notifications_squashing.py new file mode 100644 index 00000000..bb6b6228 --- /dev/null +++ b/tests/unit/test_notifications_squashing.py @@ -0,0 +1,99 @@ +from taiga.projects.notifications import squashing + + +def assert_(expected, squashed, *, ordered=True): + """ + Check if expected entries are the same as the squashed. + + Allow to specify if they must maintain the order or conversely they can + appear in any order. + """ + squashed = list(squashed) + assert len(expected) == len(squashed) + if ordered: + assert expected == squashed + else: + # Can't use a set, just check all of the squashed entries + # are in the expected ones. + for entry in squashed: + assert entry in expected + + +def test_squash_omits_comments(): + history_entries = [ + squashing.HistoryEntry(comment='A', values_diff={'status': ['A', 'B']}), + squashing.HistoryEntry(comment='B', values_diff={'status': ['B', 'C']}), + squashing.HistoryEntry(comment='C', values_diff={'status': ['C', 'B']}), + ] + squashed = squashing.squash_history_entries(history_entries) + assert_(history_entries, squashed) + + +def test_squash_allowed_grouped_at_the_end(): + history_entries = [ + squashing.HistoryEntry(comment='A', values_diff={}), + squashing.HistoryEntry(comment='', values_diff={'status': ['A', 'B']}), + squashing.HistoryEntry(comment='', values_diff={'status': ['B', 'C']}), + squashing.HistoryEntry(comment='', values_diff={'status': ['C', 'D']}), + squashing.HistoryEntry(comment='', values_diff={'status': ['D', 'C']}), + squashing.HistoryEntry(comment='Z', values_diff={}), + ] + expected = [ + squashing.HistoryEntry(comment='A', values_diff={}), + squashing.HistoryEntry(comment='Z', values_diff={}), + squashing.HistoryEntry(comment='', values_diff={'status': ['A', 'C']}), + ] + + squashed = squashing.squash_history_entries(history_entries) + assert_(expected, squashed) + + +def test_squash_remove_noop_changes(): + history_entries = [ + squashing.HistoryEntry(comment='', values_diff={'status': ['A', 'B']}), + squashing.HistoryEntry(comment='', values_diff={'status': ['B', 'A']}), + ] + expected = [] + + squashed = squashing.squash_history_entries(history_entries) + assert_(expected, squashed) + + +def test_squash_remove_noop_changes_but_maintain_others(): + history_entries = [ + squashing.HistoryEntry(comment='', values_diff={'status': ['A', 'B'], 'type': ['1', '2']}), + squashing.HistoryEntry(comment='', values_diff={'status': ['B', 'A']}), + ] + expected = [ + squashing.HistoryEntry(comment='', values_diff={'type': ['1', '2']}), + ] + + squashed = squashing.squash_history_entries(history_entries) + assert_(expected, squashed) + + +def test_squash_values_diff_with_multiple_fields(): + history_entries = [ + squashing.HistoryEntry(comment='', values_diff={'status': ['A', 'B'], 'type': ['1', '2']}), + squashing.HistoryEntry(comment='', values_diff={'status': ['B', 'C']}), + ] + expected = [ + squashing.HistoryEntry(comment='', values_diff={'type': ['1', '2']}), + squashing.HistoryEntry(comment='', values_diff={'status': ['A', 'C']}), + ] + + squashed = squashing.squash_history_entries(history_entries) + assert_(expected, squashed, ordered=False) + + +def test_squash_arrays(): + history_entries = [ + squashing.HistoryEntry(comment='', values_diff={'tags': [['A', 'B'], ['A']]}), + squashing.HistoryEntry(comment='', values_diff={'tags': [['A'], ['A', 'C']]}), + ] + expected = [ + squashing.HistoryEntry(comment='', values_diff={'tags': [['A', 'B'], ['A', 'C']]}), + ] + + squashed = squashing.squash_history_entries(history_entries) + assert_(expected, squashed, ordered=False)