From 479454cbde2e29ac175d3b72f6588d3a394ce71c Mon Sep 17 00:00:00 2001
From: Alejandro Alonso
Date: Tue, 9 May 2017 12:27:10 +0200
Subject: [PATCH 01/49] Making update_attr_in_bulk_for_ids work in asynch mode
if possible
---
taiga/base/utils/db.py | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/taiga/base/utils/db.py b/taiga/base/utils/db.py
index 809c9d9c..cd4a7a15 100644
--- a/taiga/base/utils/db.py
+++ b/taiga/base/utils/db.py
@@ -16,11 +16,13 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
+from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.db import connection
from django.db import DatabaseError
from django.db import transaction
from django.shortcuts import _get_queryset
+from taiga.celery import app
from . import functions
@@ -122,9 +124,9 @@ def update_in_bulk(instances, list_of_new_values, callback=None, precall=None):
instance.save()
callback(instance)
-
+@app.task
@transaction.atomic
-def update_attr_in_bulk_for_ids(values, attr, model):
+def _update_attr_in_bulk_for_ids(values, attr, model):
"""Update a table using a list of ids.
:params values: Dict of new values where the key is the pk of the element to update.
@@ -162,6 +164,14 @@ def update_attr_in_bulk_for_ids(values, attr, model):
transaction.on_commit(_run_sql)
+@transaction.atomic
+def update_attr_in_bulk_for_ids(values, attr, model):
+ if settings.CELERY_ENABLED:
+ _update_attr_in_bulk_for_ids.delay(values, attr, model)
+ else:
+ _update_attr_in_bulk_for_ids(values, attr, model)
+
+
def to_tsquery(term):
"""
Based on: https://gist.github.com/wolever/1a5ccf6396f00229b2dc
From a385c73abb8ea77967191aeeb743904623597e13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Wed, 17 May 2017 12:50:13 +0200
Subject: [PATCH 02/49] Revert "Making update_attr_in_bulk_for_ids work in
asynch mode if possible"
This reverts commit 479454cbde2e29ac175d3b72f6588d3a394ce71c.
---
taiga/base/utils/db.py | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/taiga/base/utils/db.py b/taiga/base/utils/db.py
index cd4a7a15..809c9d9c 100644
--- a/taiga/base/utils/db.py
+++ b/taiga/base/utils/db.py
@@ -16,13 +16,11 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.db import connection
from django.db import DatabaseError
from django.db import transaction
from django.shortcuts import _get_queryset
-from taiga.celery import app
from . import functions
@@ -124,9 +122,9 @@ def update_in_bulk(instances, list_of_new_values, callback=None, precall=None):
instance.save()
callback(instance)
-@app.task
+
@transaction.atomic
-def _update_attr_in_bulk_for_ids(values, attr, model):
+def update_attr_in_bulk_for_ids(values, attr, model):
"""Update a table using a list of ids.
:params values: Dict of new values where the key is the pk of the element to update.
@@ -164,14 +162,6 @@ def _update_attr_in_bulk_for_ids(values, attr, model):
transaction.on_commit(_run_sql)
-@transaction.atomic
-def update_attr_in_bulk_for_ids(values, attr, model):
- if settings.CELERY_ENABLED:
- _update_attr_in_bulk_for_ids.delay(values, attr, model)
- else:
- _update_attr_in_bulk_for_ids(values, attr, model)
-
-
def to_tsquery(term):
"""
Based on: https://gist.github.com/wolever/1a5ccf6396f00229b2dc
From deece59b6bd400261aa71d6e66a33ea80eb7269d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Wed, 17 May 2017 12:50:28 +0200
Subject: [PATCH 03/49] Fixing ordering in archived states
---
taiga/projects/userstories/api.py | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/taiga/projects/userstories/api.py b/taiga/projects/userstories/api.py
index e536b8e6..490df3e6 100644
--- a/taiga/projects/userstories/api.py
+++ b/taiga/projects/userstories/api.py
@@ -18,6 +18,7 @@
from django.apps import apps
from django.db import transaction
+from django.db.models import Max
from django.utils.translation import ugettext as _
from django.http import HttpResponse
@@ -156,6 +157,10 @@ class UserStoryViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixi
related_data = getattr(obj, "_related_data", {})
self._role_points = related_data.pop("role_points", None)
+ if obj.kanban_order == -1:
+ if self._max_order:
+ obj.kanban_order = self._max_order + 1;
+
if not obj.id:
obj.owner = self.request.user
else:
@@ -276,6 +281,12 @@ class UserStoryViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixi
except Project.DoesNotExist:
return response.BadRequest(_("The project doesn't exist"))
+ if self.object and self.object.project_id:
+ self._max_order = models.UserStory.objects.filter(
+ project_id=self.object.project_id,
+ status_id=request.DATA.get('status', None)
+ ).aggregate(Max('kanban_order'))['kanban_order__max']
+
return super().update(request, *args, **kwargs)
@list_route(methods=["GET"])
From a2d1547fae6672c5b9f70bace49f9e2861316044 Mon Sep 17 00:00:00 2001
From: Alejandro Alonso
Date: Wed, 17 May 2017 09:32:31 +0200
Subject: [PATCH 04/49] Imported projects notify incorrect users in some cases
---
taiga/export_import/serializers/cache.py | 4 ++
taiga/export_import/serializers/mixins.py | 46 ++++++++++++++++---
.../export_import/serializers/serializers.py | 30 ++++++++++--
taiga/export_import/services/store.py | 16 ++++---
taiga/export_import/validators/__init__.py | 1 +
taiga/export_import/validators/fields.py | 15 ++++++
taiga/export_import/validators/mixins.py | 14 +++++-
7 files changed, 109 insertions(+), 17 deletions(-)
diff --git a/taiga/export_import/serializers/cache.py b/taiga/export_import/serializers/cache.py
index 4dfb76ad..909a079e 100644
--- a/taiga/export_import/serializers/cache.py
+++ b/taiga/export_import/serializers/cache.py
@@ -24,6 +24,10 @@ _custom_tasks_attributes_cache = {}
_custom_issues_attributes_cache = {}
_custom_userstories_attributes_cache = {}
_custom_epics_attributes_cache = {}
+_tasks_statuses_cache = {}
+_issues_statuses_cache = {}
+_userstories_statuses_cache = {}
+_epics_statuses_cache = {}
def cached_get_user_by_pk(pk):
if pk not in _cache_user_by_pk:
diff --git a/taiga/export_import/serializers/mixins.py b/taiga/export_import/serializers/mixins.py
index 0df95a5f..30e9d511 100644
--- a/taiga/export_import/serializers/mixins.py
+++ b/taiga/export_import/serializers/mixins.py
@@ -17,6 +17,7 @@
# along with this program. If not, see .
from django.core.exceptions import ObjectDoesNotExist
+from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
from taiga.base.api import serializers
@@ -25,14 +26,15 @@ from taiga.projects.history import models as history_models
from taiga.projects.attachments import models as attachments_models
from taiga.projects.history import services as history_service
-from .fields import (UserRelatedField, HistoryUserField, HistoryDiffField,
- HistoryValuesField, FileField)
-
+from .cache import cached_get_user_by_pk
+from .fields import (UserRelatedField, HistoryUserField,
+ HistoryDiffField, HistoryValuesField,
+ SlugRelatedField, FileField)
class HistoryExportSerializer(serializers.LightSerializer):
user = HistoryUserField()
diff = HistoryDiffField()
- snapshot = Field()
+ snapshot = MethodField()
values = HistoryValuesField()
comment = Field()
delete_comment_date = DateTimeField()
@@ -44,17 +46,49 @@ class HistoryExportSerializer(serializers.LightSerializer):
is_snapshot = Field()
type = Field()
+ def __init__(self, *args, **kwargs):
+ # Don't pass the extra ids args up to the superclass
+ self.statuses_queryset = kwargs.pop("statuses_queryset", {})
+
+ # Instantiate the superclass normally
+ super().__init__(*args, **kwargs)
+
+ def get_snapshot(self, obj):
+ user_model_cls = get_user_model()
+
+ snapshot = obj.snapshot
+ if snapshot is None:
+ return None
+
+ try:
+ owner = cached_get_user_by_pk(snapshot.get("owner", None))
+ snapshot["owner"] = owner.email
+ except user_model_cls.DoesNotExist:
+ pass
+
+ try:
+ assigned_to = cached_get_user_by_pk(snapshot.get("assigned_to", None))
+ snapshot["assigned_to"] = assigned_to.email
+ except user_model_cls.DoesNotExist:
+ pass
+
+ if "status" in snapshot:
+ snapshot["status"] = self.statuses_queryset.get(snapshot["status"])
+
+ return snapshot
class HistoryExportSerializerMixin(serializers.LightSerializer):
history = MethodField("get_history")
+ def statuses_queryset(self, project):
+ raise NotImplementedError()
+
def get_history(self, obj):
history_qs = history_service.get_history_queryset_by_model_instance(
obj,
types=(history_models.HistoryType.change, history_models.HistoryType.create,)
)
-
- return HistoryExportSerializer(history_qs, many=True).data
+ return HistoryExportSerializer(history_qs, many=True, statuses_queryset=self.statuses_queryset(obj.project)).data
class AttachmentExportSerializer(serializers.LightSerializer):
diff --git a/taiga/export_import/serializers/serializers.py b/taiga/export_import/serializers/serializers.py
index 1f00fbf7..a9bbe6e3 100644
--- a/taiga/export_import/serializers/serializers.py
+++ b/taiga/export_import/serializers/serializers.py
@@ -30,7 +30,11 @@ from .mixins import (HistoryExportSerializerMixin,
from .cache import (_custom_tasks_attributes_cache,
_custom_userstories_attributes_cache,
_custom_epics_attributes_cache,
- _custom_issues_attributes_cache)
+ _custom_issues_attributes_cache,
+ _tasks_statuses_cache,
+ _issues_statuses_cache,
+ _userstories_statuses_cache,
+ _epics_statuses_cache)
class RelatedExportSerializer(serializers.LightSerializer):
@@ -217,6 +221,11 @@ class TaskExportSerializer(CustomAttributesValuesExportSerializerMixin,
_custom_tasks_attributes_cache[project.id] = list(project.taskcustomattributes.all().values('id', 'name'))
return _custom_tasks_attributes_cache[project.id]
+ def statuses_queryset(self, project):
+ if project.id not in _tasks_statuses_cache:
+ _tasks_statuses_cache[project.id] = {s.id: s.name for s in project.task_statuses.all()}
+ return _tasks_statuses_cache[project.id]
+
class UserStoryExportSerializer(CustomAttributesValuesExportSerializerMixin,
HistoryExportSerializerMixin,
@@ -255,6 +264,10 @@ class UserStoryExportSerializer(CustomAttributesValuesExportSerializerMixin,
)
return _custom_userstories_attributes_cache[project.id]
+ def statuses_queryset(self, project):
+ if project.id not in _userstories_statuses_cache:
+ _userstories_statuses_cache[project.id] = {s.id: s.name for s in project.us_statuses.all()}
+ return _userstories_statuses_cache[project.id]
class EpicRelatedUserStoryExportSerializer(RelatedExportSerializer):
user_story = SlugRelatedField(slug_field="ref")
@@ -285,15 +298,20 @@ class EpicExportSerializer(CustomAttributesValuesExportSerializerMixin,
related_user_stories = MethodField()
def get_related_user_stories(self, obj):
- return EpicRelatedUserStoryExportSerializer(obj.relateduserstory_set.all(), many=True).data
+ return EpicRelatedUserStoryExportSerializer(obj.relateduserstory_set.filter(epic__project=obj.project), many=True).data
def custom_attributes_queryset(self, project):
if project.id not in _custom_epics_attributes_cache:
_custom_epics_attributes_cache[project.id] = list(
- project.userstorycustomattributes.all().values('id', 'name')
+ project.epiccustomattributes.all().values('id', 'name')
)
return _custom_epics_attributes_cache[project.id]
+ def statuses_queryset(self, project):
+ if project.id not in _epics_statuses_cache:
+ _epics_statuses_cache[project.id] = {s.id: s.name for s in project.epic_statuses.all()}
+ return _epics_statuses_cache[project.id]
+
class IssueExportSerializer(CustomAttributesValuesExportSerializerMixin,
HistoryExportSerializerMixin,
@@ -329,6 +347,10 @@ class IssueExportSerializer(CustomAttributesValuesExportSerializerMixin,
_custom_issues_attributes_cache[project.id] = list(project.issuecustomattributes.all().values('id', 'name'))
return _custom_issues_attributes_cache[project.id]
+ def statuses_queryset(self, project):
+ if project.id not in _issues_statuses_cache:
+ _issues_statuses_cache[project.id] = {s.id: s.name for s in project.issue_statuses.all()}
+ return _issues_statuses_cache[project.id]
class WikiPageExportSerializer(HistoryExportSerializerMixin,
AttachmentExportSerializerMixin,
@@ -342,6 +364,8 @@ class WikiPageExportSerializer(HistoryExportSerializerMixin,
content = Field()
version = Field()
+ def statuses_queryset(self, project):
+ return {}
class WikiLinkExportSerializer(RelatedExportSerializer):
title = Field()
diff --git a/taiga/export_import/services/store.py b/taiga/export_import/services/store.py
index 1944912d..a20b9329 100644
--- a/taiga/export_import/services/store.py
+++ b/taiga/export_import/services/store.py
@@ -155,8 +155,8 @@ def _store_attachment(project, obj, attachment):
return validator
-def _store_history(project, obj, history):
- validator = validators.HistoryExportValidator(data=history, context={"project": project})
+def _store_history(project, obj, history, statuses={}):
+ validator = validators.HistoryExportValidator(data=history, context={"project": project, "statuses": statuses})
if validator.is_valid():
validator.object.key = make_key_from_model_object(obj)
if validator.object.diff is None:
@@ -360,8 +360,9 @@ def store_user_story(project, data):
_store_role_point(project, validator.object, role_point)
history_entries = data.get("history", [])
+ statuses = {s.name: s.id for s in project.us_statuses.all()}
for history in history_entries:
- _store_history(project, validator.object, history)
+ _store_history(project, validator.object, history, statuses)
if not history_entries:
take_snapshot(validator.object, user=validator.object.owner)
@@ -436,8 +437,9 @@ def store_epic(project, data):
_store_epic_related_user_story(project, validator.object, related_user_story)
history_entries = data.get("history", [])
+ statuses = {s.name: s.id for s in project.epic_statuses.all()}
for history in history_entries:
- _store_history(project, validator.object, history)
+ _store_history(project, validator.object, history, statuses)
if not history_entries:
take_snapshot(validator.object, user=validator.object.owner)
@@ -496,8 +498,9 @@ def store_task(project, data):
_store_attachment(project, validator.object, task_attachment)
history_entries = data.get("history", [])
+ statuses = {s.name: s.id for s in project.task_statuses.all()}
for history in history_entries:
- _store_history(project, validator.object, history)
+ _store_history(project, validator.object, history, statuses)
if not history_entries:
take_snapshot(validator.object, user=validator.object.owner)
@@ -567,8 +570,9 @@ def store_issue(project, data):
_store_attachment(project, validator.object, attachment)
history_entries = data.get("history", [])
+ statuses = {s.name: s.id for s in project.issue_statuses.all()}
for history in history_entries:
- _store_history(project, validator.object, history)
+ _store_history(project, validator.object, history, statuses)
if not history_entries:
take_snapshot(validator.object, user=validator.object.owner)
diff --git a/taiga/export_import/validators/__init__.py b/taiga/export_import/validators/__init__.py
index 0948ade0..dd286efa 100644
--- a/taiga/export_import/validators/__init__.py
+++ b/taiga/export_import/validators/__init__.py
@@ -12,6 +12,7 @@ from .validators import UserStoryCustomAttributeExportValidator
from .validators import TaskCustomAttributeExportValidator
from .validators import IssueCustomAttributeExportValidator
from .validators import BaseCustomAttributesValuesExportValidator
+from .validators import EpicCustomAttributesValuesExportValidator
from .validators import UserStoryCustomAttributesValuesExportValidator
from .validators import TaskCustomAttributesValuesExportValidator
from .validators import IssueCustomAttributesValuesExportValidator
diff --git a/taiga/export_import/validators/fields.py b/taiga/export_import/validators/fields.py
index d93a3677..fda4ad5d 100644
--- a/taiga/export_import/validators/fields.py
+++ b/taiga/export_import/validators/fields.py
@@ -144,6 +144,21 @@ class ProjectRelatedField(serializers.RelatedField):
raise ValidationError(_("{}=\"{}\" not found in this project".format(self.slug_field, data)))
+class HistorySnapshotField(JSONField):
+ def from_native(self, data):
+ if data is None:
+ return {}
+
+ owner = UserRelatedField().from_native(data.get("owner"))
+ if owner:
+ data["owner"] = owner.pk
+
+ assigned_to = UserRelatedField().from_native(data.get("assigned_to"))
+ if assigned_to:
+ data["assigned_to"] = assigned_to.pk
+
+ return data
+
class HistoryUserField(JSONField):
def from_native(self, data):
if data is None:
diff --git a/taiga/export_import/validators/mixins.py b/taiga/export_import/validators/mixins.py
index 44027c90..5e634054 100644
--- a/taiga/export_import/validators/mixins.py
+++ b/taiga/export_import/validators/mixins.py
@@ -28,13 +28,14 @@ from taiga.projects.notifications import services as notifications_services
from taiga.projects.history import services as history_service
from .fields import (UserRelatedField, HistoryUserField, HistoryDiffField,
- JSONField, HistoryValuesField, CommentField, FileField)
+ JSONField, HistorySnapshotField,
+ HistoryValuesField, CommentField, FileField)
class HistoryExportValidator(validators.ModelValidator):
user = HistoryUserField()
diff = HistoryDiffField(required=False)
- snapshot = JSONField(required=False)
+ snapshot = HistorySnapshotField(required=False)
values = HistoryValuesField(required=False)
comment = CommentField(required=False)
delete_comment_date = serializers.DateTimeField(required=False)
@@ -44,6 +45,15 @@ class HistoryExportValidator(validators.ModelValidator):
model = history_models.HistoryEntry
exclude = ("id", "comment_html", "key", "project")
+ def restore_object(self, attrs, instance=None):
+ snapshot = attrs["snapshot"]
+ statuses = self.context.get("statuses", {})
+ if "status" in snapshot:
+ status_id = statuses.get(snapshot["status"], None)
+ attrs["snapshot"]["status"] = status_id
+
+ instance = super(HistoryExportValidator, self).restore_object(attrs, instance)
+ return instance
class AttachmentExportValidator(validators.ModelValidator):
owner = UserRelatedField(required=False)
From c8692eeca4c22c243b81a14f32a93a25e2d59205 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?=
Date: Mon, 19 Jun 2017 13:11:45 +0200
Subject: [PATCH 05/49] Add the CoC
---
CODE_OF_CONDUCT.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100755 CODE_OF_CONDUCT.md
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/
From 386893f2e443e6023057ea2856792f085ba4e0f4 Mon Sep 17 00:00:00 2001
From: LouieK22
Date: Fri, 14 Apr 2017 23:52:13 -0500
Subject: [PATCH 06/49] Just a small grammar fix.
Am I the only one who noticed this? Can someone just accept this?
lel, I did this the wrong way, right?
---
CONTRIBUTING.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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:
From c698b0798ba0ce202b3ba34771d5222fbffbfdc7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?=
Date: Wed, 7 Jun 2017 20:22:46 +0200
Subject: [PATCH 07/49] Upgrade requirements.txt
---
requirements-devel.txt | 14 ++--
requirements.txt | 68 +++++++++----------
taiga/base/api/views.py | 1 -
taiga/base/db/models/fields/json.py | 57 +---------------
taiga/base/exceptions.py | 20 +++---
taiga/base/utils/contenttypes.py | 4 +-
taiga/base/utils/db.py | 1 -
.../migrations/0003_auto_20170607_2320.py | 23 +++++++
taiga/external_apps/models.py | 5 +-
taiga/mdrender/service.py | 2 +-
tests/integration/test_memberships.py | 1 -
11 files changed, 82 insertions(+), 114 deletions(-)
create mode 100644 taiga/external_apps/migrations/0003_auto_20170607_2320.py
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/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/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/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/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]
From 9b80f5a1a32d2d48b5bc18affec1e06ef7e89f86 Mon Sep 17 00:00:00 2001
From: Alejandro Alonso
Date: Thu, 22 Jun 2017 14:31:23 +0200
Subject: [PATCH 08/49] Improving epics progress
---
taiga/projects/epics/utils.py | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/taiga/projects/epics/utils.py b/taiga/projects/epics/utils.py
index 1637aa0b..eb46e67f 100644
--- a/taiga/projects/epics/utils.py
+++ b/taiga/projects/epics/utils.py
@@ -41,14 +41,24 @@ def attach_extra_info(queryset, user=None, include_attachments=False):
def attach_user_stories_counts_to_queryset(queryset, as_field="user_stories_counts"):
model = queryset.model
- sql = """SELECT (SELECT row_to_json(t)
- FROM (SELECT COALESCE(SUM(CASE WHEN is_closed IS FALSE THEN 1 ELSE 0 END), 0) AS "opened",
- COALESCE(SUM(CASE WHEN is_closed IS TRUE THEN 1 ELSE 0 END), 0) AS "closed"
- ) t
- )
- FROM epics_relateduserstory
- INNER JOIN userstories_userstory ON epics_relateduserstory.user_story_id = userstories_userstory.id
- WHERE epics_relateduserstory.epic_id = {tbl}.id"""
+ sql = """
+ SELECT json_build_object('total', count(t.*), 'progress', sum(t.percentaje_completed))
+ FROM(
+ SELECT
+ --userstories_userstory.id as userstories_userstory_id,
+ --userstories_userstory.is_closed as userstories_userstory_is_closed,
+ CASE WHEN userstories_userstory.is_closed
+ THEN 1
+ ELSE
+ COALESCE(COUNT(tasks_task.id) FILTER (WHERE projects_taskstatus.is_closed = TRUE)::real / NULLIF(COUNT(tasks_task.id), 0),0)--,
+ END AS percentaje_completed
+
+ FROM epics_relateduserstory
+ INNER JOIN userstories_userstory ON epics_relateduserstory.user_story_id = userstories_userstory.id
+ LEFT JOIN tasks_task ON tasks_task.user_story_id = userstories_userstory.id
+ LEFT JOIN projects_taskstatus ON tasks_task.status_id = projects_taskstatus.id
+ WHERE epics_relateduserstory.epic_id = {tbl}.id
+ GROUP BY userstories_userstory.id) t"""
sql = sql.format(tbl=model._meta.db_table)
queryset = queryset.extra(select={as_field: sql})
From d35135a3f5bb38ac22e53aebc6d0a7916d8063e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Thu, 20 Jul 2017 13:41:11 +0200
Subject: [PATCH 09/49] Fix problem with fetch urls from cairoSVG
---
taiga/base/utils/thumbnails.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/taiga/base/utils/thumbnails.py b/taiga/base/utils/thumbnails.py
index f5d23628..18b4bdd9 100644
--- a/taiga/base/utils/thumbnails.py
+++ b/taiga/base/utils/thumbnails.py
@@ -33,15 +33,22 @@ from io import BytesIO
# SVG thumbnail generator
try:
from cairosvg.surface import PNGSurface
+ from cairosvg.url import fetch
import magic
+ def url_fetcher(url, resource_type):
+ if url.startswith("data:"):
+ return fetch(url, resource_type)
+ return b""
+
+
def svg_image_factory(fp, filename):
mime_type = magic.from_buffer(fp.read(1024), mime=True)
if mime_type != "image/svg+xml":
raise TypeError
fp.seek(0)
- png_data = PNGSurface.convert(fp.read())
+ png_data = PNGSurface.convert(fp.read(), url_fetcher=url_fetcher)
return PngImageFile(BytesIO(png_data))
Image.register_mime("SVG", "image/svg+xml")
From 0930228c27ca3a7d5fd38c74be4704267eb50c95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Fri, 21 Jul 2017 09:45:57 +0200
Subject: [PATCH 10/49] Fixed SVG thumbnail generation
---
taiga/base/utils/thumbnails.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/taiga/base/utils/thumbnails.py b/taiga/base/utils/thumbnails.py
index 18b4bdd9..e6d6a4b0 100644
--- a/taiga/base/utils/thumbnails.py
+++ b/taiga/base/utils/thumbnails.py
@@ -57,11 +57,14 @@ try:
except Exception:
pass
+Image.init()
# PSD thumbnail generator
def psd_image_factory(data, *args):
- return PSDImage.from_stream(data).as_PIL()
+ try:
+ return PSDImage.from_stream(data).as_PIL()
+ except Exception:
+ raise TypeError
-Image.init()
Image.register_open("PSD", psd_image_factory)
From 1fb61dfc0f3f95c1fb6c4c4d0ad23c7e03e5856d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Wed, 23 Aug 2017 09:55:29 +0200
Subject: [PATCH 11/49] Add user update throttling
---
settings/common.py | 1 +
settings/local.py.example | 1 +
settings/testing.py | 1 +
taiga/users/api.py | 4 ++--
taiga/users/throttling.py | 5 +++++
5 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/settings/common.py b/settings/common.py
index ed6b3939..53c4c904 100644
--- a/settings/common.py
+++ b/settings/common.py
@@ -446,6 +446,7 @@ REST_FRAMEWORK = {
"login-fail": None,
"register-success": None,
"user-detail": None,
+ "user-update": None,
},
"DEFAULT_THROTTLE_WHITELIST": [],
"FILTER_BACKEND": "taiga.base.filters.FilterBackend",
diff --git a/settings/local.py.example b/settings/local.py.example
index 626d4911..2adbf775 100644
--- a/settings/local.py.example
+++ b/settings/local.py.example
@@ -73,6 +73,7 @@ DATABASES = {
# "login-fail": None,
# "register-success": None,
# "user-detail": None,
+# "user-update": None,
#}
# This list should containt:
diff --git a/settings/testing.py b/settings/testing.py
index da641cf2..10e38a4e 100644
--- a/settings/testing.py
+++ b/settings/testing.py
@@ -38,6 +38,7 @@ REST_FRAMEWORK["DEFAULT_THROTTLE_RATES"] = {
"login-fail": None,
"register-success": None,
"user-detail": None,
+ "user-update": None,
}
diff --git a/taiga/users/api.py b/taiga/users/api.py
index d812b475..7bda81be 100644
--- a/taiga/users/api.py
+++ b/taiga/users/api.py
@@ -49,7 +49,7 @@ from . import services
from . import utils as user_utils
from .signals import user_cancel_account as user_cancel_account_signal
from .signals import user_change_email as user_change_email_signal
-from .throttling import UserDetailRateThrottle
+from .throttling import UserDetailRateThrottle, UserUpdateRateThrottle
class UsersViewSet(ModelCrudViewSet):
permission_classes = (permissions.UserPermission,)
@@ -58,7 +58,7 @@ class UsersViewSet(ModelCrudViewSet):
admin_validator_class = validators.UserAdminValidator
validator_class = validators.UserValidator
filter_backends = (MembersFilterBackend,)
- throttle_classes = (UserDetailRateThrottle,)
+ throttle_classes = (UserDetailRateThrottle, UserUpdateRateThrottle)
model = models.User
def get_serializer_class(self):
diff --git a/taiga/users/throttling.py b/taiga/users/throttling.py
index c27aed9f..718283a0 100644
--- a/taiga/users/throttling.py
+++ b/taiga/users/throttling.py
@@ -22,3 +22,8 @@ from taiga.base import throttling
class UserDetailRateThrottle(throttling.GlobalThrottlingMixin, throttling.ThrottleByActionMixin, throttling.SimpleRateThrottle):
scope = "user-detail"
throttled_actions = ["by_username", "retrieve"]
+
+
+class UserUpdateRateThrottle(throttling.UserRateThrottle, throttling.ThrottleByActionMixin):
+ scope = "user-update"
+ throttled_actions = ["update", "partial_update"]
From 3d3d79a4b3207422ab160c8f0d2e37e0fbf29b26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?=
Date: Mon, 21 Aug 2017 10:17:59 +0200
Subject: [PATCH 12/49] Fix project freeze and add permissions
---
taiga/projects/history/freeze_impl.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
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",
From 4c6ac330bf85590dbc321d80b0caed3afc96d1be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?=
Date: Mon, 21 Aug 2017 10:32:34 +0200
Subject: [PATCH 13/49] Use new get_model method
---
taiga/base/api/serializers.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/taiga/base/api/serializers.py b/taiga/base/api/serializers.py
index e991714c..94085605 100644
--- a/taiga/base/api/serializers.py
+++ b/taiga/base/api/serializers.py
@@ -56,6 +56,7 @@ python primitives.
response content is handled by parsers and renderers.
"""
from decimal import Decimal
+from django.apps import apps
from django.core.paginator import Page
from django.db import models
from django.forms import widgets
@@ -98,7 +99,7 @@ def _resolve_model(obj):
"""
if type(obj) == str and len(obj.split(".")) == 2:
app_name, model_name = obj.split(".")
- return models.get_model(app_name, model_name)
+ return apps.get_model(app_name, model_name)
elif inspect.isclass(obj) and issubclass(obj, models.Model):
return obj
else:
From 66477c6777cfcbb40e50a5892a20801c8007df74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Mon, 11 Sep 2017 15:44:54 +0200
Subject: [PATCH 14/49] Fix throttling bug
---
taiga/base/throttling.py | 2 ++
taiga/users/throttling.py | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/taiga/base/throttling.py b/taiga/base/throttling.py
index 086f9660..e8f60c2f 100644
--- a/taiga/base/throttling.py
+++ b/taiga/base/throttling.py
@@ -39,6 +39,8 @@ class GlobalThrottlingMixin:
}
+# If you derive a class from this mixin you have to put this class previously
+# to the base throttling class.
class ThrottleByActionMixin:
throttled_actions = []
diff --git a/taiga/users/throttling.py b/taiga/users/throttling.py
index 718283a0..b87ea8da 100644
--- a/taiga/users/throttling.py
+++ b/taiga/users/throttling.py
@@ -24,6 +24,6 @@ class UserDetailRateThrottle(throttling.GlobalThrottlingMixin, throttling.Thrott
throttled_actions = ["by_username", "retrieve"]
-class UserUpdateRateThrottle(throttling.UserRateThrottle, throttling.ThrottleByActionMixin):
+class UserUpdateRateThrottle(throttling.ThrottleByActionMixin, throttling.UserRateThrottle):
scope = "user-update"
throttled_actions = ["update", "partial_update"]
From cdd1d2809c4fae6ac134fd6ad83b76ca15b384de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Mon, 2 Oct 2017 10:39:02 +0200
Subject: [PATCH 15/49] Updating sitemaps
---
taiga/front/sitemaps/__init__.py | 6 --
taiga/front/sitemaps/epics.py | 11 ++-
taiga/front/sitemaps/issues.py | 8 +-
taiga/front/sitemaps/milestones.py | 10 ++-
taiga/front/sitemaps/projects.py | 109 ++++++----------------------
taiga/front/sitemaps/tasks.py | 8 +-
taiga/front/sitemaps/users.py | 4 +-
taiga/front/sitemaps/userstories.py | 8 +-
taiga/front/sitemaps/wiki.py | 6 +-
9 files changed, 66 insertions(+), 104 deletions(-)
diff --git a/taiga/front/sitemaps/__init__.py b/taiga/front/sitemaps/__init__.py
index 00f9f1d6..96a97c07 100644
--- a/taiga/front/sitemaps/__init__.py
+++ b/taiga/front/sitemaps/__init__.py
@@ -21,11 +21,8 @@ from collections import OrderedDict
from .generics import GenericSitemap
from .projects import ProjectsSitemap
-from .projects import ProjectEpicsSitemap
from .projects import ProjectBacklogsSitemap
from .projects import ProjectKanbansSitemap
-from .projects import ProjectIssuesSitemap
-from .projects import ProjectTeamsSitemap
from .epics import EpicsSitemap
@@ -46,11 +43,8 @@ sitemaps = OrderedDict([
("generics", GenericSitemap),
("projects", ProjectsSitemap),
- ("project-epics-list", ProjectEpicsSitemap),
("project-backlogs", ProjectBacklogsSitemap),
("project-kanbans", ProjectKanbansSitemap),
- ("project-issues-list", ProjectIssuesSitemap),
- ("project-teams", ProjectTeamsSitemap),
("epics", EpicsSitemap),
diff --git a/taiga/front/sitemaps/epics.py b/taiga/front/sitemaps/epics.py
index ed7f055f..b7753345 100644
--- a/taiga/front/sitemaps/epics.py
+++ b/taiga/front/sitemaps/epics.py
@@ -18,6 +18,8 @@
from django.db.models import Q
from django.apps import apps
+from datetime import timedelta
+from django.utils import timezone
from taiga.front.templatetags.functions import resolve
@@ -33,6 +35,9 @@ class EpicsSitemap(Sitemap):
Q(project__is_private=True,
project__anon_permissions__contains=["view_epics"]))
+ queryset = queryset.exclude(description="")
+ queryset = queryset.exclude(description__isnull=True)
+
# Exclude blocked projects
queryset = queryset.filter(project__blocked_code__isnull=True)
@@ -48,7 +53,9 @@ class EpicsSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
- return 0.4
+ return 0.5
diff --git a/taiga/front/sitemaps/issues.py b/taiga/front/sitemaps/issues.py
index 6b784d3b..34a2f482 100644
--- a/taiga/front/sitemaps/issues.py
+++ b/taiga/front/sitemaps/issues.py
@@ -18,6 +18,8 @@
from django.db.models import Q
from django.apps import apps
+from datetime import timedelta
+from django.utils import timezone
from taiga.front.templatetags.functions import resolve
@@ -48,7 +50,9 @@ class IssuesSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
- return 0.6
+ return 0.5
diff --git a/taiga/front/sitemaps/milestones.py b/taiga/front/sitemaps/milestones.py
index ecaf7c75..f373e692 100644
--- a/taiga/front/sitemaps/milestones.py
+++ b/taiga/front/sitemaps/milestones.py
@@ -18,6 +18,8 @@
from django.db.models import Q
from django.apps import apps
+from datetime import timedelta
+from django.utils import timezone
from taiga.front.templatetags.functions import resolve
@@ -35,6 +37,8 @@ class MilestonesSitemap(Sitemap):
"view_us",
"view_tasks"]))
+ queryset = queryset.exclude(name="")
+
# Exclude blocked projects
queryset = queryset.filter(project__blocked_code__isnull=True)
@@ -50,7 +54,9 @@ class MilestonesSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
- return 0.6
+ return 0.1
diff --git a/taiga/front/sitemaps/projects.py b/taiga/front/sitemaps/projects.py
index aa91bd3b..42e5dbfb 100644
--- a/taiga/front/sitemaps/projects.py
+++ b/taiga/front/sitemaps/projects.py
@@ -20,6 +20,8 @@ from django.db.models import Q
from django.apps import apps
from taiga.front.templatetags.functions import resolve
+from datetime import timedelta
+from django.utils import timezone
from .base import Sitemap
@@ -35,6 +37,9 @@ class ProjectsSitemap(Sitemap):
# Exclude blocked projects
queryset = queryset.filter(blocked_code__isnull=True)
+ queryset = queryset.exclude(description="")
+ queryset = queryset.exclude(description__isnull=True)
+ queryset = queryset.exclude(total_activity__gt=5)
return queryset
@@ -45,38 +50,12 @@ class ProjectsSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "hourly"
-
- def priority(self, obj):
- return 0.9
-
-
-class ProjectEpicsSitemap(Sitemap):
- def items(self):
- project_model = apps.get_model("projects", "Project")
-
- # Get public projects OR private projects if anon user can view them and epics
- queryset = project_model.objects.filter(Q(is_private=False) |
- Q(is_private=True,
- anon_permissions__contains=["view_project",
- "view_epics"]))
-
- # Exclude projects without epics enabled
- queryset = queryset.exclude(is_epics_activated=False)
-
- return queryset
-
- def location(self, obj):
- return resolve("epics", obj.slug)
-
- def lastmod(self, obj):
- return obj.modified_date
-
- def changefreq(self, obj):
+ if (timezone.now() - obj.modified_date) > timedelta(days=30):
+ return "montly"
return "daily"
def priority(self, obj):
- return 0.6
+ return 0.8
class ProjectBacklogsSitemap(Sitemap):
@@ -89,6 +68,10 @@ class ProjectBacklogsSitemap(Sitemap):
anon_permissions__contains=["view_project",
"view_us"]))
+ queryset = queryset.exclude(description="")
+ queryset = queryset.exclude(description__isnull=True)
+ queryset = queryset.exclude(total_activity__gt=5)
+
# Exclude projects without backlog enabled
queryset = queryset.exclude(is_backlog_activated=False)
@@ -101,10 +84,12 @@ class ProjectBacklogsSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
- return 0.6
+ return 0.1
class ProjectKanbansSitemap(Sitemap):
@@ -117,6 +102,10 @@ class ProjectKanbansSitemap(Sitemap):
anon_permissions__contains=["view_project",
"view_us"]))
+ queryset = queryset.exclude(description="")
+ queryset = queryset.exclude(description__isnull=True)
+ queryset = queryset.exclude(total_activity__gt=5)
+
# Exclude projects without kanban enabled
queryset = queryset.exclude(is_kanban_activated=False)
@@ -129,59 +118,9 @@ class ProjectKanbansSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
- return 0.6
-
-
-class ProjectIssuesSitemap(Sitemap):
- def items(self):
- project_model = apps.get_model("projects", "Project")
-
- # Get public projects OR private projects if anon user can view them and issues
- queryset = project_model.objects.filter(Q(is_private=False) |
- Q(is_private=True,
- anon_permissions__contains=["view_project",
- "view_issues"]))
-
- # Exclude projects without issues enabled
- queryset = queryset.exclude(is_issues_activated=False)
-
- return queryset
-
- def location(self, obj):
- return resolve("issues", obj.slug)
-
- def lastmod(self, obj):
- return obj.modified_date
-
- def changefreq(self, obj):
- return "daily"
-
- def priority(self, obj):
- return 0.6
-
-
-class ProjectTeamsSitemap(Sitemap):
- def items(self):
- project_model = apps.get_model("projects", "Project")
-
- # Get public projects OR private projects if anon user can view them
- queryset = project_model.objects.filter(Q(is_private=False) |
- Q(is_private=True,
- anon_permissions__contains=["view_project"]))
-
- return queryset
-
- def location(self, obj):
- return resolve("team", obj.slug)
-
- def lastmod(self, obj):
- return obj.modified_date
-
- def changefreq(self, obj):
- return "daily"
-
- def priority(self, obj):
- return 0.6
+ return 0.1
diff --git a/taiga/front/sitemaps/tasks.py b/taiga/front/sitemaps/tasks.py
index b9314ba5..d7faf410 100644
--- a/taiga/front/sitemaps/tasks.py
+++ b/taiga/front/sitemaps/tasks.py
@@ -18,6 +18,8 @@
from django.db.models import Q
from django.apps import apps
+from datetime import timedelta
+from django.utils import timezone
from taiga.front.templatetags.functions import resolve
@@ -48,7 +50,9 @@ class TasksSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
- return 0.4
+ return 0.5
diff --git a/taiga/front/sitemaps/users.py b/taiga/front/sitemaps/users.py
index d515276f..b2d9a1b1 100644
--- a/taiga/front/sitemaps/users.py
+++ b/taiga/front/sitemaps/users.py
@@ -41,7 +41,7 @@ class UsersSitemap(Sitemap):
return None
def changefreq(self, obj):
- return "daily"
+ return "weekly"
def priority(self, obj):
- return 0.6
+ return 0.5
diff --git a/taiga/front/sitemaps/userstories.py b/taiga/front/sitemaps/userstories.py
index 1a5e36ee..e7a80216 100644
--- a/taiga/front/sitemaps/userstories.py
+++ b/taiga/front/sitemaps/userstories.py
@@ -18,6 +18,8 @@
from django.db.models import Q
from django.apps import apps
+from datetime import timedelta
+from django.utils import timezone
from taiga.front.templatetags.functions import resolve
@@ -48,7 +50,9 @@ class UserStoriesSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
- return 0.6
+ return 0.5
diff --git a/taiga/front/sitemaps/wiki.py b/taiga/front/sitemaps/wiki.py
index e6ccd4a1..790d102a 100644
--- a/taiga/front/sitemaps/wiki.py
+++ b/taiga/front/sitemaps/wiki.py
@@ -18,6 +18,8 @@
from django.db.models import Q
from django.apps import apps
+from datetime import timedelta
+from django.utils import timezone
from taiga.front.templatetags.functions import resolve
@@ -51,7 +53,9 @@ class WikiPagesSitemap(Sitemap):
return obj.modified_date
def changefreq(self, obj):
- return "daily"
+ if (timezone.now() - obj.modified_date) > timedelta(days=90):
+ return "montly"
+ return "weekly"
def priority(self, obj):
return 0.6
From 448589a1ed142f104d1e9bf54de9c78dc01df000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Fri, 6 Oct 2017 08:15:49 +0200
Subject: [PATCH 16/49] Fixed typo on sitemaps
---
taiga/front/sitemaps/epics.py | 2 +-
taiga/front/sitemaps/issues.py | 2 +-
taiga/front/sitemaps/milestones.py | 2 +-
taiga/front/sitemaps/projects.py | 6 +++---
taiga/front/sitemaps/tasks.py | 2 +-
taiga/front/sitemaps/userstories.py | 2 +-
taiga/front/sitemaps/wiki.py | 2 +-
7 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/taiga/front/sitemaps/epics.py b/taiga/front/sitemaps/epics.py
index b7753345..84bd580c 100644
--- a/taiga/front/sitemaps/epics.py
+++ b/taiga/front/sitemaps/epics.py
@@ -54,7 +54,7 @@ class EpicsSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
diff --git a/taiga/front/sitemaps/issues.py b/taiga/front/sitemaps/issues.py
index 34a2f482..c469bf37 100644
--- a/taiga/front/sitemaps/issues.py
+++ b/taiga/front/sitemaps/issues.py
@@ -51,7 +51,7 @@ class IssuesSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
diff --git a/taiga/front/sitemaps/milestones.py b/taiga/front/sitemaps/milestones.py
index f373e692..add7bff9 100644
--- a/taiga/front/sitemaps/milestones.py
+++ b/taiga/front/sitemaps/milestones.py
@@ -55,7 +55,7 @@ class MilestonesSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
diff --git a/taiga/front/sitemaps/projects.py b/taiga/front/sitemaps/projects.py
index 42e5dbfb..e3fb4ce3 100644
--- a/taiga/front/sitemaps/projects.py
+++ b/taiga/front/sitemaps/projects.py
@@ -51,7 +51,7 @@ class ProjectsSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=30):
- return "montly"
+ return "monthly"
return "daily"
def priority(self, obj):
@@ -85,7 +85,7 @@ class ProjectBacklogsSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
@@ -119,7 +119,7 @@ class ProjectKanbansSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
diff --git a/taiga/front/sitemaps/tasks.py b/taiga/front/sitemaps/tasks.py
index d7faf410..c398b71e 100644
--- a/taiga/front/sitemaps/tasks.py
+++ b/taiga/front/sitemaps/tasks.py
@@ -51,7 +51,7 @@ class TasksSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
diff --git a/taiga/front/sitemaps/userstories.py b/taiga/front/sitemaps/userstories.py
index e7a80216..c5e3663b 100644
--- a/taiga/front/sitemaps/userstories.py
+++ b/taiga/front/sitemaps/userstories.py
@@ -51,7 +51,7 @@ class UserStoriesSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
diff --git a/taiga/front/sitemaps/wiki.py b/taiga/front/sitemaps/wiki.py
index 790d102a..fd29241b 100644
--- a/taiga/front/sitemaps/wiki.py
+++ b/taiga/front/sitemaps/wiki.py
@@ -54,7 +54,7 @@ class WikiPagesSitemap(Sitemap):
def changefreq(self, obj):
if (timezone.now() - obj.modified_date) > timedelta(days=90):
- return "montly"
+ return "monthly"
return "weekly"
def priority(self, obj):
From 3976ceef4fc163ee2ab8467f402d02e7e21183c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?=
Date: Fri, 6 Oct 2017 11:43:45 +0200
Subject: [PATCH 17/49] [i18n] Update locales
---
taiga/locale/ca/LC_MESSAGES/django.po | 206 +++----
taiga/locale/de/LC_MESSAGES/django.po | 232 ++++----
taiga/locale/en/LC_MESSAGES/django.po | 202 +++----
taiga/locale/es/LC_MESSAGES/django.po | 211 ++++----
taiga/locale/fi/LC_MESSAGES/django.po | 206 +++----
taiga/locale/fr/LC_MESSAGES/django.po | 602 ++++++++++++++-------
taiga/locale/it/LC_MESSAGES/django.po | 426 +++++++++------
taiga/locale/ja/LC_MESSAGES/django.po | 213 ++++----
taiga/locale/ko/LC_MESSAGES/django.po | 295 ++++++----
taiga/locale/nb/LC_MESSAGES/django.po | 206 +++----
taiga/locale/nl/LC_MESSAGES/django.po | 206 +++----
taiga/locale/pl/LC_MESSAGES/django.po | 288 +++++-----
taiga/locale/pt_BR/LC_MESSAGES/django.po | 571 +++++++++++--------
taiga/locale/ru/LC_MESSAGES/django.po | 211 ++++----
taiga/locale/sv/LC_MESSAGES/django.po | 215 ++++----
taiga/locale/tr/LC_MESSAGES/django.po | 206 +++----
taiga/locale/zh-Hans/LC_MESSAGES/django.po | 243 ++++-----
taiga/locale/zh-Hant/LC_MESSAGES/django.po | 268 ++++-----
18 files changed, 2804 insertions(+), 2203 deletions(-)
diff --git a/taiga/locale/ca/LC_MESSAGES/django.po b/taiga/locale/ca/LC_MESSAGES/django.po
index df4a1ab4..cf339047 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Catalan (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -192,8 +192,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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 ""
@@ -481,68 +481,68 @@ msgstr "Es necessita arxiu dump."
msgid "Invalid dump format"
msgstr "Format d'arxiu dump invàlid"
-#: 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 ""
@@ -759,11 +759,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "Nom"
@@ -781,7 +781,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 "Descripció"
@@ -817,7 +817,7 @@ msgstr "Comentari"
#: 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
@@ -891,7 +891,7 @@ msgstr "El payload no és un arxiu json vàlid"
#: 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "El projecte no existeix"
@@ -944,7 +944,7 @@ 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 ""
@@ -961,7 +961,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 ""
@@ -981,7 +981,7 @@ msgstr "L'estatus no existeix."
#: 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"
@@ -1017,16 +1017,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 ""
@@ -1463,11 +1467,11 @@ 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
@@ -1487,7 +1491,7 @@ msgstr "Id d'objecte"
#: 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"
@@ -1512,10 +1516,10 @@ 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/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:309
msgid "order"
msgstr "Ordre"
@@ -1673,10 +1677,10 @@ msgstr ""
msgid "subject"
msgstr "tema"
-#: 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/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:142
msgid "color"
msgstr "color"
@@ -1792,7 +1796,7 @@ msgid "Unassigned"
msgstr "Sense assignar"
#: 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 "-borrat-"
@@ -1825,12 +1829,12 @@ msgid "removed:"
msgstr "borrat:"
#: 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 "Desde:"
#: 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:"
@@ -1894,9 +1898,9 @@ msgid "Likes"
msgstr "Fans"
#: 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/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:305
msgid "slug"
msgstr "slug"
@@ -1909,9 +1913,9 @@ msgstr "Data estimada d'inici"
msgid "estimated finish date"
msgstr "Data estimada de finalització"
-#: 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à tancat"
@@ -1968,7 +1972,7 @@ msgstr "token"
msgid "invitation extra text"
msgstr "text extra d'invitació"
-#: taiga/projects/models.py:92 taiga/projects/models.py:741
+#: taiga/projects/models.py:92 taiga/projects/models.py:744
msgid "user order"
msgstr ""
@@ -2024,35 +2028,35 @@ msgstr "total de fites"
msgid "total story points"
msgstr "total de punts d'història"
-#: 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 "activa panell de 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 "activa panell de 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 "activa panell de 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 "activa panell d'incidències"
-#: 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 videoconferè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 ""
@@ -2076,11 +2080,11 @@ msgstr "permisos d'usuaris"
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 ""
@@ -2125,80 +2129,80 @@ msgstr ""
msgid "activity last year"
msgstr ""
-#: taiga/projects/models.py:507
+#: taiga/projects/models.py:510
msgid "modules config"
msgstr "configuració de mòdules"
-#: taiga/projects/models.py:559
+#: taiga/projects/models.py:562
msgid "is archived"
msgstr "està arxivat"
-#: taiga/projects/models.py:563
+#: taiga/projects/models.py:566
msgid "work in progress limit"
msgstr "limit de treball en progrés"
-#: 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 d'amo per defecte"
-#: taiga/projects/models.py:772
+#: taiga/projects/models.py:775
msgid "default options"
msgstr "opcions per defecte"
-#: 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 d'històries d'usuari"
-#: 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 "punts"
-#: taiga/projects/models.py:776
+#: taiga/projects/models.py:779
msgid "task statuses"
msgstr "status de tasques"
-#: taiga/projects/models.py:777
+#: taiga/projects/models.py:780
msgid "issue statuses"
msgstr "status d'incidències"
-#: taiga/projects/models.py:778
+#: taiga/projects/models.py:781
msgid "issue types"
msgstr "tipus d'incidències"
-#: taiga/projects/models.py:779
+#: taiga/projects/models.py:782
msgid "priorities"
msgstr "prioritats"
-#: taiga/projects/models.py:780
+#: taiga/projects/models.py:783
msgid "severities"
msgstr "severitats"
-#: taiga/projects/models.py:781
+#: taiga/projects/models.py:784
msgid "roles"
msgstr "rols"
-#: 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 ""
@@ -2236,7 +2240,7 @@ msgstr ""
msgid "Notify exists for specified user and project"
msgstr ""
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr ""
@@ -3576,25 +3580,25 @@ msgstr ""
msgid "Stakeholder"
msgstr ""
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
diff --git a/taiga/locale/de/LC_MESSAGES/django.po b/taiga/locale/de/LC_MESSAGES/django.po
index b3565d1d..fecbb6a9 100644
--- a/taiga/locale/de/LC_MESSAGES/django.po
+++ b/taiga/locale/de/LC_MESSAGES/django.po
@@ -10,6 +10,7 @@
# Hans Raaf, 2015
# Hans Raaf, 2015
# Henning Matthaei, 2015
+# Philipp Schartlmüller , 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: German (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/de/)\n"
"MIME-Version: 1.0\n"
@@ -226,8 +227,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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"
@@ -524,68 +525,68 @@ msgstr "Exportdatei erforderlich"
msgid "Invalid dump format"
msgstr "Ungültiges Exportdatei 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 "Fehler beim Importieren der Projektdaten"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "Fehler beim Importieren der Rollen"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "Fehler beim Importieren der Mitgliedschaften"
-#: taiga/export_import/services/store.py:759
+#: taiga/export_import/services/store.py:763
msgid "error importing lists of project attributes"
msgstr "Fehler beim Importieren der Listen von Projektattributen"
-#: taiga/export_import/services/store.py:763
+#: taiga/export_import/services/store.py:767
msgid "error importing default project attributes values"
msgstr "Fehler beim Importieren der vorgegebenen Projekt Attributwerte "
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "Fehler beim Importieren der Kundenattribute"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "Fehler beim Import der Sprints"
-#: taiga/export_import/services/store.py:782
+#: taiga/export_import/services/store.py:786
msgid "error importing issues"
msgstr "Fehler beim Importieren der Tickets"
-#: taiga/export_import/services/store.py:786
+#: taiga/export_import/services/store.py:790
msgid "error importing user stories"
msgstr "Fehler beim Importieren der User-Stories"
-#: taiga/export_import/services/store.py:790
+#: taiga/export_import/services/store.py:794
msgid "error importing epics"
msgstr "Fehler beim Importieren der Epics"
-#: taiga/export_import/services/store.py:794
+#: taiga/export_import/services/store.py:798
msgid "error importing tasks"
msgstr "Fehler beim Importieren der Aufgaben"
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "Fehler beim Importieren von Wiki Seiten"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "Fehler beim Importieren von Wiki Links"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "Fehler beim Importieren der Schlagworte"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "Fehler beim Importieren der Chroniken"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
msgstr "unerwarteter Fehler beim Projekt-Import"
@@ -910,11 +911,11 @@ msgstr "Authentifizierung erforderlich"
#: 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "Name"
@@ -932,7 +933,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 "Beschreibung"
@@ -968,7 +969,7 @@ msgstr "Kommentar"
#: 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,7 +1043,7 @@ msgstr "Die Nutzlast ist kein gültiges 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Das Projekt existiert nicht"
@@ -1066,6 +1067,9 @@ msgid ""
"\n"
"> {comment_message}"
msgstr ""
+"Kommentar von {platform}:\n"
+"\n"
+"> {comment_message}"
#: taiga/hooks/event_hooks.py:84
msgid "Invalid issue comment information"
@@ -1081,7 +1085,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 +1093,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 +1116,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 +1136,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 +1172,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 +1230,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 +1264,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 +1298,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 +1332,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 +1531,7 @@ msgstr ""
#: taiga/projects/admin.py:125
msgid "Activity"
-msgstr ""
+msgstr "Aktivität"
#: taiga/projects/admin.py:130
msgid "Fans"
@@ -1616,11 +1624,11 @@ 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
@@ -1640,7 +1648,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,10 +1673,10 @@ 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/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:309
msgid "order"
msgstr "Reihenfolge"
@@ -1826,10 +1834,10 @@ 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/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:142
msgid "color"
msgstr "Farbe"
@@ -1945,7 +1953,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 +1986,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:"
@@ -2051,9 +2059,9 @@ 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/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:305
msgid "slug"
msgstr "Slug"
@@ -2066,9 +2074,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"
@@ -2125,7 +2133,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 +2189,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 +2241,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 +2290,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 ""
@@ -2393,7 +2401,7 @@ msgstr "Beobachtet"
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:434
msgid "Invalid value for notify level"
msgstr "Ungültiger Wert für Benachrichtigungslevel"
@@ -4068,29 +4076,29 @@ msgstr "Projekteigentümer "
msgid "Stakeholder"
msgstr "Stakeholder"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Erstelle die User-Story #{ref} - {subject}"
diff --git a/taiga/locale/en/LC_MESSAGES/django.po b/taiga/locale/en/LC_MESSAGES/django.po
index 52aa6596..65e9bdce 100644
--- a/taiga/locale/en/LC_MESSAGES/django.po
+++ b/taiga/locale/en/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: taiga-back\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-03-08 16:30+0100\n"
+"POT-Creation-Date: 2017-10-06 11:42+0200\n"
"PO-Revision-Date: 2015-03-25 20:09+0100\n"
"Last-Translator: Taiga Dev Team \n"
"Language-Team: Taiga Dev Team \n"
@@ -184,8 +184,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 taiga/webhooks/api.py:71
msgid "Blocked element"
msgstr ""
@@ -238,19 +238,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 ""
@@ -262,7 +262,7 @@ msgstr ""
msgid "Permission denied"
msgstr ""
-#: taiga/base/api/views.py:492
+#: taiga/base/api/views.py:491
msgid "Server application error"
msgstr ""
@@ -470,68 +470,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 ""
@@ -748,11 +748,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr ""
@@ -770,7 +770,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 ""
@@ -806,7 +806,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
@@ -864,7 +864,7 @@ msgstr ""
#: 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr ""
@@ -917,7 +917,7 @@ 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 ""
@@ -934,7 +934,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 ""
@@ -954,7 +954,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"
@@ -990,16 +990,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 ""
@@ -1436,11 +1440,11 @@ 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
@@ -1460,7 +1464,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"
@@ -1485,10 +1489,10 @@ 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/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:309
msgid "order"
msgstr ""
@@ -1646,10 +1650,10 @@ 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/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:142
msgid "color"
msgstr ""
@@ -1765,7 +1769,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 ""
@@ -1798,12 +1802,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 ""
@@ -1867,9 +1871,9 @@ 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/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:305
msgid "slug"
msgstr ""
@@ -1882,9 +1886,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 ""
@@ -1941,7 +1945,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 ""
@@ -1997,35 +2001,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 ""
@@ -2049,11 +2053,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 ""
@@ -2098,80 +2102,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 ""
@@ -2209,7 +2213,7 @@ msgstr ""
msgid "Notify exists for specified user and project"
msgstr ""
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr ""
@@ -3525,25 +3529,25 @@ msgstr ""
msgid "Stakeholder"
msgstr ""
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
diff --git a/taiga/locale/es/LC_MESSAGES/django.po b/taiga/locale/es/LC_MESSAGES/django.po
index dcffe647..df5be7b4 100644
--- a/taiga/locale/es/LC_MESSAGES/django.po
+++ b/taiga/locale/es/LC_MESSAGES/django.po
@@ -19,8 +19,8 @@ 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"
+"POT-Creation-Date: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
"Last-Translator: David Barragán \n"
"Language-Team: Spanish (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/es/)\n"
@@ -212,8 +212,8 @@ msgstr "Adjunta una imagen válida. El fichero no es una imagen o está dañada.
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 taiga/webhooks/api.py:71
msgid "Blocked element"
msgstr "Elemento bloqueado"
@@ -267,21 +267,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 +293,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."
@@ -531,68 +531,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,11 +912,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "nombre"
@@ -934,7 +934,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"
@@ -970,7 +970,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
@@ -1043,7 +1043,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "El proyecto no existe"
@@ -1107,14 +1107,10 @@ 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"
-"\n"
-" - Estado: **{src_status}** → **{dst_status}**"
#: taiga/hooks/event_hooks.py:161
#, python-brace-format
@@ -1131,12 +1127,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 ""
-"Esta {type_name} ha sido mencionada por {user_text} en el [commit de "
-"{platform}]({commit_url} \"Ver commit '{commit_id} - {commit_message}'\") "
-"\"{commit_message}\""
#: taiga/hooks/event_hooks.py:184
#, python-brace-format
@@ -1156,7 +1149,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 +1185,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"
@@ -1715,11 +1712,11 @@ 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
@@ -1739,7 +1736,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,10 +1761,10 @@ 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/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:309
msgid "order"
msgstr "orden"
@@ -1949,10 +1946,10 @@ 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/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:142
msgid "color"
msgstr "color"
@@ -2068,7 +2065,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 +2098,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:"
@@ -2170,9 +2167,9 @@ 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/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:305
msgid "slug"
msgstr "slug"
@@ -2185,9 +2182,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"
@@ -2246,7 +2243,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 +2299,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 +2351,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 +2400,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"
@@ -2515,7 +2512,7 @@ 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:434
msgid "Invalid value for notify level"
msgstr "Valor inválido para el nivel de notificación"
@@ -4259,27 +4256,27 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Stakeholder"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, 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:234
#, 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:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Generada la historia de usuario #{ref} - {subject}"
diff --git a/taiga/locale/fi/LC_MESSAGES/django.po b/taiga/locale/fi/LC_MESSAGES/django.po
index 4a26439a..ad977eba 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Finnish (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/fi/)\n"
"MIME-Version: 1.0\n"
@@ -195,8 +195,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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"
@@ -490,68 +490,68 @@ msgstr "Tarvitaan tiedosto"
msgid "Invalid dump format"
msgstr "Virheellinen tiedostomuoto"
-#: 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 "virhe projektidatan tuonnissa"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "virhe roolien tuonnissa"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "virhe jäsenyyksien tuonnissa"
-#: taiga/export_import/services/store.py:759
+#: taiga/export_import/services/store.py:763
msgid "error importing lists of project attributes"
msgstr "virhe atribuuttilistan tuonnissa"
-#: taiga/export_import/services/store.py:763
+#: taiga/export_import/services/store.py:767
msgid "error importing default project attributes values"
msgstr "virhe oletusarvojen tuonnissa"
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "virhe omien arvojen tuonnissa"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "virhe kierroksien tuonnissa"
-#: taiga/export_import/services/store.py:782
+#: taiga/export_import/services/store.py:786
msgid "error importing issues"
msgstr "virhe pyyntöjen tuonnissa"
-#: taiga/export_import/services/store.py:786
+#: taiga/export_import/services/store.py:790
msgid "error importing user stories"
msgstr "virhe käyttäjätarinoiden tuonnissa"
-#: 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 "virhe tehtävien tuonnissa"
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "virhe wiki-sivujen tuonnissa"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "virhe viki-linkkien tuonnissa"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "virhe avainsanojen sisäänlukemisessa"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "virhe aikajanojen tuonnissa"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
msgstr "odottamaton virhe projektia tuotaessa"
@@ -853,11 +853,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "nimi"
@@ -875,7 +875,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 "kuvaus"
@@ -911,7 +911,7 @@ msgstr "kommentti"
#: 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
@@ -986,7 +986,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Projektia ei löydy"
@@ -1039,7 +1039,7 @@ 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 ""
@@ -1056,7 +1056,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 ""
@@ -1076,7 +1076,7 @@ msgstr "Tilaa ei löydy"
#: 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"
@@ -1112,16 +1112,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 ""
@@ -1558,11 +1562,11 @@ msgstr "Projekti ID ei vastaa kohdetta ja projektia"
#: 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
@@ -1582,7 +1586,7 @@ msgstr "objekti 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"
@@ -1607,10 +1611,10 @@ 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/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:309
msgid "order"
msgstr "order"
@@ -1768,10 +1772,10 @@ msgstr ""
msgid "subject"
msgstr "aihe"
-#: 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/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:142
msgid "color"
msgstr "väri"
@@ -1887,7 +1891,7 @@ msgid "Unassigned"
msgstr "Tekijä puuttuu"
#: 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 "-poistettu-"
@@ -1920,12 +1924,12 @@ msgid "removed:"
msgstr "poistettu:"
#: 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 "Keneltä:"
#: 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 "Kenelle:"
@@ -1989,9 +1993,9 @@ 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/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:305
msgid "slug"
msgstr "hukka-aika"
@@ -2004,9 +2008,9 @@ msgstr "arvioitu alkupvm"
msgid "estimated finish date"
msgstr "arvioitu loppupvm"
-#: 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 "on suljettu"
@@ -2063,7 +2067,7 @@ msgstr "tunniste"
msgid "invitation extra text"
msgstr "kutsun lisäteksti"
-#: taiga/projects/models.py:92 taiga/projects/models.py:741
+#: taiga/projects/models.py:92 taiga/projects/models.py:744
msgid "user order"
msgstr "käyttäjäjärjestys"
@@ -2119,35 +2123,35 @@ msgstr "virstapyväitä yhteensä"
msgid "total story points"
msgstr "käyttäjätarinan yhteispisteet"
-#: 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 "aktiivinen odottavien paneeli"
-#: 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 "aktiivinen kanban-paneeli"
-#: 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 "aktiivinen wiki-paneeli"
-#: 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 "aktiivinen pyyntöpaneeli"
-#: taiga/projects/models.py:185 taiga/projects/models.py:768
+#: taiga/projects/models.py:185 taiga/projects/models.py:771
msgid "videoconference system"
msgstr "videokokous järjestelmä"
-#: 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 ""
@@ -2171,11 +2175,11 @@ msgstr "käyttäjän oikeudet"
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 ""
@@ -2220,80 +2224,80 @@ msgstr ""
msgid "activity last year"
msgstr ""
-#: taiga/projects/models.py:507
+#: taiga/projects/models.py:510
msgid "modules config"
msgstr "moduulien asetukset"
-#: taiga/projects/models.py:559
+#: taiga/projects/models.py:562
msgid "is archived"
msgstr "on arkistoitu"
-#: taiga/projects/models.py:563
+#: taiga/projects/models.py:566
msgid "work in progress limit"
msgstr "työn alla olevien max"
-#: taiga/projects/models.py:591 taiga/userstorage/models.py:33
+#: taiga/projects/models.py:594 taiga/userstorage/models.py:33
msgid "value"
msgstr "arvo"
-#: taiga/projects/models.py:749
+#: taiga/projects/models.py:752
msgid "default owner's role"
msgstr "oletus omistajan rooli"
-#: taiga/projects/models.py:772
+#: taiga/projects/models.py:775
msgid "default options"
msgstr "oletus optiot"
-#: 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 "kt tilat"
-#: 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 "pisteet"
-#: taiga/projects/models.py:776
+#: taiga/projects/models.py:779
msgid "task statuses"
msgstr "tehtävän tilat"
-#: taiga/projects/models.py:777
+#: taiga/projects/models.py:780
msgid "issue statuses"
msgstr "pyyntöjen tilat"
-#: taiga/projects/models.py:778
+#: taiga/projects/models.py:781
msgid "issue types"
msgstr "pyyntötyypit"
-#: taiga/projects/models.py:779
+#: taiga/projects/models.py:782
msgid "priorities"
msgstr "kiireellisyydet"
-#: taiga/projects/models.py:780
+#: taiga/projects/models.py:783
msgid "severities"
msgstr "vakavuudet"
-#: taiga/projects/models.py:781
+#: taiga/projects/models.py:784
msgid "roles"
msgstr "roolit"
-#: 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 ""
@@ -2331,7 +2335,7 @@ msgstr ""
msgid "Notify exists for specified user and project"
msgstr "Ilmoita olemassaolosta määritellyille käyttäjille ja projektille"
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr ""
@@ -3942,25 +3946,25 @@ msgstr "Tuoteomistaja"
msgid "Stakeholder"
msgstr "Sidosryhmä"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
diff --git a/taiga/locale/fr/LC_MESSAGES/django.po b/taiga/locale/fr/LC_MESSAGES/django.po
index fb4a2b1a..ee9461ed 100644
--- a/taiga/locale/fr/LC_MESSAGES/django.po
+++ b/taiga/locale/fr/LC_MESSAGES/django.po
@@ -5,13 +5,17 @@
# Translators:
# Abdelouahad Megder , 2016
# Alain Poirier , 2015
+# Charles Bonnet , 2017
# David Barragán , 2015
# Djyp Forest Fortin , 2015
+# Eric Longuemare , 2017
# Florent B. , 2015
# Gary , 2017
# Gautier Ferandelle , 2016
+# jerome marchini , 2017
# Laurent Cabaret , 2016
# Louis-Michel Couture , 2015
+# madmarsu , 2017
# Matthieu Durocher , 2015
# naekos , 2015
# Nicolas Minelle , 2016
@@ -25,9 +29,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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: French (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -66,11 +70,11 @@ 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
@@ -221,8 +225,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 taiga/webhooks/api.py:71
msgid "Blocked element"
msgstr "Élément bloqué"
@@ -277,21 +281,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 +307,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"
@@ -517,81 +521,80 @@ msgstr "Veuillez sélectionner au moins un rôle."
#: taiga/export_import/api.py:323
msgid "Needed dump file"
-msgstr "Fichier de dump obligatoire"
+msgstr "Fichier d'export nécessaire"
#: taiga/export_import/api.py:333
msgid "Invalid dump format"
-msgstr "Format de dump invalide"
+msgstr "Format d'export non valide"
-#: 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 "Erreur lors de l'importation de données"
+msgstr "Erreur lors de l'import de données"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "Erreur à l'importation des rôles"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "Erreur à l'importation des groupes d'utilisateurs"
-#: taiga/export_import/services/store.py:759
-msgid "error importing lists of project attributes"
-msgstr "erreur lors de l'importation des listes des attributs de projet"
-
#: taiga/export_import/services/store.py:763
-msgid "error importing default project attributes values"
-msgstr ""
-"erreur lors de l'importation des valeurs par défaut des attributs de projet"
+msgid "error importing lists of project attributes"
+msgstr "Erreur lors de l'import des listes des attributs de projet"
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:767
+msgid "error importing default project attributes values"
+msgstr "erreur lors de l'import des valeurs par défaut des attributs de projet"
+
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "Erreur à l'importation des champs personnalisés"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "Erreur lors de l'importation des sprints."
-#: taiga/export_import/services/store.py:782
-msgid "error importing issues"
-msgstr "erreur à l'importation des problèmes"
-
#: taiga/export_import/services/store.py:786
-msgid "error importing user stories"
-msgstr "erreur à l'importation des histoires utilisateur"
+msgid "error importing issues"
+msgstr "Erreur à l'importation des problèmes"
#: taiga/export_import/services/store.py:790
+msgid "error importing user stories"
+msgstr "Erreur à l'importation des récits utilisateur"
+
+#: taiga/export_import/services/store.py:794
msgid "error importing epics"
msgstr "Erreur d'importation des épopées"
-#: taiga/export_import/services/store.py:794
+#: taiga/export_import/services/store.py:798
msgid "error importing tasks"
msgstr "Erreur lors de l'importation des tâches."
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "Erreur à l'importation des pages Wiki"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "Erreur à l'importation des liens Wiki"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "erreur lors de l'importation des mots-clés"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "erreur lors de l'import des timelines"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
-msgstr "Erreur imprévue à l'importation du projet"
+msgstr "Erreur imprévue à l'import du projet"
#: taiga/export_import/tasks.py:62 taiga/export_import/tasks.py:63
msgid "Error generating project dump"
-msgstr "Erreur dans la génération du dump du projet"
+msgstr "Erreur dans la génération de l'export du projet"
#: taiga/export_import/tasks.py:91
#, python-brace-format
@@ -615,11 +618,11 @@ msgstr ""
#: 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 +644,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 +673,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 +686,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 +824,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 +849,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,11 +890,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "nom"
@@ -909,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 "description"
@@ -945,7 +948,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
@@ -1018,7 +1021,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Le projet n'existe pas"
@@ -1042,6 +1045,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 +1059,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 +1079,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 +1091,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 +1108,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 +1121,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
@@ -1194,11 +1211,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
@@ -1232,7 +1259,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 +1293,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 +1327,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 +1362,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 +1394,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 +1410,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 +1470,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 +1544,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 +1553,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,7 +1562,7 @@ 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
msgid "Incomplete arguments"
@@ -1583,7 +1610,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,11 +1619,11 @@ 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
@@ -1616,7 +1643,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,15 +1663,15 @@ 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/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:309
msgid "order"
msgstr "ordre"
@@ -1679,7 +1706,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 +1717,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 +1734,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 +1748,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 +1761,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 +1786,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 +1812,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 +1829,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,17 +1843,17 @@ 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/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:142
msgid "color"
msgstr "couleur"
@@ -1825,7 +1873,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 +1882,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 +1890,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 +1969,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 +2002,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 :"
@@ -2023,9 +2071,9 @@ 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/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:305
msgid "slug"
msgstr "slug"
@@ -2038,9 +2086,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 +2102,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 +2110,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 +2127,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"
@@ -2097,7 +2145,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 +2155,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 +2199,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 +2253,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 +2302,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 +2397,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"
@@ -2365,7 +2413,7 @@ msgstr "Suivre"
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:434
msgid "Invalid value for notify level"
msgstr "Valeur non valide pour le niveau de notification"
@@ -2390,6 +2438,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 +2449,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 +2728,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 +2745,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 +2772,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 +2793,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 +2821,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 +2840,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 +2869,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 +2886,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 +2913,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 +2934,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 +2963,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 +2982,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 +3132,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 +3202,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,19 +3215,19 @@ 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
msgid "You don't have permissions to set this sprint to this task."
@@ -3115,33 +3255,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 +3348,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 +3366,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 +3424,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 +3448,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 +3479,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 +3515,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 +3527,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 +3568,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 +3595,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 +3607,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 +3693,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 +3704,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 +3957,27 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Participant"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
@@ -3811,7 +3996,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 +4008,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 +4019,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 +4035,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"
@@ -3884,7 +4072,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"
@@ -4298,7 +4486,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..d66cbc81 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Italian (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/it/)\n"
"MIME-Version: 1.0\n"
@@ -205,8 +206,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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"
@@ -521,69 +522,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,11 +965,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "nome"
@@ -986,7 +987,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"
@@ -1022,7 +1023,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
@@ -1101,7 +1102,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Il progetto non esiste"
@@ -1164,14 +1165,10 @@ 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"
-"\n"
-"- Status: **{src_status}** → **{dst_status}**"
#: taiga/hooks/event_hooks.py:161
#, python-brace-format
@@ -1188,12 +1185,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 ""
-"Questo {type_name} e' stato citato da {user_text} nel [{platform} commit]"
-"({commit_url} \"Vedi il commit commit '{commit_id} - {commit_message}'\") "
-"\"{commit_message}\""
#: taiga/hooks/event_hooks.py:184
#, python-brace-format
@@ -1212,63 +1206,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 "project_type {} non valido"
+
+#: 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 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 +1280,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 +1303,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 +1332,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 +1355,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 +1384,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 +1407,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 +1436,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 +1459,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 +1677,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
@@ -1696,11 +1766,11 @@ 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
@@ -1720,7 +1790,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,15 +1810,15 @@ 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/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:309
msgid "order"
msgstr "ordine"
@@ -1794,6 +1864,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 +1881,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 +1895,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 +1908,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 +1922,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 +1935,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,10 +1998,10 @@ 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/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:142
msgid "color"
msgstr "colore"
@@ -2025,7 +2117,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 +2150,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:"
@@ -2127,9 +2219,9 @@ 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/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:305
msgid "slug"
msgstr "lumaca"
@@ -2142,9 +2234,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 +2263,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 +2276,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"
@@ -2202,7 +2294,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 +2350,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 +2402,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 +2451,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"
@@ -2470,7 +2562,7 @@ msgstr "Osservato"
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:434
msgid "Invalid value for notify level"
msgstr "Valore non valido per il livello di notifica"
@@ -2577,6 +2669,12 @@ msgid ""
" The Taiga Team
\n"
" "
msgstr ""
+"\n"
+"Epico cancellato
\n"
+"Salve %(user)s,
%(changer)s ha cancellato un epico di %(project)s"
+"p>\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 +3602,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
@@ -4371,26 +4469,26 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Stakeholder"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, 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:234
#, 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:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Stiamo generando la storia utente #{ref} - {subject}"
@@ -4428,24 +4526,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 +4556,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 +4564,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 +4646,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 +4674,7 @@ msgstr "Permessi"
#: taiga/users/admin.py:123
msgid "Restrictions"
-msgstr ""
+msgstr "Restrizioni"
#: taiga/users/admin.py:125
msgid "Important dates"
@@ -4696,19 +4800,19 @@ msgstr "nuovo indirizzo e-mail"
#: taiga/users/models.py:169
msgid "max number of owned private projects"
-msgstr ""
+msgstr "numero massimo di progetti privati di tua proprietà"
#: taiga/users/models.py:172
msgid "max number of owned public projects"
-msgstr ""
+msgstr "numero massimo di progetti pubblici di tua proprietà"
#: taiga/users/models.py:175
msgid "max number of memberships for each owned private project"
-msgstr ""
+msgstr "numero massimo di membri per ogni progetto privato di tua proprietà"
#: taiga/users/models.py:179
msgid "max number of memberships for each owned public project"
-msgstr ""
+msgstr "numero massimo di membri per ogni progetto pubblico di tua proprietà"
#: taiga/users/models.py:307
msgid "permissions"
diff --git a/taiga/locale/ja/LC_MESSAGES/django.po b/taiga/locale/ja/LC_MESSAGES/django.po
index 5e26385d..e668abd2 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Japanese (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -203,8 +203,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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 "サーバーアプリケーションのエラー"
@@ -519,68 +519,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,11 +900,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "名前"
@@ -922,7 +922,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 "説明"
@@ -958,7 +958,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
@@ -1033,7 +1033,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "プロジェクトは存在していません。"
@@ -1097,14 +1097,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 +1117,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 +1139,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 +1175,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 ""
@@ -1630,11 +1627,11 @@ 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
@@ -1654,7 +1651,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,10 +1676,10 @@ 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/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:309
msgid "order"
msgstr "並べ替え"
@@ -1840,10 +1837,10 @@ 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/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:142
msgid "color"
msgstr "色"
@@ -1959,7 +1956,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 +1989,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 "宛先"
@@ -2061,9 +2058,9 @@ 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/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:305
msgid "slug"
msgstr "スラグ"
@@ -2076,9 +2073,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 ""
@@ -2135,7 +2132,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 +2188,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 +2240,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 +2289,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 ""
@@ -2403,7 +2400,7 @@ msgstr ""
msgid "Notify exists for specified user and project"
msgstr ""
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr ""
@@ -3719,25 +3716,25 @@ msgstr "プロダクトオーナー"
msgid "Stakeholder"
msgstr ""
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
diff --git a/taiga/locale/ko/LC_MESSAGES/django.po b/taiga/locale/ko/LC_MESSAGES/django.po
index 360d24ff..ce8fcd05 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Korean (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/ko/)\n"
"MIME-Version: 1.0\n"
@@ -201,8 +203,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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 "서버 애플리케이션 에러"
@@ -522,68 +524,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,11 +903,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "이름"
@@ -923,7 +925,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 "설명"
@@ -959,7 +961,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
@@ -1033,7 +1035,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "프로젝트가 존재하지 않습니다."
@@ -1096,14 +1098,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 +1118,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 +1138,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 +1174,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 +1212,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 +1235,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 +1265,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 +1288,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 +1317,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 +1340,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 +1369,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 +1392,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
@@ -1626,11 +1699,11 @@ 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
@@ -1650,7 +1723,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,10 +1748,10 @@ 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/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:309
msgid "order"
msgstr "순서"
@@ -1856,10 +1929,10 @@ 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/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:142
msgid "color"
msgstr "색"
@@ -1975,7 +2048,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 +2081,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 "받는이:"
@@ -2077,9 +2150,9 @@ 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/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:305
msgid "slug"
msgstr "슬러그"
@@ -2092,9 +2165,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 "완료됨"
@@ -2151,7 +2224,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 +2280,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 +2332,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 +2381,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 "이슈 사용자 정의 속성"
@@ -2419,7 +2492,7 @@ msgstr "구독됨"
msgid "Notify exists for specified user and project"
msgstr "지정된 사용자 및 프로젝트에 대한 알림이 있습니다."
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr "알림 수준의 값이 유효하지 않습니다."
@@ -4178,25 +4251,25 @@ msgstr "제품 소유자"
msgid "Stakeholder"
msgstr "이해관계자"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr "'{role_id}' 역할 아이디는 유효하지 않습니다."
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr "'{points_id}' 포인트 아이디는 유효하지 않습니다."
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "유저 스토리 생성 #{ref} - {subject}"
diff --git a/taiga/locale/nb/LC_MESSAGES/django.po b/taiga/locale/nb/LC_MESSAGES/django.po
index 02037b90..794f2890 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/taiga-agile-llc/"
"taiga-back/language/nb/)\n"
"MIME-Version: 1.0\n"
@@ -194,8 +194,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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"
@@ -491,68 +491,68 @@ msgstr "Har behov for dump-fil"
msgid "Invalid dump format"
msgstr "Ugyldig fil-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 "feil under import av prosjektdata"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "feil under import av roller"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "feil under import av medlemskap"
-#: taiga/export_import/services/store.py:759
+#: taiga/export_import/services/store.py:763
msgid "error importing lists of project attributes"
msgstr "feil under import av prosjektegenskaper"
-#: taiga/export_import/services/store.py:763
+#: taiga/export_import/services/store.py:767
msgid "error importing default project attributes values"
msgstr "feil under import av standard prosjektegenskapverdier"
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "feil under import av egendefinerte egenskaper"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "feil under import av sprinter"
-#: taiga/export_import/services/store.py:782
+#: taiga/export_import/services/store.py:786
msgid "error importing issues"
msgstr "feil ved import av hendelser"
-#: taiga/export_import/services/store.py:786
+#: taiga/export_import/services/store.py:790
msgid "error importing user stories"
msgstr "feil ved import av brukerhistorier"
-#: 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 "feil ved import av oppgaver"
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "feil ved import av wiki-sider"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "feil ved import av wiki-lenker"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "feil ved import av etiketter"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "feil ved import av tidslinjer"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
msgstr "uventet feil ved import av prosjekt"
@@ -769,11 +769,11 @@ msgstr "Autentisering kreves"
#: 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "navn"
@@ -791,7 +791,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 "beskrivelse"
@@ -827,7 +827,7 @@ msgstr "kommentar"
#: 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
@@ -901,7 +901,7 @@ msgstr "Payloaden er ikke gyldig 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Prosjektet eksisterer ikke"
@@ -954,7 +954,7 @@ 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 ""
@@ -971,7 +971,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 ""
@@ -991,7 +991,7 @@ msgstr "Statusen eksisterer ikke"
#: 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"
@@ -1027,16 +1027,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 ""
@@ -1475,11 +1479,11 @@ msgstr "Prosjekt ID matcher ikke mellom objekt og prosjekt"
#: 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
@@ -1499,7 +1503,7 @@ msgstr "objektid"
#: 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"
@@ -1524,10 +1528,10 @@ 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/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:309
msgid "order"
msgstr "rekkefølge"
@@ -1685,10 +1689,10 @@ msgstr ""
msgid "subject"
msgstr "subjekt"
-#: 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/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:142
msgid "color"
msgstr "farge"
@@ -1804,7 +1808,7 @@ msgid "Unassigned"
msgstr "Ikke tildelt"
#: 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 "-slettet-"
@@ -1837,12 +1841,12 @@ msgid "removed:"
msgstr "fjernet: "
#: 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 "Fra: "
#: 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 "Til: "
@@ -1909,9 +1913,9 @@ msgid "Likes"
msgstr "Liker"
#: 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/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:305
msgid "slug"
msgstr "slug"
@@ -1924,9 +1928,9 @@ msgstr "anslått startdato"
msgid "estimated finish date"
msgstr "anslått sluttdato"
-#: 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 "er lukket"
@@ -1983,7 +1987,7 @@ msgstr "token"
msgid "invitation extra text"
msgstr "invitasjon ekstra tekst"
-#: taiga/projects/models.py:92 taiga/projects/models.py:741
+#: taiga/projects/models.py:92 taiga/projects/models.py:744
msgid "user order"
msgstr "bruker rekkefølge"
@@ -2039,35 +2043,35 @@ msgstr "total av milepæler"
msgid "total story points"
msgstr "total historiepoeng"
-#: 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 "aktivt backlogpanel"
-#: 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 "aktivt kanbanpanel"
-#: 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 "aktivt wikipanel"
-#: 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 "aktivt hendelsespanel"
-#: taiga/projects/models.py:185 taiga/projects/models.py:768
+#: taiga/projects/models.py:185 taiga/projects/models.py:771
msgid "videoconference system"
msgstr "videokonferansesystem"
-#: 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 "videokonferanse ekstra data"
@@ -2091,11 +2095,11 @@ msgstr "brukerrettigheter"
msgid "is featured"
msgstr "er omtalt"
-#: 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 "er søker etter folk"
-#: 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 ""
@@ -2140,80 +2144,80 @@ msgstr "aktivitet forrige måned"
msgid "activity last year"
msgstr "aktivitet forrige år"
-#: taiga/projects/models.py:507
+#: taiga/projects/models.py:510
msgid "modules config"
msgstr "modulkonfigurasjon"
-#: taiga/projects/models.py:559
+#: taiga/projects/models.py:562
msgid "is archived"
msgstr "er arkivert"
-#: taiga/projects/models.py:563
+#: taiga/projects/models.py:566
msgid "work in progress limit"
msgstr "arbeid som pågår grense"
-#: taiga/projects/models.py:591 taiga/userstorage/models.py:33
+#: taiga/projects/models.py:594 taiga/userstorage/models.py:33
msgid "value"
msgstr "verdi"
-#: taiga/projects/models.py:749
+#: taiga/projects/models.py:752
msgid "default owner's role"
msgstr "standard eiers rolle"
-#: taiga/projects/models.py:772
+#: taiga/projects/models.py:775
msgid "default options"
msgstr "standardvalg"
-#: 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 "bh statuser"
-#: 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 "poeng"
-#: taiga/projects/models.py:776
+#: taiga/projects/models.py:779
msgid "task statuses"
msgstr "oppgavestatuser"
-#: taiga/projects/models.py:777
+#: taiga/projects/models.py:780
msgid "issue statuses"
msgstr "hendelsesstatuser"
-#: taiga/projects/models.py:778
+#: taiga/projects/models.py:781
msgid "issue types"
msgstr "hendelsestyper"
-#: taiga/projects/models.py:779
+#: taiga/projects/models.py:782
msgid "priorities"
msgstr "prioriteter"
-#: taiga/projects/models.py:780
+#: taiga/projects/models.py:783
msgid "severities"
msgstr "alvorlighetsgrader"
-#: taiga/projects/models.py:781
+#: taiga/projects/models.py:784
msgid "roles"
msgstr "roller"
-#: 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 ""
@@ -2251,7 +2255,7 @@ msgstr "Fulgt"
msgid "Notify exists for specified user and project"
msgstr ""
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr "Ugyldig verdi for varslingsnivå"
@@ -3575,27 +3579,27 @@ msgstr "Produkteier"
msgid "Stakeholder"
msgstr "Interessent"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
msgid "You don't have permissions to set this sprint to this user story."
msgstr ""
"Du har ikke tillatelse til å sette denne sprinten til denne brukerhistorien."
-#: taiga/projects/userstories/api.py:132
+#: taiga/projects/userstories/api.py:133
msgid "You don't have permissions to set this status to this user story."
msgstr ""
"Du har ikke tillatelse til å sette denne statusen til denne brukerhistorien."
-#: taiga/projects/userstories/api.py:222
+#: taiga/projects/userstories/api.py:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Genererer brukerhistorien #{ref} - {subject}"
diff --git a/taiga/locale/nl/LC_MESSAGES/django.po b/taiga/locale/nl/LC_MESSAGES/django.po
index 415ad207..f958820f 100644
--- a/taiga/locale/nl/LC_MESSAGES/django.po
+++ b/taiga/locale/nl/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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Dutch (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -203,8 +203,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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"
@@ -499,68 +499,68 @@ msgstr "Dump file nodig"
msgid "Invalid dump format"
msgstr "Ongeldig dump formaat"
-#: 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 "fout bij het importeren van project data"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "fout bij importeren rollen"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "fout bij importeren lidmaatschappen"
-#: taiga/export_import/services/store.py:759
+#: taiga/export_import/services/store.py:763
msgid "error importing lists of project attributes"
msgstr "fout bij importeren van project attributenlijst"
-#: taiga/export_import/services/store.py:763
+#: taiga/export_import/services/store.py:767
msgid "error importing default project attributes values"
msgstr "fout bij importeren van standaard projectattributen waarden"
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "fout bij importeren eigen attributen"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "fout bij importeren sprints"
-#: taiga/export_import/services/store.py:782
+#: taiga/export_import/services/store.py:786
msgid "error importing issues"
msgstr "fout bij importeren issues"
-#: taiga/export_import/services/store.py:786
+#: taiga/export_import/services/store.py:790
msgid "error importing user stories"
msgstr "fout bij importeren user stories"
-#: 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 "fout bij importeren taken"
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "fout bij importeren wiki pagina's"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "fout bij importeren wiki links"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "fout bij importeren tags"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "fout bij importeren tijdlijnen"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
msgstr ""
@@ -799,11 +799,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "naam"
@@ -821,7 +821,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 "omschrijving"
@@ -857,7 +857,7 @@ msgstr "commentaar"
#: 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
@@ -931,7 +931,7 @@ msgstr "De payload is geen geldige 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Het project bestaat niet"
@@ -984,7 +984,7 @@ 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 ""
@@ -1001,7 +1001,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 ""
@@ -1021,7 +1021,7 @@ msgstr "De status bestaat niet"
#: 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"
@@ -1057,16 +1057,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 ""
@@ -1503,11 +1507,11 @@ msgstr "Project ID van object is niet gelijk aan die van het 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
@@ -1527,7 +1531,7 @@ msgstr "object 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"
@@ -1552,10 +1556,10 @@ 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/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:309
msgid "order"
msgstr "volgorde"
@@ -1713,10 +1717,10 @@ msgstr ""
msgid "subject"
msgstr "onderwerp"
-#: 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/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:142
msgid "color"
msgstr "kleur"
@@ -1832,7 +1836,7 @@ msgid "Unassigned"
msgstr "Niet toegewezen"
#: 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 "-verwijderd-"
@@ -1865,12 +1869,12 @@ msgid "removed:"
msgstr "verwijderd:"
#: 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 "Van:"
#: 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 "Naar:"
@@ -1936,9 +1940,9 @@ msgid "Likes"
msgstr "Personen die dit leuk vinden"
#: 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/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:305
msgid "slug"
msgstr "slug"
@@ -1951,9 +1955,9 @@ msgstr "geschatte start datum"
msgid "estimated finish date"
msgstr "geschatte datum van afwerking"
-#: 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 "is gesloten"
@@ -2010,7 +2014,7 @@ msgstr "token"
msgid "invitation extra text"
msgstr "uitnodiging 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 "gebruiker volgorde"
@@ -2066,35 +2070,35 @@ msgstr "totaal van de milestones"
msgid "total story points"
msgstr "totaal 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 ""
-#: 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 "actief backlog paneel"
-#: 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 "actief kanban paneel"
-#: 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 "actief wiki paneel"
-#: 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 "actief issues paneel"
-#: taiga/projects/models.py:185 taiga/projects/models.py:768
+#: taiga/projects/models.py:185 taiga/projects/models.py:771
msgid "videoconference system"
msgstr "videoconference systeem"
-#: 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 ""
@@ -2118,11 +2122,11 @@ msgstr "gebruikers toestemmingen"
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 ""
@@ -2167,80 +2171,80 @@ msgstr ""
msgid "activity last year"
msgstr ""
-#: taiga/projects/models.py:507
+#: taiga/projects/models.py:510
msgid "modules config"
msgstr "module config"
-#: taiga/projects/models.py:559
+#: taiga/projects/models.py:562
msgid "is archived"
msgstr "is gearchiveerd"
-#: taiga/projects/models.py:563
+#: taiga/projects/models.py:566
msgid "work in progress limit"
msgstr "work in progress limiet"
-#: taiga/projects/models.py:591 taiga/userstorage/models.py:33
+#: taiga/projects/models.py:594 taiga/userstorage/models.py:33
msgid "value"
msgstr "waarde"
-#: taiga/projects/models.py:749
+#: taiga/projects/models.py:752
msgid "default owner's role"
msgstr "standaard rol eigenaar"
-#: taiga/projects/models.py:772
+#: taiga/projects/models.py:775
msgid "default options"
msgstr "standaard instellingen"
-#: 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 "us statussen"
-#: 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 "punten"
-#: taiga/projects/models.py:776
+#: taiga/projects/models.py:779
msgid "task statuses"
msgstr "taak statussen"
-#: taiga/projects/models.py:777
+#: taiga/projects/models.py:780
msgid "issue statuses"
msgstr "issue statussen"
-#: taiga/projects/models.py:778
+#: taiga/projects/models.py:781
msgid "issue types"
msgstr "issue types"
-#: taiga/projects/models.py:779
+#: taiga/projects/models.py:782
msgid "priorities"
msgstr "prioriteiten"
-#: taiga/projects/models.py:780
+#: taiga/projects/models.py:783
msgid "severities"
msgstr "ernstniveaus"
-#: 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 ""
@@ -2278,7 +2282,7 @@ msgstr ""
msgid "Notify exists for specified user and project"
msgstr "Verwittiging bestaat voor gespecifieerde gebruiker en project"
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr ""
@@ -3648,25 +3652,25 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Stakeholder"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
diff --git a/taiga/locale/pl/LC_MESSAGES/django.po b/taiga/locale/pl/LC_MESSAGES/django.po
index 234fc090..40655c57 100644
--- a/taiga/locale/pl/LC_MESSAGES/django.po
+++ b/taiga/locale/pl/LC_MESSAGES/django.po
@@ -4,15 +4,16 @@
#
# Translators:
# David Barragá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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \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,7 +54,7 @@ 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."
@@ -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."
@@ -198,10 +199,10 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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,7 +356,7 @@ 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
msgid "Error in filter params types."
@@ -501,70 +502,70 @@ msgstr "Wymagany plik zrzutu"
msgid "Invalid dump format"
msgstr "Nieprawidłowy format zrzutu"
-#: 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 "błąd w trakcie importu danych projektu"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "błąd w trakcie importu ról"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "błąd w trakcie importu członkostw"
-#: taiga/export_import/services/store.py:759
+#: taiga/export_import/services/store.py:763
msgid "error importing lists of project attributes"
msgstr "błąd w trakcie importu atrybutów projektu"
-#: taiga/export_import/services/store.py:763
+#: taiga/export_import/services/store.py:767
msgid "error importing default project attributes values"
msgstr "błąd w trakcie importu domyślnych atrybutów projektu"
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "błąd w trakcie importu niestandardowych atrybutów"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "błąd w trakcie importu sprintów"
-#: taiga/export_import/services/store.py:782
+#: taiga/export_import/services/store.py:786
msgid "error importing issues"
msgstr "błąd w trakcie importu zgłoszeń"
-#: taiga/export_import/services/store.py:786
+#: taiga/export_import/services/store.py:790
msgid "error importing user stories"
msgstr "błąd w trakcie importu historyjek użytkownika"
-#: taiga/export_import/services/store.py:790
-msgid "error importing epics"
-msgstr ""
-
#: taiga/export_import/services/store.py:794
+msgid "error importing epics"
+msgstr "błąd w importowaniu epiców"
+
+#: taiga/export_import/services/store.py:798
msgid "error importing tasks"
msgstr "błąd w trakcie importu zadań"
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "błąd w trakcie importu stron Wiki"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "błąd w trakcie importu linków Wiki"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "błąd w trakcie importu tagów"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "błąd w trakcie importu osi czasu"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
-msgstr ""
+msgstr "nieoczekiwany błąd w importowaniu projektu"
#: taiga/export_import/tasks.py:62 taiga/export_import/tasks.py:63
msgid "Error generating project dump"
@@ -589,6 +590,21 @@ msgid ""
"TRACE ERROR:\n"
"------------"
msgstr ""
+"\n"
+"\n"
+"Błąd ładowania zrzutu przez {user_full_name} <{user_email}>:\"\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 +612,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 +879,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/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:303 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 +906,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"
@@ -926,7 +942,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
@@ -1000,7 +1016,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Projekt nie istnieje"
@@ -1016,6 +1032,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 +1044,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 +1058,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 +1073,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 +1091,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 +1108,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 +1120,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
@@ -1572,11 +1606,11 @@ 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
@@ -1596,7 +1630,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,10 +1655,10 @@ 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/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:309
msgid "order"
msgstr "kolejność"
@@ -1782,10 +1816,10 @@ 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/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:142
msgid "color"
msgstr "kolor"
@@ -1901,7 +1935,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 +1968,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:"
@@ -2003,9 +2037,9 @@ 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/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:305
msgid "slug"
msgstr "slug"
@@ -2018,9 +2052,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"
@@ -2077,7 +2111,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 +2167,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 +2219,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 +2268,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 ""
@@ -2345,7 +2379,7 @@ msgstr "Obserwowane"
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:434
msgid "Invalid value for notify level"
msgstr "Nieprawidłowa wartość dla poziomu notyfikacji"
@@ -3974,27 +4008,27 @@ msgstr "Właściciel produktu"
msgid "Stakeholder"
msgstr "Interesariusz"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
diff --git a/taiga/locale/pt_BR/LC_MESSAGES/django.po b/taiga/locale/pt_BR/LC_MESSAGES/django.po
index 2b7b2c5e..22720108 100644
--- a/taiga/locale/pt_BR/LC_MESSAGES/django.po
+++ b/taiga/locale/pt_BR/LC_MESSAGES/django.po
@@ -4,6 +4,8 @@
#
# Translators:
# Antônio "acdc" Jr. , 2016
+# Breno Uchoa , 2017
+# Claudio Ferreira , 2017
# Cléber Zavadniak , 2015
# Thiago , 2015
# Daniel Dias , 2015
@@ -11,10 +13,12 @@
# 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
@@ -23,9 +27,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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/taiga-agile-llc/"
"taiga-back/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
@@ -112,7 +116,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."
@@ -208,8 +212,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 taiga/webhooks/api.py:71
msgid "Blocked element"
msgstr "Elemento bloqeado"
@@ -262,21 +266,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 +292,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,7 +369,7 @@ 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
msgid "Error in filter params types."
@@ -442,6 +446,26 @@ msgid ""
" \n"
" "
msgstr ""
+"\n"
+" Suporte do Taiga:"
+"\n"
+" %(support_url)s\n"
+"
\n"
+" Nos contate:"
+"strong>\n"
+" \n"
+" %(support_email)s\n"
+" \n"
+"
\n"
+" Lista de "
+"discussão:\n"
+" \n"
+" %(mailing_list_url)s\n"
+" \n"
+" "
#: taiga/base/templates/emails/hero-body-html.jinja:6
msgid "You have been Taigatized"
@@ -511,68 +535,68 @@ msgstr "Necessário de arquivo de restauração"
msgid "Invalid dump format"
msgstr "Formato de aquivo de restauração 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 "erro ao importar informações de projeto"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
-msgstr "erro importando funcões"
+msgstr "erro ao importar funcões"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
-msgstr "erro importando filiações"
-
-#: taiga/export_import/services/store.py:759
-msgid "error importing lists of project attributes"
-msgstr "erro importando lista de atributos do projeto"
+msgstr "erro ao importar filiações"
#: taiga/export_import/services/store.py:763
-msgid "error importing default project attributes values"
-msgstr "erro importando valores de atributos do projeto padrão"
+msgid "error importing lists of project attributes"
+msgstr "erro ao importar lista de atributos do projeto"
-#: taiga/export_import/services/store.py:774
-msgid "error importing custom attributes"
-msgstr "erro importando atributos personalizados"
+#: taiga/export_import/services/store.py:767
+msgid "error importing default project attributes values"
+msgstr "erro ao importar valores de atributos do projeto padrão"
#: taiga/export_import/services/store.py:778
-msgid "error importing sprints"
-msgstr "erro importando sprints"
+msgid "error importing custom attributes"
+msgstr "erro ao importar atributos personalizados"
#: taiga/export_import/services/store.py:782
-msgid "error importing issues"
-msgstr "erro importando problemas"
+msgid "error importing sprints"
+msgstr "erro ao importar sprints"
#: taiga/export_import/services/store.py:786
-msgid "error importing user stories"
-msgstr "erro importando histórias de usuário"
+msgid "error importing issues"
+msgstr "erro ao importar problemas"
#: taiga/export_import/services/store.py:790
-msgid "error importing epics"
-msgstr ""
+msgid "error importing user stories"
+msgstr "erro ao importar histórias de usuário"
#: taiga/export_import/services/store.py:794
-msgid "error importing tasks"
-msgstr "erro importando tarefas"
+msgid "error importing epics"
+msgstr "Erro ao importar épicos"
#: taiga/export_import/services/store.py:798
-msgid "error importing wiki pages"
-msgstr "erro importando páginas wiki"
+msgid "error importing tasks"
+msgstr "erro ao importar tarefas"
#: taiga/export_import/services/store.py:802
-msgid "error importing wiki links"
-msgstr "erro importando wiki links"
+msgid "error importing wiki pages"
+msgstr "erro ao importar páginas wiki"
#: taiga/export_import/services/store.py:806
-msgid "error importing tags"
-msgstr "erro importando tags"
+msgid "error importing wiki links"
+msgstr "erro ao importar wiki links"
#: taiga/export_import/services/store.py:810
-msgid "error importing timelines"
-msgstr "erro importando linha do tempo"
+msgid "error importing tags"
+msgstr "erro ao importar tags"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:814
+msgid "error importing timelines"
+msgstr "erro ao importar linha do tempo"
+
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
msgstr "erro inesperado ao importar projeto"
@@ -655,10 +679,10 @@ msgstr ""
" 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 +709,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 +741,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 +772,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 +802,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 +835,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,11 +923,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "Nome"
@@ -921,7 +945,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"
@@ -957,7 +981,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
@@ -1031,7 +1055,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "O projeto não existe"
@@ -1047,6 +1071,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 +1083,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 +1097,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 +1117,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 +1134,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 +1142,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 +1154,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 ""
+
+#: 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 +1228,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 +1252,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 +1281,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 +1305,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 +1334,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 +1358,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 +1387,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 +1411,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
@@ -1376,7 +1489,7 @@ 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"
@@ -1392,7 +1505,7 @@ msgstr ""
#: taiga/permissions/choices.py:45
msgid "Delete epic"
-msgstr ""
+msgstr "Excluir épico"
#: taiga/permissions/choices.py:47
msgid "View user story"
@@ -1412,7 +1525,7 @@ msgstr ""
#: 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 +1541,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 +1553,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"
@@ -1460,7 +1573,7 @@ msgstr ""
#: 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 +1585,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 +1593,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"
@@ -1548,7 +1661,7 @@ msgstr ""
#: 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
msgid "Incomplete arguments"
@@ -1596,7 +1709,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,11 +1718,11 @@ 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
@@ -1629,7 +1742,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"
@@ -1654,10 +1767,10 @@ 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/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:309
msgid "order"
msgstr "ordem"
@@ -1692,7 +1805,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,10 +1928,10 @@ 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/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:142
msgid "color"
msgstr "cor"
@@ -1855,15 +1968,15 @@ msgstr ""
#: 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 +1988,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 +2030,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 +2047,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 +2069,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 +2080,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:"
@@ -2037,9 +2150,9 @@ 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/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:305
msgid "slug"
msgstr "slug"
@@ -2052,9 +2165,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"
@@ -2111,7 +2224,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 +2280,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 +2332,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 +2381,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"
@@ -2379,7 +2492,7 @@ msgstr "Observado"
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:434
msgid "Invalid value for notify level"
msgstr "Valor inválido para nível de notificação"
@@ -2425,6 +2538,15 @@ msgid ""
" The Taiga Team
\n"
" "
msgstr ""
+"\n"
+" Novo épico criado
\n"
+" Olá %(user)s,
%(changer)s criou um novo épico em %(project)s"
+"p>\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 +2559,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 +2585,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 +2603,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 +2617,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 +2727,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"
+"p>\n"
"
Problema #%(ref)s %(subject)s
\n"
" Time Taiga
\n"
" "
@@ -2601,8 +2746,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 +2760,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 +2824,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 +2844,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 +2867,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 +2885,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 +2899,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 +2962,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 +2982,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 +3005,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 +3023,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 +3037,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 +3145,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 +3164,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 +3178,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 +3247,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 +3271,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 +3294,11 @@ msgid ""
" "
msgstr ""
"\n"
-" Página Wiki apagada
\n"
-" Olá %(user)s,
%(changer)s apagou uma página wiki em %(project)s"
-"p>\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 +3315,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 +3331,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"
@@ -3418,7 +3563,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 +3611,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 +3639,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 +4149,29 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Stakeholder"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Gerando a história de usuário #{ref} - {subject}"
@@ -4371,7 +4516,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 +4564,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 +4588,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..fcb0186b 100644
--- a/taiga/locale/ru/LC_MESSAGES/django.po
+++ b/taiga/locale/ru/LC_MESSAGES/django.po
@@ -3,24 +3,25 @@
# This file is distributed under the same license as the taiga-back package.
#
# Translators:
-# dmitriy , 2015
+# Dmitry Pugats , 2015
# Dmitriy Volkov , 2015
# Dmitry Lobanov , 2015
# Dmitry Vinokurov , 2015
# Egor Poderyagin , 2016
# Igor Bezukladnikov , 2016
-# ilyar, 2016
+# Ilya Rogov, 2016
# ratijas , 2016
# 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Russian (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/ru/)\n"
"MIME-Version: 1.0\n"
@@ -210,8 +211,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 taiga/webhooks/api.py:71
msgid "Blocked element"
msgstr "Заблокированный элемент"
@@ -264,20 +265,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 +290,7 @@ msgstr "Не найдено"
msgid "Permission denied"
msgstr "Доступ запрещён"
-#: taiga/base/api/views.py:492
+#: taiga/base/api/views.py:491
msgid "Server application error"
msgstr "Ошибка приложения на сервере"
@@ -512,68 +513,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 "неожиданная ошибка импортирования проекта"
@@ -891,11 +892,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "имя"
@@ -913,7 +914,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 "описание"
@@ -949,7 +950,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,7 +1024,7 @@ msgstr "Нагрузочный файл не является правильны
#: 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Проект не существует"
@@ -1079,7 +1080,7 @@ 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 ""
@@ -1096,7 +1097,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 ""
@@ -1116,7 +1117,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"
@@ -1152,16 +1153,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 ""
@@ -1600,11 +1605,11 @@ 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
@@ -1624,7 +1629,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"
@@ -1649,10 +1654,10 @@ 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/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:309
msgid "order"
msgstr "порядок"
@@ -1810,10 +1815,10 @@ 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/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:142
msgid "color"
msgstr "цвет"
@@ -1929,7 +1934,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 "-удалено-"
@@ -1962,12 +1967,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 "Кому:"
@@ -2035,9 +2040,9 @@ 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/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:305
msgid "slug"
msgstr "ссылочное имя"
@@ -2050,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 "закрыто"
@@ -2111,7 +2116,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 "порядок пользователей"
@@ -2167,35 +2172,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 "активная панель 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 "активная 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 "панель активных запросов"
-#: 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 "дополнительные данные системы видеоконференций"
@@ -2219,11 +2224,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 ""
@@ -2268,80 +2273,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 ""
@@ -2379,7 +2384,7 @@ msgstr "Просмотренные"
msgid "Notify exists for specified user and project"
msgstr "Уведомление существует для данных пользователя и проекта"
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr "Неверное значение для уровня уведомлений"
@@ -4088,27 +4093,27 @@ msgstr "Владелец продукта"
msgid "Stakeholder"
msgstr "Заинтересованная сторона"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr "Неверный id роли '{role_id}'"
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Генерируется пользовательская история #{ref} - {subject}"
diff --git a/taiga/locale/sv/LC_MESSAGES/django.po b/taiga/locale/sv/LC_MESSAGES/django.po
index 09ac5ea3..69d7d8db 100644
--- a/taiga/locale/sv/LC_MESSAGES/django.po
+++ b/taiga/locale/sv/LC_MESSAGES/django.po
@@ -4,13 +4,14 @@
#
# Translators:
# Harald Indgul , 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Swedish (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -49,7 +50,7 @@ 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."
@@ -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."
@@ -196,10 +197,10 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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,7 +354,7 @@ 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
msgid "Error in filter params types."
@@ -488,68 +489,68 @@ msgstr "Behöver en hämtningsfil"
msgid "Invalid dump format"
msgstr "Invalid hämtningsfilformat"
-#: 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 "fel vid import av projektdata"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "fel vid importering av roller"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "fel vid import av medlemskap"
-#: taiga/export_import/services/store.py:759
+#: taiga/export_import/services/store.py:763
msgid "error importing lists of project attributes"
msgstr "fel vid import av en lista på projektegenskaper"
-#: taiga/export_import/services/store.py:763
+#: taiga/export_import/services/store.py:767
msgid "error importing default project attributes values"
msgstr "fel vid import av standard projektegenskapsvärden"
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "fel vid import av anpassade egenskaper"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "felaktig import av sprintar"
-#: taiga/export_import/services/store.py:782
+#: taiga/export_import/services/store.py:786
msgid "error importing issues"
msgstr "fel vid import av ärenden"
-#: taiga/export_import/services/store.py:786
+#: taiga/export_import/services/store.py:790
msgid "error importing user stories"
msgstr "fel vid import av användarhistorier"
-#: 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 "fel vid import av uppgifter"
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "vel vid import av wiki-sidor"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "fel vid import av wiki-länkar"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "fel vid importering av taggar"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "fel vid importering av tidslinje"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
msgstr ""
@@ -766,11 +767,11 @@ msgstr "Verifiering krävs"
#: 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "namn"
@@ -788,7 +789,7 @@ msgstr "Internet"
#: 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 "beskrivning"
@@ -824,7 +825,7 @@ msgstr "kommentera"
#: 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
@@ -882,7 +883,7 @@ msgstr "Datasträngen är inte korrekt 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Projektet existerar inte"
@@ -935,7 +936,7 @@ 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 ""
@@ -952,7 +953,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 ""
@@ -972,7 +973,7 @@ msgstr "Statusen existerar inte"
#: 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"
@@ -1008,16 +1009,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 ""
@@ -1454,11 +1459,11 @@ msgstr "Projekt-ID stämmer inte mellan objekt och 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
@@ -1478,7 +1483,7 @@ msgstr "objekt-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"
@@ -1503,10 +1508,10 @@ 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/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:309
msgid "order"
msgstr "sortera"
@@ -1664,10 +1669,10 @@ msgstr ""
msgid "subject"
msgstr "titel"
-#: 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/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:142
msgid "color"
msgstr "färg"
@@ -1783,7 +1788,7 @@ msgid "Unassigned"
msgstr "Ej tilldelad"
#: 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 "-raderad-"
@@ -1816,12 +1821,12 @@ msgid "removed:"
msgstr "borttaget:"
#: 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 "Från:"
#: 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 "Till:"
@@ -1885,9 +1890,9 @@ msgid "Likes"
msgstr "Gillar"
#: 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/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:305
msgid "slug"
msgstr "slugg"
@@ -1900,9 +1905,9 @@ msgstr "Beräknad startdatum"
msgid "estimated finish date"
msgstr "Beräknad slutdato"
-#: 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 "är stängd"
@@ -1959,7 +1964,7 @@ msgstr "textsträng"
msgid "invitation extra text"
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 "användarorder"
@@ -2015,35 +2020,35 @@ msgstr "totalt antal milstolpar"
msgid "total story points"
msgstr "totalt antal historiepoäng"
-#: 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 "aktivt panel för inkorg"
-#: 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 "aktiv 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 "aktiv 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 "aktiv panel för ärenden"
-#: taiga/projects/models.py:185 taiga/projects/models.py:768
+#: taiga/projects/models.py:185 taiga/projects/models.py:771
msgid "videoconference system"
msgstr "videokonferensssystem"
-#: 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 "videokonferens - extra data"
@@ -2067,11 +2072,11 @@ msgstr "användarbehörigheter"
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 ""
@@ -2116,80 +2121,80 @@ msgstr ""
msgid "activity last year"
msgstr ""
-#: taiga/projects/models.py:507
+#: taiga/projects/models.py:510
msgid "modules config"
msgstr "konfigurera moduler"
-#: taiga/projects/models.py:559
+#: taiga/projects/models.py:562
msgid "is archived"
msgstr "är arkiverad"
-#: taiga/projects/models.py:563
+#: taiga/projects/models.py:566
msgid "work in progress limit"
msgstr "begränsad arbete pågår"
-#: taiga/projects/models.py:591 taiga/userstorage/models.py:33
+#: taiga/projects/models.py:594 taiga/userstorage/models.py:33
msgid "value"
msgstr "värde"
-#: taiga/projects/models.py:749
+#: taiga/projects/models.py:752
msgid "default owner's role"
msgstr "ägarens standardroll"
-#: taiga/projects/models.py:772
+#: taiga/projects/models.py:775
msgid "default options"
msgstr "standard val"
-#: 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 "US statuser"
-#: 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 "poäng"
-#: taiga/projects/models.py:776
+#: taiga/projects/models.py:779
msgid "task statuses"
msgstr "statuser för uppgifter"
-#: taiga/projects/models.py:777
+#: taiga/projects/models.py:780
msgid "issue statuses"
msgstr "status för ärenden"
-#: taiga/projects/models.py:778
+#: taiga/projects/models.py:781
msgid "issue types"
msgstr "ärendentyper"
-#: taiga/projects/models.py:779
+#: taiga/projects/models.py:782
msgid "priorities"
msgstr "prioriteter"
-#: taiga/projects/models.py:780
+#: taiga/projects/models.py:783
msgid "severities"
msgstr "allvarsgrad"
-#: taiga/projects/models.py:781
+#: taiga/projects/models.py:784
msgid "roles"
msgstr "roller"
-#: 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 ""
@@ -2227,7 +2232,7 @@ msgstr "Visad"
msgid "Notify exists for specified user and project"
msgstr "Notifiering finns för användaren och projektet"
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr "Felaktigt värde för notifieringen"
@@ -3553,28 +3558,28 @@ msgstr "Produktägare"
msgid "Stakeholder"
msgstr "Intressent"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
msgid "You don't have permissions to set this sprint to this user story."
msgstr ""
"Du har inte behörighet för att lägga sprinten till den här användarhistorien"
-#: taiga/projects/userstories/api.py:132
+#: taiga/projects/userstories/api.py:133
msgid "You don't have permissions to set this status to this user story."
msgstr ""
"Du har inte behörighet till att sätta den här statusen till "
"användarhistorien."
-#: taiga/projects/userstories/api.py:222
+#: taiga/projects/userstories/api.py:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Skapar användarhistorie #{ref} - {subject}"
diff --git a/taiga/locale/tr/LC_MESSAGES/django.po b/taiga/locale/tr/LC_MESSAGES/django.po
index 7fb9c720..842f9621 100644
--- a/taiga/locale/tr/LC_MESSAGES/django.po
+++ b/taiga/locale/tr/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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Turkish (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -204,8 +204,8 @@ msgstr ""
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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ı"
@@ -498,68 +498,68 @@ msgstr "İhtiyaç duyulan döküm dosyası"
msgid "Invalid dump format"
msgstr "Geçersiz döküm biçemi"
-#: 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 "İçeri aktarılan proje verisinde hata"
-#: taiga/export_import/services/store.py:743
+#: taiga/export_import/services/store.py:747
msgid "error importing roles"
msgstr "İçeri aktarılan rollerde hata"
-#: taiga/export_import/services/store.py:748
+#: taiga/export_import/services/store.py:752
msgid "error importing memberships"
msgstr "İçeri aktarılan üyeliklerde hata"
-#: taiga/export_import/services/store.py:759
+#: taiga/export_import/services/store.py:763
msgid "error importing lists of project attributes"
msgstr "proje öznitelikleri listesi içeriye aktarılırken hata oluştu"
-#: taiga/export_import/services/store.py:763
+#: taiga/export_import/services/store.py:767
msgid "error importing default project attributes values"
msgstr "varsayılan proje öznitelikleri değerlerinin içeriye aktarımında hata"
-#: taiga/export_import/services/store.py:774
+#: taiga/export_import/services/store.py:778
msgid "error importing custom attributes"
msgstr "özel öznitelikler içeri aktarılırken hata"
-#: taiga/export_import/services/store.py:778
+#: taiga/export_import/services/store.py:782
msgid "error importing sprints"
msgstr "İçeri aktarılan sprintlerde hata"
-#: taiga/export_import/services/store.py:782
+#: taiga/export_import/services/store.py:786
msgid "error importing issues"
msgstr "İçeri aktarılan taleplerde hata"
-#: taiga/export_import/services/store.py:786
+#: taiga/export_import/services/store.py:790
msgid "error importing user stories"
msgstr "İçeri aktarılan kullanıcı hikayelerinde hata"
-#: 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 "İçeri aktarılan görevlerde hata"
-#: taiga/export_import/services/store.py:798
+#: taiga/export_import/services/store.py:802
msgid "error importing wiki pages"
msgstr "İçeri aktarılan wiki sayfalarında hata"
-#: taiga/export_import/services/store.py:802
+#: taiga/export_import/services/store.py:806
msgid "error importing wiki links"
msgstr "İçeri aktarılan wiki bağlantılarında hata"
-#: taiga/export_import/services/store.py:806
+#: taiga/export_import/services/store.py:810
msgid "error importing tags"
msgstr "İçeri aktarılan etiketlerde hata"
-#: taiga/export_import/services/store.py:810
+#: taiga/export_import/services/store.py:814
msgid "error importing timelines"
msgstr "zaman çizelgesi içeri aktarılırken hata"
-#: taiga/export_import/services/store.py:832
+#: taiga/export_import/services/store.py:836
msgid "unexpected error importing project"
msgstr ""
@@ -861,11 +861,11 @@ msgstr "Kimlik doğrulama gerekli"
#: 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "isim"
@@ -883,7 +883,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 "tanı"
@@ -919,7 +919,7 @@ msgstr "yorum"
#: 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
@@ -991,7 +991,7 @@ msgstr ""
#: 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "Proje mevcut değil."
@@ -1044,7 +1044,7 @@ 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 ""
@@ -1061,7 +1061,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 ""
@@ -1081,7 +1081,7 @@ msgstr "Durum mevcut değil"
#: 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"
@@ -1117,16 +1117,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 ""
@@ -1563,11 +1567,11 @@ msgstr "Proje ve nesne arasında Proje ID uyuşmazlığı mevcut"
#: 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
@@ -1587,7 +1591,7 @@ msgstr "nesne 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"
@@ -1612,10 +1616,10 @@ 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/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:309
msgid "order"
msgstr "sıra"
@@ -1773,10 +1777,10 @@ msgstr ""
msgid "subject"
msgstr "konu"
-#: 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/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:142
msgid "color"
msgstr "renk"
@@ -1892,7 +1896,7 @@ msgid "Unassigned"
msgstr "Atanmamış"
#: 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 "-silinmiş-"
@@ -1925,12 +1929,12 @@ msgid "removed:"
msgstr "silinmiş:"
#: 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 "Kimden:"
#: 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 "Kime:"
@@ -1994,9 +1998,9 @@ msgid "Likes"
msgstr "Beğeniler"
#: 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/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:305
msgid "slug"
msgstr "satır"
@@ -2009,9 +2013,9 @@ msgstr "yaklaşık başlama tarihi"
msgid "estimated finish date"
msgstr "yaklaşık bitiş tarihi"
-#: 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 "kapatılmış"
@@ -2068,7 +2072,7 @@ msgstr "kupon"
msgid "invitation extra text"
msgstr "Davetiye ekstra metni"
-#: taiga/projects/models.py:92 taiga/projects/models.py:741
+#: taiga/projects/models.py:92 taiga/projects/models.py:744
msgid "user order"
msgstr "kullanıcı sırası"
@@ -2124,35 +2128,35 @@ msgstr "aşamaların toplamı"
msgid "total story points"
msgstr "toplam hikaye puanı"
-#: 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 "aktif birikmiş iler paneli"
-#: 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 "aktif kanban paneli"
-#: 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 "aktif wiki paneli"
-#: 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 "aktif talep paneli"
-#: taiga/projects/models.py:185 taiga/projects/models.py:768
+#: taiga/projects/models.py:185 taiga/projects/models.py:771
msgid "videoconference system"
msgstr "video konferans sistemi"
-#: 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 "videokonferans ekstra verisi"
@@ -2176,11 +2180,11 @@ msgstr "kullanıcı izinleri"
msgid "is featured"
msgstr "vitrinde"
-#: 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 "insan arıyor"
-#: 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 ""
@@ -2225,80 +2229,80 @@ msgstr "geçen ayın aktiviteleri"
msgid "activity last year"
msgstr "geçen yılın aktiviteleri"
-#: taiga/projects/models.py:507
+#: taiga/projects/models.py:510
msgid "modules config"
msgstr "modül ayarları"
-#: taiga/projects/models.py:559
+#: taiga/projects/models.py:562
msgid "is archived"
msgstr "arşivlenmiş"
-#: 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 "değer"
-#: taiga/projects/models.py:749
+#: taiga/projects/models.py:752
msgid "default owner's role"
msgstr "varsayılan sahip rolü"
-#: taiga/projects/models.py:772
+#: taiga/projects/models.py:775
msgid "default options"
msgstr "varsayılan ayarlar"
-#: 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 "kh durumları"
-#: 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 "puanlar"
-#: taiga/projects/models.py:776
+#: taiga/projects/models.py:779
msgid "task statuses"
msgstr "görev durumları"
-#: taiga/projects/models.py:777
+#: taiga/projects/models.py:780
msgid "issue statuses"
msgstr "talep durumları"
-#: taiga/projects/models.py:778
+#: taiga/projects/models.py:781
msgid "issue types"
msgstr "talep tipleri"
-#: taiga/projects/models.py:779
+#: taiga/projects/models.py:782
msgid "priorities"
msgstr "öncelikler"
-#: taiga/projects/models.py:780
+#: taiga/projects/models.py:783
msgid "severities"
msgstr "önem durumları"
-#: taiga/projects/models.py:781
+#: taiga/projects/models.py:784
msgid "roles"
msgstr "roller"
-#: 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 ""
@@ -2336,7 +2340,7 @@ msgstr "İzlenen"
msgid "Notify exists for specified user and project"
msgstr "Belirtilen kullanıcı ve proje için bilgilendirme mevcut"
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr "Bildirim düzeyi için geçersiz değer"
@@ -3730,25 +3734,25 @@ msgstr "Ürün Sahibi"
msgid "Stakeholder"
msgstr "Paydaş"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
msgid "You don't have permissions to set this sprint to this user story."
msgstr "Bu kullanıcı hikayesine bu sprinti ayarlama izniniz yok."
-#: taiga/projects/userstories/api.py:132
+#: taiga/projects/userstories/api.py:133
msgid "You don't have permissions to set this status to this user story."
msgstr "Bu kullanıcı hikayesine bu durumu ayarlama yetkiniz yok."
-#: taiga/projects/userstories/api.py:222
+#: taiga/projects/userstories/api.py:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
diff --git a/taiga/locale/zh-Hans/LC_MESSAGES/django.po b/taiga/locale/zh-Hans/LC_MESSAGES/django.po
index 0a8a11d2..b692d719 100644
--- a/taiga/locale/zh-Hans/LC_MESSAGES/django.po
+++ b/taiga/locale/zh-Hans/LC_MESSAGES/django.po
@@ -3,24 +3,27 @@
# This file is distributed under the same license as the taiga-back package.
#
# Translators:
+# Ares , 2017
# gm l , 2016
# Hanbing Yin , 2016
# ifelse , 2015
# 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Chinese Simplified (http://www.transifex.com/taiga-agile-llc/"
"taiga-back/language/zh-Hans/)\n"
"MIME-Version: 1.0\n"
@@ -197,8 +200,8 @@ msgstr "请上传一张有效的图片。所上传的不是图片或已损坏"
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 taiga/webhooks/api.py:71
msgid "Blocked element"
msgstr "冻结的元素"
@@ -251,19 +254,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 +278,7 @@ msgstr "找不到"
msgid "Permission denied"
msgstr "无此权限"
-#: taiga/base/api/views.py:492
+#: taiga/base/api/views.py:491
msgid "Server application error"
msgstr "服务器端错误"
@@ -517,68 +520,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,11 +895,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "名称"
@@ -914,7 +917,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 "描述"
@@ -950,7 +953,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
@@ -1024,7 +1027,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "项目不存在"
@@ -1086,14 +1089,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 +1109,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 +1129,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 "无效的项目类型 {}"
+
+#: 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"
#: 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
@@ -1614,11 +1615,11 @@ 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
@@ -1638,7 +1639,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,10 +1664,10 @@ 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/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:309
msgid "order"
msgstr "次序"
@@ -1824,10 +1825,10 @@ 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/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:142
msgid "color"
msgstr "颜色"
@@ -1943,7 +1944,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 +1977,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 "发送给:"
@@ -2045,9 +2046,9 @@ 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/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:305
msgid "slug"
msgstr "代称"
@@ -2060,9 +2061,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 +2102,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"
@@ -2119,7 +2120,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 +2176,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 +2228,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 +2277,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 ""
@@ -2387,7 +2388,7 @@ msgstr "关注"
msgid "Notify exists for specified user and project"
msgstr "通知已存在"
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr "此通知级别该值非法"
@@ -4083,25 +4084,25 @@ msgstr "产品所有者"
msgid "Stakeholder"
msgstr "相关人员"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr "无效的角色ID '{role_id}'"
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr "无效的点数ID '{points_id}'"
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "生成用户故事#{ref} - {subject}"
@@ -4164,7 +4165,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"
diff --git a/taiga/locale/zh-Hant/LC_MESSAGES/django.po b/taiga/locale/zh-Hant/LC_MESSAGES/django.po
index 55aa4ec4..d59f2452 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: 2017-10-06 11:42+0200\n"
+"PO-Revision-Date: 2017-10-06 09:43+0000\n"
+"Last-Translator: David Barragán \n"
"Language-Team: Chinese Traditional (http://www.transifex.com/taiga-agile-llc/"
"taiga-back/language/zh-Hant/)\n"
"MIME-Version: 1.0\n"
@@ -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."
@@ -190,8 +192,8 @@ msgstr "上傳有效圖片,你所上傳的檔案非圖檔或已損壞"
#: 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/projects/tasks/api.py:272 taiga/projects/userstories/api.py:334
+#: taiga/projects/userstories/api.py:386 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,7 +347,7 @@ 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
msgid "Error in filter params types."
@@ -484,70 +486,70 @@ 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 ""
+msgstr "匯入專案系統錯誤"
#: taiga/export_import/tasks.py:62 taiga/export_import/tasks.py:63
msgid "Error generating project dump"
@@ -583,7 +585,7 @@ msgstr ""
#: taiga/export_import/tasks.py:135
msgid " -- no detail info --"
-msgstr ""
+msgstr "-- 無資料 --"
#: taiga/export_import/templates/emails/dump_project-body-html.jinja:4
#, python-format
@@ -847,11 +849,11 @@ 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/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:303 taiga/webhooks/models.py:29
msgid "name"
msgstr "姓名"
@@ -869,7 +871,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 "描述"
@@ -905,7 +907,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
@@ -976,7 +978,7 @@ 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/userstories/api.py:282
msgid "The project doesn't exist"
msgstr "專案不存在"
@@ -1000,6 +1002,9 @@ msgid ""
"\n"
"> {comment_message}"
msgstr ""
+"此評論來自{platform}:\n"
+"\n"
+">{comment_message}"
#: taiga/hooks/event_hooks.py:84
msgid "Invalid issue comment information"
@@ -1015,7 +1020,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 +1028,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 +1051,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 +1071,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 +1195,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 +1297,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 +1469,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"
@@ -1548,11 +1568,11 @@ 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
@@ -1572,7 +1592,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,10 +1617,10 @@ 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/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:309
msgid "order"
msgstr "次序"
@@ -1758,10 +1778,10 @@ 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/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:142
msgid "color"
msgstr "顏色"
@@ -1877,7 +1897,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 +1930,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 "給:"
@@ -1979,9 +1999,9 @@ 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/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:305
msgid "slug"
msgstr "代稱"
@@ -1994,9 +2014,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 "被關閉"
@@ -2053,7 +2073,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 +2129,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 +2181,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 +2230,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 ""
@@ -2321,7 +2341,7 @@ msgstr "已觀注"
msgid "Notify exists for specified user and project"
msgstr "通知特定使用者與專案退出"
-#: taiga/projects/notifications/services.py:436
+#: taiga/projects/notifications/services.py:434
msgid "Invalid value for notify level"
msgstr "通知水平的無效值"
@@ -3929,25 +3949,25 @@ msgstr "產品所有人"
msgid "Stakeholder"
msgstr "利害關係人"
-#: taiga/projects/userstories/api.py:128
+#: taiga/projects/userstories/api.py:129
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:133
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:227
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:229
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:244
+#: taiga/projects/userstories/api.py:249
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "産生使用者故事 #{ref} - {subject}"
From eb9b393ec90226dbb865e81fb7f1691ad113c42e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Mon, 9 Oct 2017 13:48:08 +0200
Subject: [PATCH 18/49] Fix small problem in Jira import
---
taiga/importers/jira/normal.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/taiga/importers/jira/normal.py b/taiga/importers/jira/normal.py
index 0db32f35..0293d7eb 100644
--- a/taiga/importers/jira/normal.py
+++ b/taiga/importers/jira/normal.py
@@ -204,7 +204,7 @@ class JiraNormalImporter(JiraImporterCommon):
owner = users_bindings.get(issue['fields']['creator']['key'] if issue['fields']['creator'] else None, self._user)
external_reference = None
- if options.get('keep_external_reference', False):
+ if options.get('keep_external_reference', False) and 'url' in issue['fields']:
external_reference = ["jira", issue['fields']['url']]
@@ -278,7 +278,7 @@ class JiraNormalImporter(JiraImporterCommon):
owner = users_bindings.get(issue['fields']['creator']['key'] if issue['fields']['creator'] else None, self._user)
external_reference = None
- if options.get('keep_external_reference', False):
+ if options.get('keep_external_reference', False) and 'url' in issue['fields']:
external_reference = ["jira", issue['fields']['url']]
task = Task.objects.create(
@@ -333,7 +333,7 @@ class JiraNormalImporter(JiraImporterCommon):
owner = users_bindings.get(issue['fields']['creator']['key'] if issue['fields']['creator'] else None, self._user)
external_reference = None
- if options.get('keep_external_reference', False):
+ if options.get('keep_external_reference', False) and 'url' in issue['fields']:
external_reference = ["jira", issue['fields']['url']]
taiga_issue = Issue.objects.create(
@@ -388,7 +388,7 @@ class JiraNormalImporter(JiraImporterCommon):
owner = users_bindings.get(issue['fields']['creator']['key'] if issue['fields']['creator'] else None, self._user)
external_reference = None
- if options.get('keep_external_reference', False):
+ if options.get('keep_external_reference', False) and 'url' in issue['fields']:
external_reference = ["jira", issue['fields']['url']]
epic = Epic.objects.create(
From 73e02a5584db52f12f5caebdd9a9a3eb3fd11db6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Tue, 10 Oct 2017 09:34:49 +0200
Subject: [PATCH 19/49] Fixing bug on jira importer
---
taiga/importers/jira/agile.py | 42 ++++++++++++++++++-----------------
1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/taiga/importers/jira/agile.py b/taiga/importers/jira/agile.py
index c58d2f46..78148f1e 100644
--- a/taiga/importers/jira/agile.py
+++ b/taiga/importers/jira/agile.py
@@ -17,6 +17,7 @@
# along with this program. If not, see .
import datetime
+from collections import OrderedDict
from django.template.defaultfilters import slugify
from taiga.projects.references.models import recalc_reference_counter
@@ -67,55 +68,56 @@ class JiraAgileImporter(JiraImporterCommon):
options['type'] = "kanban"
project_template.is_epics_activated = True
- project_template.epic_statuses = []
- project_template.us_statuses = []
- project_template.task_statuses = []
- project_template.issue_statuses = []
+ project_template.epic_statuses = OrderedDict()
+ project_template.us_statuses = OrderedDict()
+ project_template.task_statuses = OrderedDict()
+ project_template.issue_statuses = OrderedDict()
counter = 0
for column in project_config['columnConfig']['columns']:
- project_template.epic_statuses.append({
+ column_slug = slugify(column['name'])
+ project_template.epic_statuses[column_slug] = {
"name": column['name'],
- "slug": slugify(column['name']),
+ "slug": column_slug,
"is_closed": False,
"is_archived": False,
"color": "#999999",
"wip_limit": None,
"order": counter,
- })
- project_template.us_statuses.append({
+ }
+ project_template.us_statuses[column_slug] = {
"name": column['name'],
- "slug": slugify(column['name']),
+ "slug": column_slug,
"is_closed": False,
"is_archived": False,
"color": "#999999",
"wip_limit": None,
"order": counter,
- })
- project_template.task_statuses.append({
+ }
+ project_template.task_statuses[column_slug] = {
"name": column['name'],
- "slug": slugify(column['name']),
+ "slug": column_slug,
"is_closed": False,
"is_archived": False,
"color": "#999999",
"wip_limit": None,
"order": counter,
- })
- project_template.issue_statuses.append({
+ }
+ project_template.issue_statuses[column_slug] = {
"name": column['name'],
- "slug": slugify(column['name']),
+ "slug": column_slug,
"is_closed": False,
"is_archived": False,
"color": "#999999",
"wip_limit": None,
"order": counter,
- })
+ }
counter += 1
- project_template.default_options["epic_status"] = project_template.epic_statuses[0]['name']
- project_template.default_options["us_status"] = project_template.us_statuses[0]['name']
- project_template.default_options["task_status"] = project_template.task_statuses[0]['name']
- project_template.default_options["issue_status"] = project_template.issue_statuses[0]['name']
+ project_template.default_options["epic_status"] = project_template.epic_statuses.values()[0]['name']
+ project_template.default_options["us_status"] = project_template.us_statuses.values()[0]['name']
+ project_template.default_options["task_status"] = project_template.task_statuses.values()[0]['name']
+ project_template.default_options["issue_status"] = project_template.issue_statuses.values()[0]['name']
project_template.points = [{
"value": None,
From abeda21ea4fdf61c1672feafdc59ff2807dee953 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Wed, 11 Oct 2017 11:44:25 +0200
Subject: [PATCH 20/49] More fixes in jira import
---
taiga/importers/jira/agile.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/taiga/importers/jira/agile.py b/taiga/importers/jira/agile.py
index 78148f1e..cdf2c178 100644
--- a/taiga/importers/jira/agile.py
+++ b/taiga/importers/jira/agile.py
@@ -114,10 +114,10 @@ class JiraAgileImporter(JiraImporterCommon):
}
counter += 1
- project_template.default_options["epic_status"] = project_template.epic_statuses.values()[0]['name']
- project_template.default_options["us_status"] = project_template.us_statuses.values()[0]['name']
- project_template.default_options["task_status"] = project_template.task_statuses.values()[0]['name']
- project_template.default_options["issue_status"] = project_template.issue_statuses.values()[0]['name']
+ project_template.default_options["epic_status"] = list(project_template.epic_statuses.values())[0]['name']
+ project_template.default_options["us_status"] = list(project_template.us_statuses.values())[0]['name']
+ project_template.default_options["task_status"] = list(project_template.task_statuses.values())[0]['name']
+ project_template.default_options["issue_status"] = list(project_template.issue_statuses.values())[0]['name']
project_template.points = [{
"value": None,
@@ -203,7 +203,7 @@ class JiraAgileImporter(JiraImporterCommon):
project=project,
owner=owner,
assigned_to=assigned_to,
- status=project.us_statuses.get(name=issue['fields']['status']['name']),
+ status=project.us_statuses.get(slug=slugify(issue['fields']['status']['name'])),
kanban_order=counter,
sprint_order=counter,
backlog_order=counter,
@@ -287,7 +287,7 @@ class JiraAgileImporter(JiraImporterCommon):
project=project,
owner=owner,
assigned_to=assigned_to,
- status=project.task_statuses.get(name=issue['fields']['status']['name']),
+ status=project.task_statuses.get(slug=slugify(issue['fields']['status']['name'])),
subject=issue['fields']['summary'],
description=issue['fields']['description'] or '',
tags=issue['fields']['labels'],
@@ -338,7 +338,7 @@ class JiraAgileImporter(JiraImporterCommon):
project=project,
owner=owner,
assigned_to=assigned_to,
- status=project.epic_statuses.get(name=issue['fields']['status']['name']),
+ status=project.epic_statuses.get(slug=slugify(issue['fields']['status']['name'])),
subject=issue['fields']['summary'],
description=issue['fields']['description'] or '',
epics_order=counter,
From ca7383af1ae745bea2f99646eca6c0e1319a232f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Wed, 11 Oct 2017 16:48:57 +0200
Subject: [PATCH 21/49] Other Jira bug fixed
---
taiga/importers/jira/agile.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/taiga/importers/jira/agile.py b/taiga/importers/jira/agile.py
index cdf2c178..26549c4f 100644
--- a/taiga/importers/jira/agile.py
+++ b/taiga/importers/jira/agile.py
@@ -114,10 +114,14 @@ class JiraAgileImporter(JiraImporterCommon):
}
counter += 1
- project_template.default_options["epic_status"] = list(project_template.epic_statuses.values())[0]['name']
- project_template.default_options["us_status"] = list(project_template.us_statuses.values())[0]['name']
- project_template.default_options["task_status"] = list(project_template.task_statuses.values())[0]['name']
- project_template.default_options["issue_status"] = list(project_template.issue_statuses.values())[0]['name']
+ project_template.epic_statuses = list(project_template.epic_statuses.values())
+ project_template.us_statuses = list(project_template.us_statuses.values())
+ project_template.task_statuses = list(project_template.task_statuses.values())
+ project_template.issue_statuses = list(project_template.issue_statuses.values())
+ project_template.default_options["epic_status"] = project_template.epic_statuses[0]['name']
+ project_template.default_options["us_status"] = project_template.us_statuses.values()[0]['name']
+ project_template.default_options["task_status"] = project_template.task_statuses.values()[0]['name']
+ project_template.default_options["issue_status"] = project_template.issue_statuses.values()[0]['name']
project_template.points = [{
"value": None,
From 673d1bfc3bccd6e3fa149c23e4d5a8691736cc7d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Mon, 16 Oct 2017 08:16:32 +0200
Subject: [PATCH 22/49] Another fix in Jira importer
---
taiga/importers/jira/agile.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/taiga/importers/jira/agile.py b/taiga/importers/jira/agile.py
index 26549c4f..5e017983 100644
--- a/taiga/importers/jira/agile.py
+++ b/taiga/importers/jira/agile.py
@@ -119,9 +119,9 @@ class JiraAgileImporter(JiraImporterCommon):
project_template.task_statuses = list(project_template.task_statuses.values())
project_template.issue_statuses = list(project_template.issue_statuses.values())
project_template.default_options["epic_status"] = project_template.epic_statuses[0]['name']
- project_template.default_options["us_status"] = project_template.us_statuses.values()[0]['name']
- project_template.default_options["task_status"] = project_template.task_statuses.values()[0]['name']
- project_template.default_options["issue_status"] = project_template.issue_statuses.values()[0]['name']
+ project_template.default_options["us_status"] = project_template.us_statuses[0]['name']
+ project_template.default_options["task_status"] = project_template.task_statuses[0]['name']
+ project_template.default_options["issue_status"] = project_template.issue_statuses[0]['name']
project_template.points = [{
"value": None,
From 42d88124bc1e5efdbd14684c317e0343163dd57d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Mon, 16 Oct 2017 15:45:13 +0200
Subject: [PATCH 23/49] Other jira import small fix
---
taiga/importers/jira/agile.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/taiga/importers/jira/agile.py b/taiga/importers/jira/agile.py
index 5e017983..70d72f7c 100644
--- a/taiga/importers/jira/agile.py
+++ b/taiga/importers/jira/agile.py
@@ -199,7 +199,7 @@ class JiraAgileImporter(JiraImporterCommon):
external_reference = ["jira", self._client.get_issue_url(issue['key'])]
try:
- milestone = project.milestones.get(name=issue['fields'].get('sprint', {}).get('name', ''))
+ milestone = project.milestones.get(name=(issue['fields'].get('sprint', {}) or {}).get('name', ''))
except Milestone.DoesNotExist:
milestone = None
From abaa6ddcb362e094e8608f9cf9a402c6c8c2085f Mon Sep 17 00:00:00 2001
From: Michael Jurke
Date: Wed, 21 Dec 2016 12:22:17 +0100
Subject: [PATCH 24/49] Extend order_by_fiels for user stories and issues Add
order_by_fields to tasks and milestones
---
taiga/projects/issues/api.py | 1 +
taiga/projects/milestones/api.py | 6 ++++++
taiga/projects/tasks/api.py | 8 ++++++++
taiga/projects/userstories/api.py | 7 +++++++
4 files changed, 22 insertions(+)
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/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):
From 462ca1eccd20288346a788db0ab4aacdc8a51e6e Mon Sep 17 00:00:00 2001
From: gabrielecker
Date: Thu, 19 Oct 2017 14:28:30 -0200
Subject: [PATCH 25/49] Remove invalid command from README development section
---
README.md | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index f5fb30fe..e91139d1 100644
--- a/README.md
+++ b/README.md
@@ -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.
From 98a9a06d38d9387d097c15f7d700fcd34e87fbe6 Mon Sep 17 00:00:00 2001
From: Rustem Sayargaliev
Date: Sat, 21 Oct 2017 12:56:01 +0200
Subject: [PATCH 26/49] Proper Kaleidos Project link
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index e91139d1..12c0ac18 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Taiga Backend #
-
+[](https://github.com/kaleidos "Kaleidos Project")
[](https://tree.taiga.io/project/taiga/ "Managed with Taiga.io")
[](https://travis-ci.org/taigaio/taiga-back "Build Status")
[](https://coveralls.io/r/taigaio/taiga-back?branch=master "Coverage Status")
From 5bc9c06f087b9a2af4411a75d9b3c3a09dd275b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Fri, 27 Oct 2017 10:42:59 +0200
Subject: [PATCH 27/49] Update last_login in each api call
---
taiga/auth/backends.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/taiga/auth/backends.py b/taiga/auth/backends.py
index 8ed19c7f..6ae48ba3 100644
--- a/taiga/auth/backends.py
+++ b/taiga/auth/backends.py
@@ -37,6 +37,8 @@ fraudulent modifications.
import re
from django.conf import settings
+from django.utils import timezone
+from datetime import timedelta
from taiga.base.api.authentication import BaseAuthentication
from .tokens import get_user_for_token
@@ -86,6 +88,10 @@ class Token(BaseAuthentication):
user = get_user_for_token(token, "authentication",
max_age=max_age_auth_token)
+ if user.last_login < (timezone.now() - timedelta(minutes=1)):
+ user.last_login = timezone.now()
+ user.save(update_fields=["last_login"])
+
return (user, token)
def authenticate_header(self, request):
From 14f5ad4bdd811aff19dc0c817ce279150cea38eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Tue, 31 Oct 2017 12:39:20 +0100
Subject: [PATCH 28/49] Quick fix for last_login error
---
taiga/auth/backends.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/taiga/auth/backends.py b/taiga/auth/backends.py
index 6ae48ba3..2c10c314 100644
--- a/taiga/auth/backends.py
+++ b/taiga/auth/backends.py
@@ -88,7 +88,7 @@ class Token(BaseAuthentication):
user = get_user_for_token(token, "authentication",
max_age=max_age_auth_token)
- if user.last_login < (timezone.now() - timedelta(minutes=1)):
+ if user.last_login is None or user.last_login < (timezone.now() - timedelta(minutes=1)):
user.last_login = timezone.now()
user.save(update_fields=["last_login"])
From 52ce32edf42988a648a0198dcb92c856a573df6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Tue, 31 Oct 2017 16:42:14 +0100
Subject: [PATCH 29/49] Generating unique user id for analytics
---
taiga/users/migrations/0025_user_uuid.py | 35 ++++++++++++++++++++++++
taiga/users/models.py | 7 +++++
taiga/users/serializers.py | 1 +
3 files changed, 43 insertions(+)
create mode 100644 taiga/users/migrations/0025_user_uuid.py
diff --git a/taiga/users/migrations/0025_user_uuid.py b/taiga/users/migrations/0025_user_uuid.py
new file mode 100644
index 00000000..82106ef0
--- /dev/null
+++ b/taiga/users/migrations/0025_user_uuid.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.2 on 2017-10-31 14:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import taiga.users.models
+import uuid
+
+
+def update_uuids(apps, schema_editor):
+ User = apps.get_model("users", "User")
+ for user in User.objects.all():
+ user.uuid = uuid.uuid4().hex
+ user.save()
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('users', '0024_auto_20170406_0727'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='user',
+ name='uuid',
+ field=models.CharField(default=taiga.users.models.get_default_uuid, editable=False, max_length=32),
+ ),
+ migrations.RunPython(update_uuids, lambda apps, schema_editor: None),
+ migrations.AlterField(
+ model_name='user',
+ name='uuid',
+ field=models.CharField(default=taiga.users.models.get_default_uuid, editable=False, max_length=32, unique=True),
+ ),
+ ]
diff --git a/taiga/users/models.py b/taiga/users/models.py
index 9bf72000..ceb0ee1e 100644
--- a/taiga/users/models.py
+++ b/taiga/users/models.py
@@ -19,6 +19,7 @@
from importlib import import_module
import random
+import uuid
import re
from django.apps import apps
@@ -125,7 +126,13 @@ class PermissionsMixin(models.Model):
return self.is_superuser
+def get_default_uuid():
+ return uuid.uuid4().hex
+
+
class User(AbstractBaseUser, PermissionsMixin):
+ uuid = models.CharField(max_length=32, editable=False, null=False,
+ blank=False, unique=True, default=get_default_uuid)
username = models.CharField(_("username"), max_length=255, unique=True,
help_text=_("Required. 30 characters or fewer. Letters, numbers and "
"/./-/_ characters"),
diff --git a/taiga/users/serializers.py b/taiga/users/serializers.py
index 36d9a5a8..6e021c07 100644
--- a/taiga/users/serializers.py
+++ b/taiga/users/serializers.py
@@ -78,6 +78,7 @@ class UserAdminSerializer(UserSerializer):
total_private_projects = MethodField()
total_public_projects = MethodField()
email = Field()
+ uuid = Field()
max_private_projects = Field()
max_public_projects = Field()
max_memberships_private_projects = Field()
From 07b430db4fcfa31949750d38ae2e95b6725dc76e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Thu, 16 Nov 2017 11:29:17 +0100
Subject: [PATCH 30/49] added date_joined field to user serializer
---
taiga/users/serializers.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/taiga/users/serializers.py b/taiga/users/serializers.py
index 6e021c07..8621147e 100644
--- a/taiga/users/serializers.py
+++ b/taiga/users/serializers.py
@@ -79,6 +79,7 @@ class UserAdminSerializer(UserSerializer):
total_public_projects = MethodField()
email = Field()
uuid = Field()
+ date_joined = Field()
max_private_projects = Field()
max_public_projects = Field()
max_memberships_private_projects = Field()
From b798846c5c28b802fcf70c1b39bee568b95134ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?=
Date: Sat, 9 Dec 2017 16:50:04 +0100
Subject: [PATCH 31/49] Add missed option
---
settings/local.py.example | 1 +
1 file changed, 1 insertion(+)
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'
From 9eeace6584a919631e7eb978ebdf1bc6f66f74db Mon Sep 17 00:00:00 2001
From: Alex Hermida
Date: Wed, 17 Jan 2018 18:47:42 +0100
Subject: [PATCH 32/49] Add test get private project by slug
---
tests/integration/test_projects.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/tests/integration/test_projects.py b/tests/integration/test_projects.py
index 8fbe6e03..b2c2087e 100644
--- a/tests/integration/test_projects.py
+++ b/tests/integration/test_projects.py
@@ -72,6 +72,20 @@ 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")
From ae558ad4711d20f8843e37c318aafb038420a815 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Wed, 13 Dec 2017 16:02:59 +0100
Subject: [PATCH 33/49] Adding endpoint to remove members from may plan
---
taiga/projects/api.py | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/taiga/projects/api.py b/taiga/projects/api.py
index 83b75487..b1c98f75 100644
--- a/taiga/projects/api.py
+++ b/taiga/projects/api.py
@@ -780,6 +780,38 @@ class MembershipViewSet(BlockedByProjectMixin, ModelCrudViewSet):
services.send_invitation(invitation=invitation)
return response.NoContent()
+ @list_route(methods=["POST"])
+ def remove_user_from_all_my_projects(self, request, **kwargs):
+ private_only = request.DATA.get('private_only', False)
+
+ user_id = request.DATA.get('user', None)
+ if user_id is None:
+ raise exc.WrongArguments(_("Invalid user id"))
+
+ user_model = apps.get_model("users", "User")
+ try:
+ user = user_model.objects.get(id=user_id)
+ except user_model.DoesNotExist:
+ return response.BadRequest(_("The user doesn't exist"))
+
+ memberships = models.Membership.objects.filter(project__owner=request.user, user=user)
+ if private_only:
+ memberships = memberships.filter(project__is_private=True)
+
+ errors = []
+ for membership in memberships:
+ if not services.can_user_leave_project(user, membership.project):
+ errors.append(membership.project.name)
+
+ if len(errors) > 0:
+ error = _("This user can't be removed from the following projects, because would "
+ "leave them without any active admin: {}.".format(", ".join(errors)))
+ return response.BadRequest(error)
+
+ memberships.delete()
+
+ return response.NoContent()
+
def pre_delete(self, obj):
if obj.user is not None and not services.can_user_leave_project(obj.user, obj.project):
raise exc.BadRequest(_("The project must have an owner and at least one of the users "
From 5fbcbfb68cc93efdcce6b5517abe8230dfd5d933 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Tue, 16 Jan 2018 20:11:04 +0100
Subject: [PATCH 34/49] Increase entropy of tokens used for authentication
---
taiga/users/api.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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})
From 75545eb2561bfd60bddadb0d60eb6bc488dd6b27 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Thu, 1 Feb 2018 20:34:48 +0100
Subject: [PATCH 35/49] add space
---
taiga/base/templates/emails/updates-body-html.jinja | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/taiga/base/templates/emails/updates-body-html.jinja b/taiga/base/templates/emails/updates-body-html.jinja
index f07dbe74..04881791 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 %}
From dbafa5264d24c5ab661b58b47b1654574165d5d4 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Mon, 5 Feb 2018 18:44:42 +0100
Subject: [PATCH 36/49] add initial implementation notifications squashing
---
taiga/projects/notifications/squashing.py | 81 ++++++++++++++++++++
tests/unit/test_notifications_squashing.py | 86 ++++++++++++++++++++++
2 files changed, 167 insertions(+)
create mode 100644 taiga/projects/notifications/squashing.py
create mode 100644 tests/unit/test_notifications_squashing.py
diff --git a/taiga/projects/notifications/squashing.py b/taiga/projects/notifications/squashing.py
new file mode 100644
index 00000000..b3a9437b
--- /dev/null
+++ b/taiga/projects/notifications/squashing.py
@@ -0,0 +1,81 @@
+from collections import namedtuple
+
+
+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',
+ 'tags',
+ '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
+
+ initial = entries[0].values_diff[field]
+ final = entries[-1].values_diff[field]
+ from_, to = initial[0], final[1]
+ 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)
+ from collections import OrderedDict
+ 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/tests/unit/test_notifications_squashing.py b/tests/unit/test_notifications_squashing.py
new file mode 100644
index 00000000..a481d6f8
--- /dev/null
+++ b/tests/unit/test_notifications_squashing.py
@@ -0,0 +1,86 @@
+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)
From 1a3b6bc3cac6ffef22564c8248b82e217aaf6bce Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Mon, 5 Feb 2018 21:19:09 +0100
Subject: [PATCH 37/49] apply squash_history_entries
---
taiga/projects/notifications/services.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/taiga/projects/notifications/services.py b/taiga/projects/notifications/services.py
index b6c0fbdd..93f42484 100644
--- a/taiga/projects/notifications/services.py
+++ b/taiga/projects/notifications/services.py
@@ -39,6 +39,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 +251,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)
From 3180dfeda0858d326fcb2968ef2434f122c48840 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Tue, 6 Feb 2018 13:45:34 +0100
Subject: [PATCH 38/49] move import to the top
---
taiga/projects/notifications/squashing.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/taiga/projects/notifications/squashing.py b/taiga/projects/notifications/squashing.py
index b3a9437b..bd7ca66f 100644
--- a/taiga/projects/notifications/squashing.py
+++ b/taiga/projects/notifications/squashing.py
@@ -1,4 +1,4 @@
-from collections import namedtuple
+from collections import namedtuple, OrderedDict
HistoryEntry = namedtuple('HistoryEntry', 'comment values_diff')
@@ -61,7 +61,6 @@ def squash_history_entries(history_entries):
a squashable algorithm available.
"""
history_entries = (HistoryEntry(entry.comment, entry.values_diff) for entry in history_entries)
- from collections import OrderedDict
grouped = OrderedDict()
for entry in history_entries:
if entry.comment:
From 9337f0462106b000e7daf7d4734a4b6d12d45636 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Tue, 6 Feb 2018 14:17:31 +0100
Subject: [PATCH 39/49] activate tags field
---
taiga/projects/notifications/squashing.py | 6 +++++-
tests/unit/test_notifications_squashing.py | 13 +++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/taiga/projects/notifications/squashing.py b/taiga/projects/notifications/squashing.py
index bd7ca66f..13ff9b3b 100644
--- a/taiga/projects/notifications/squashing.py
+++ b/taiga/projects/notifications/squashing.py
@@ -29,7 +29,6 @@ EXCLUDED_FIELDS = (
NON_SQUASHABLE_FIELDS = (
'points',
'attachments',
- 'tags',
'watchers',
'description_diff',
'content_diff',
@@ -49,9 +48,14 @@ def summary(field, entries):
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]})]
diff --git a/tests/unit/test_notifications_squashing.py b/tests/unit/test_notifications_squashing.py
index a481d6f8..bb6b6228 100644
--- a/tests/unit/test_notifications_squashing.py
+++ b/tests/unit/test_notifications_squashing.py
@@ -84,3 +84,16 @@ def test_squash_values_diff_with_multiple_fields():
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)
From bc2f1b57df001544db333e6ec9abc8a81e3bf481 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jes=C3=BAs=20Espino?=
Date: Wed, 7 Feb 2018 10:48:04 +0100
Subject: [PATCH 40/49] Add advisory lock to send_notifications
---
.../management/commands/send_notifications.py | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/taiga/projects/notifications/management/commands/send_notifications.py b/taiga/projects/notifications/management/commands/send_notifications.py
index 988454eb..dc08c354 100644
--- a/taiga/projects/notifications/management/commands/send_notifications.py
+++ b/taiga/projects/notifications/management/commands/send_notifications.py
@@ -23,12 +23,18 @@ from taiga.base.utils.iterators import iter_queryset
from taiga.projects.notifications.models import HistoryChangeNotification
from taiga.projects.notifications.services import send_sync_notifications
+from django_pglocks import advisory_lock
+
class Command(BaseCommand):
def handle(self, *args, **options):
- qs = HistoryChangeNotification.objects.all()
- for change_notification in iter_queryset(qs, itersize=100):
- try:
- send_sync_notifications(change_notification.pk)
- except HistoryChangeNotification.DoesNotExist:
- pass
+ with advisory_lock("send-notifications-command", wait=False) as acquired:
+ if acquired:
+ qs = HistoryChangeNotification.objects.all()
+ for change_notification in iter_queryset(qs, itersize=100):
+ try:
+ send_sync_notifications(change_notification.pk)
+ except HistoryChangeNotification.DoesNotExist:
+ pass
+ else:
+ print("Other process already running")
From a59704af1ddc9f15e21cc44165cb3e450d0da6b9 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Thu, 8 Feb 2018 11:15:15 +0100
Subject: [PATCH 41/49] add front url for change mail notifications settings
---
taiga/front/urls.py | 1 +
1 file changed, 1 insertion(+)
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
From c949c67dc043c471dd704269e16ae51c450a8112 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Thu, 8 Feb 2018 11:15:54 +0100
Subject: [PATCH 42/49] add list unsubscribe header described in RFC2369
---
taiga/projects/notifications/services.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/taiga/projects/notifications/services.py b/taiga/projects/notifications/services.py
index b6c0fbdd..86f0240a 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,
@@ -273,6 +274,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 +287,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():
From c7d90ea9b7445ad94ddacc8907516130bc122f64 Mon Sep 17 00:00:00 2001
From: Miguel Gonzalez
Date: Thu, 8 Feb 2018 11:46:30 +0100
Subject: [PATCH 43/49] add link to email configuration settings as unsubscribe
option
---
taiga/base/templates/emails/base-body-html.jinja | 5 ++++-
taiga/base/templates/emails/hero-body-html.jinja | 5 ++++-
taiga/base/templates/emails/updates-body-html.jinja | 5 ++++-
taiga/locale/en/LC_MESSAGES/django.po | 8 +++++++-
4 files changed, 19 insertions(+), 4 deletions(-)
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 @@
\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
@@ -3966,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 ""
@@ -3984,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
@@ -3991,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/fi/LC_MESSAGES/django.po b/taiga/locale/fi/LC_MESSAGES/django.po
index ad977eba..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-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: 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:334
-#: taiga/projects/userstories/api.py:386 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"
@@ -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:"
"strong>\n"
" , 2017
# David Barragán , 2015
# Djyp Forest Fortin , 2015
-# Eric Longuemare , 2017
+# 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
@@ -29,9 +31,9 @@ msgid ""
msgstr ""
"Project-Id-Version: taiga-back\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: French (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -77,8 +79,8 @@ msgid "Error on creating new user."
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"
@@ -221,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:334
-#: taiga/projects/userstories/api.py:386 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é"
@@ -386,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."
@@ -441,6 +443,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\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"
@@ -895,7 +919,7 @@ msgstr "Authentification requise"
#: 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:303 taiga/webhooks/models.py:29
+#: taiga/users/models.py:310 taiga/webhooks/models.py:29
msgid "name"
msgstr "nom"
@@ -931,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"
@@ -1020,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:282
+#: 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"
@@ -1037,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
@@ -1195,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
@@ -1239,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
@@ -1564,35 +1608,41 @@ msgstr "Rendre privé"
msgid "Delete selected %(verbose_name_plural)s"
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"
@@ -1600,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"
@@ -1627,7 +1677,7 @@ msgstr "L'identifiant du projet de correspond pas entre l'objet et le projet"
#: 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"
@@ -1672,7 +1722,7 @@ msgstr "depuis le commentaire"
#: 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:309
+#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316
msgid "order"
msgstr "ordre"
@@ -1854,7 +1904,7 @@ msgstr "sujet"
#: 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:142
+#: taiga/users/models.py:149
msgid "color"
msgstr "couleur"
@@ -2025,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."
@@ -2074,7 +2124,7 @@ msgstr "Aime"
#: 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:305
+#: taiga/users/admin.py:58 taiga/users/models.py:312
msgid "slug"
msgstr "slug"
@@ -2137,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"
@@ -2408,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:434
+#: taiga/projects/notifications/services.py:440
msgid "Invalid value for notify level"
msgstr "Valeur non valide pour le niveau de notification"
@@ -3229,15 +3279,15 @@ msgstr "La couleur n'est pas un code HEX valide."
msgid "The tag doesn't exist."
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."
@@ -3957,27 +4007,27 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Participant"
-#: taiga/projects/userstories/api.py:129
+#: 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:133
+#: 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:227
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:234
+#: taiga/projects/userstories/api.py:241
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:249
+#: taiga/projects/userstories/api.py:256
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
@@ -4064,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"
@@ -4129,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"
@@ -4210,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."
@@ -4222,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."
@@ -4248,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"
diff --git a/taiga/locale/it/LC_MESSAGES/django.po b/taiga/locale/it/LC_MESSAGES/django.po
index d66cbc81..2c61f98b 100644
--- a/taiga/locale/it/LC_MESSAGES/django.po
+++ b/taiga/locale/it/LC_MESSAGES/django.po
@@ -16,9 +16,9 @@ msgid ""
msgstr ""
"Project-Id-Version: taiga-back\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: Italian (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/it/)\n"
"MIME-Version: 1.0\n"
@@ -64,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"
@@ -202,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:334
-#: taiga/projects/userstories/api.py:386 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"
@@ -366,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."
@@ -421,6 +421,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\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"
@@ -970,7 +960,7 @@ msgstr "E' richiesta l'autenticazione"
#: 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:303 taiga/webhooks/models.py:29
+#: taiga/users/models.py:310 taiga/webhooks/models.py:29
msgid "name"
msgstr "nome"
@@ -1006,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."
@@ -1101,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:282
+#: 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"
@@ -1169,6 +1159,10 @@ msgid ""
"\n"
" - Status: **{src_status}** → **{dst_status}**"
msgstr ""
+"{user_text} ha cambiato lo stato da [{platform} commit]({commit_url} \"Vedi "
+"il commit '{commit_id} - {commit_short_message}'\")\n"
+"\n"
+" - Stato: **{src_status}** → **{dst_status}**"
#: taiga/hooks/event_hooks.py:161
#, python-brace-format
@@ -1188,6 +1182,9 @@ msgid ""
"({commit_url} \"See commit '{commit_id} - {commit_short_message}'\") "
"\"{commit_message}\""
msgstr ""
+"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
#, python-brace-format
@@ -1253,7 +1250,7 @@ msgstr "project_type {} non valido"
#: taiga/importers/jira/api.py:192
msgid "Invalid Jira server configuration."
-msgstr ""
+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
@@ -1711,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"
@@ -1747,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."
@@ -1774,7 +1777,7 @@ msgstr "L'ID di progetto non corrisponde tra oggetto e progetto"
#: 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"
@@ -1819,7 +1822,7 @@ msgstr "dal commento"
#: 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:309
+#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316
msgid "order"
msgstr "ordine"
@@ -2002,7 +2005,7 @@ msgstr "soggeto"
#: 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:142
+#: taiga/users/models.py:149
msgid "color"
msgstr "colore"
@@ -2173,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"
@@ -2222,7 +2225,7 @@ msgstr "Piaciuto"
#: 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:305
+#: taiga/users/admin.py:58 taiga/users/models.py:312
msgid "slug"
msgstr "lumaca"
@@ -2286,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"
@@ -2557,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:434
+#: taiga/projects/notifications/services.py:440
msgid "Invalid value for notify level"
msgstr "Valore non valido per il livello di notifica"
@@ -3694,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."
@@ -4469,26 +4472,26 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Stakeholder"
-#: taiga/projects/userstories/api.py:129
+#: 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:133
+#: 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:227
+#: 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:234
+#: 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:249
+#: taiga/projects/userstories/api.py:256
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "Stiamo generando la storia utente #{ref} - {subject}"
@@ -4723,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."
@@ -4735,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."
@@ -4762,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 "numero massimo di progetti privati di tua proprietà"
-#: taiga/users/models.py:172
+#: taiga/users/models.py:179
msgid "max number of owned public projects"
msgstr "numero massimo di progetti pubblici di tua proprietà"
-#: taiga/users/models.py:175
+#: 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:179
+#: 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:307
+#: 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 e668abd2..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-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: 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:334
-#: taiga/projects/userstories/api.py:386 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 "ブロックされた要素"
@@ -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:"
"strong>\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"
@@ -905,7 +895,7 @@ msgstr "認証が必要です。"
#: 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:303 taiga/webhooks/models.py:29
+#: taiga/users/models.py:310 taiga/webhooks/models.py:29
msgid "name"
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 "メールアドレス"
@@ -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:282
+#: 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 "プロジェクトは存在していません。"
@@ -1572,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"
@@ -1608,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 "閲覧する権限がありません。"
@@ -1635,7 +1631,7 @@ msgstr ""
#: 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 "プロジェクト"
@@ -1680,7 +1676,7 @@ msgstr ""
#: 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:309
+#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316
msgid "order"
msgstr "並べ替え"
@@ -1841,7 +1837,7 @@ msgstr "件名"
#: 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:142
+#: taiga/users/models.py:149
msgid "color"
msgstr "色"
@@ -2012,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,7 +2057,7 @@ msgstr "いいねの数"
#: 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:305
+#: taiga/users/admin.py:58 taiga/users/models.py:312
msgid "slug"
msgstr "スラグ"
@@ -2124,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 "トークン"
@@ -2395,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:434
+#: taiga/projects/notifications/services.py:440
msgid "Invalid value for notify level"
msgstr ""
@@ -3092,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 ""
@@ -3716,25 +3712,25 @@ msgstr "プロダクトオーナー"
msgid "Stakeholder"
msgstr ""
-#: taiga/projects/userstories/api.py:129
+#: 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:133
+#: 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:227
-#, python-brace-format
-msgid "Invalid role id '{role_id}'"
-msgstr ""
-
#: taiga/projects/userstories/api.py:234
#, python-brace-format
+msgid "Invalid role id '{role_id}'"
+msgstr ""
+
+#: taiga/projects/userstories/api.py:241
+#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:249
+#: taiga/projects/userstories/api.py:256
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr ""
@@ -3961,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 ce8fcd05..f7b87fbf 100644
--- a/taiga/locale/ko/LC_MESSAGES/django.po
+++ b/taiga/locale/ko/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-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: Korean (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/ko/)\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:334
-#: taiga/projects/userstories/api.py:386 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 "차단된 엘리먼트"
@@ -360,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'는 반드시 정수이어야 합니다."
@@ -415,6 +415,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\n"
" \n"
" "
msgstr ""
-"\n"
-" 타이가 지원:"
-"strong>\n"
-" %(support_url)s\n"
-" \n"
-" 연락처:"
-"strong>\n"
-" \n"
-" %(support_email)s\n"
-" \n"
-" \n"
-" 메일링 목록:"
-"strong>\n"
-" \n"
-" %(mailing_list_url)s\n"
-" \n"
-" "
#: taiga/base/templates/emails/hero-body-html.jinja:6
msgid "You have been Taigatized"
@@ -908,7 +894,7 @@ msgstr "인증 필요"
#: 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:303 taiga/webhooks/models.py:29
+#: taiga/users/models.py:310 taiga/webhooks/models.py:29
msgid "name"
msgstr "이름"
@@ -944,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 "이메일 주소"
@@ -1034,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:282
+#: 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 "프로젝트가 존재하지 않습니다."
@@ -1644,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"
@@ -1680,7 +1672,7 @@ msgstr ""
"프로젝트는 반드시 소유자가 있어야하며 사용자 중 적어도 한 명이 활성 관리자이"
"어야 합니다."
-#: taiga/projects/api.py:819
+#: taiga/projects/api.py:866
msgid "You don't have permisions to see that."
msgstr "볼 수 있는 권한이 없습니다."
@@ -1707,7 +1699,7 @@ msgstr "프로젝트 아이디가 객체와 프로젝트간에 알맞지 않습
#: 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 "프로젝트"
@@ -1752,7 +1744,7 @@ msgstr "댓글로부터"
#: 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:309
+#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316
msgid "order"
msgstr "순서"
@@ -1933,7 +1925,7 @@ msgstr "제목"
#: 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:142
+#: taiga/users/models.py:149
msgid "color"
msgstr "색"
@@ -2104,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 "이 이슈에 형태를 설정할 권한이 없습니다."
@@ -2153,7 +2145,7 @@ msgstr "좋아요"
#: 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:305
+#: taiga/users/admin.py:58 taiga/users/models.py:312
msgid "slug"
msgstr "슬러그"
@@ -2216,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 "토큰"
@@ -2487,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:434
+#: taiga/projects/notifications/services.py:440
msgid "Invalid value for notify level"
msgstr "알림 수준의 값이 유효하지 않습니다."
@@ -3492,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 "이 태스크의 상태를 설정할 권한이 없습니다."
@@ -4251,25 +4243,25 @@ msgstr "제품 소유자"
msgid "Stakeholder"
msgstr "이해관계자"
-#: taiga/projects/userstories/api.py:129
+#: 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:133
+#: 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:227
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr "'{role_id}' 역할 아이디는 유효하지 않습니다."
-#: taiga/projects/userstories/api.py:234
+#: taiga/projects/userstories/api.py:241
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr "'{points_id}' 포인트 아이디는 유효하지 않습니다."
-#: taiga/projects/userstories/api.py:249
+#: taiga/projects/userstories/api.py:256
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "유저 스토리 생성 #{ref} - {subject}"
@@ -4506,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."
@@ -4541,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 794f2890..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-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: 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:334
-#: taiga/projects/userstories/api.py:386 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"
@@ -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:"
"strong>\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:334
-#: taiga/projects/userstories/api.py:386 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 ""
@@ -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:"
"strong>\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: Polish (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -61,8 +61,8 @@ 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"
@@ -195,12 +195,12 @@ 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:334
-#: taiga/projects/userstories/api.py:386 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 "Element zablokowany"
@@ -358,12 +358,12 @@ msgstr "Błąd warunków wstępnych"
msgid "No room left for more projects."
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."
@@ -413,6 +413,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\n"
" , 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
@@ -21,15 +22,15 @@
# 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-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragán \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"
@@ -64,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."
@@ -75,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"
@@ -208,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:334
-#: taiga/projects/userstories/api.py:386 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"
@@ -371,12 +372,12 @@ msgstr "Erro de pré-condição"
msgid "No room left for more projects."
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."
@@ -426,6 +427,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\n"
" \n"
" "
msgstr ""
-"\n"
-" Suporte do Taiga:"
-"\n"
-" %(support_url)s\n"
-" \n"
-" Nos contate:"
-"strong>\n"
-" \n"
-" %(support_email)s\n"
-" \n"
-" \n"
-" Lista de "
-"discussão:\n"
-" \n"
-" %(mailing_list_url)s\n"
-" \n"
-" "
#: taiga/base/templates/emails/hero-body-html.jinja:6
msgid "You have been Taigatized"
@@ -928,7 +915,7 @@ msgstr "Autenticação necessária"
#: 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:303 taiga/webhooks/models.py:29
+#: taiga/users/models.py:310 taiga/webhooks/models.py:29
msgid "name"
msgstr "Nome"
@@ -964,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"
@@ -1054,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:282
+#: 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"
@@ -1201,7 +1188,7 @@ msgstr ""
#: taiga/importers/jira/api.py:192
msgid "Invalid Jira server configuration."
-msgstr ""
+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
@@ -1445,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"
@@ -1457,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"
@@ -1493,15 +1480,15 @@ 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"
@@ -1521,7 +1508,7 @@ 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"
@@ -1569,7 +1556,7 @@ 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"
@@ -1647,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
@@ -1656,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 "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"
@@ -1699,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"
@@ -1726,7 +1721,7 @@ msgstr "ID do projeto não combina entre objeto e projeto"
#: 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"
@@ -1762,7 +1757,7 @@ 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
@@ -1771,7 +1766,7 @@ msgstr ""
#: 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:309
+#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316
msgid "order"
msgstr "ordem"
@@ -1932,7 +1927,7 @@ msgstr "assunto"
#: 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:142
+#: taiga/users/models.py:149
msgid "color"
msgstr "cor"
@@ -1951,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
@@ -1964,7 +1959,7 @@ 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"
@@ -2103,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."
@@ -2153,7 +2148,7 @@ msgstr "Curtidas"
#: 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:305
+#: taiga/users/admin.py:58 taiga/users/models.py:312
msgid "slug"
msgstr "slug"
@@ -2206,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"
@@ -2216,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"
@@ -2487,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:434
+#: taiga/projects/notifications/services.py:440
msgid "Invalid value for notify level"
msgstr "Valor inválido para nível de notificação"
@@ -3461,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."
@@ -4149,29 +4144,29 @@ msgstr "Product Owner"
msgid "Stakeholder"
msgstr "Stakeholder"
-#: taiga/projects/userstories/api.py:129
+#: 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:133
+#: 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:227
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:234
+#: taiga/projects/userstories/api.py:241
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr ""
-#: taiga/projects/userstories/api.py:249
+#: 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}"
@@ -4401,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."
@@ -4413,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."
@@ -4438,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"
diff --git a/taiga/locale/ru/LC_MESSAGES/django.po b/taiga/locale/ru/LC_MESSAGES/django.po
index fcb0186b..f0276b20 100644
--- a/taiga/locale/ru/LC_MESSAGES/django.po
+++ b/taiga/locale/ru/LC_MESSAGES/django.po
@@ -3,7 +3,9 @@
# This file is distributed under the same license as the taiga-back package.
#
# Translators:
-# Dmitry Pugats , 2015
+# Alibek Kaparov , 2018
+# Artem Biryukov , 2017
+# Дмитрий Пугац , 2015
# Dmitriy Volkov , 2015
# Dmitry Lobanov , 2015
# Dmitry Vinokurov , 2015
@@ -11,6 +13,7 @@
# Igor Bezukladnikov , 2016
# Ilya Rogov, 2016
# ratijas , 2016
+# Miguel Gonzalez , 2018
# Sergey Kustov , 2016
# Данил Тонких , 2017
# Марат , 2015
@@ -19,9 +22,9 @@ msgid ""
msgstr ""
"Project-Id-Version: taiga-back\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragán \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"
@@ -69,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 "Неверный токен"
@@ -112,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."
@@ -207,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:334
-#: taiga/projects/userstories/api.py:386 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 "Заблокированный элемент"
@@ -369,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' должно быть целым значением."
@@ -424,6 +427,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\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: Swedish (http://www.transifex.com/taiga-agile-llc/taiga-back/"
"language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -57,8 +57,8 @@ 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. "
@@ -193,12 +193,12 @@ 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:334
-#: taiga/projects/userstories/api.py:386 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 "Blockerat element"
@@ -356,12 +356,12 @@ msgstr "Förutsättningsfel"
msgid "No room left for more projects."
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."
@@ -411,6 +411,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\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:334
-#: taiga/projects/userstories/api.py:386 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"
@@ -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:"
"strong>\n"
" , 2016
# Hanbing Yin , 2016
# ifelse , 2015
+# Lincan Li , 2017
# Longyang Zhang , 2015
# Qi Fan , 2016
# qing cao , 2017
@@ -21,9 +22,9 @@ msgid ""
msgstr ""
"Project-Id-Version: taiga-back\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: Chinese Simplified (http://www.transifex.com/taiga-agile-llc/"
"taiga-back/language/zh-Hans/)\n"
"MIME-Version: 1.0\n"
@@ -69,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 "无效令牌"
@@ -196,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:334
-#: taiga/projects/userstories/api.py:386 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 "冻结的元素"
@@ -357,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'必须是一个整数值"
@@ -412,6 +413,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\n"
" \n"
" "
msgstr ""
-"\n"
-" 帮助:\n"
-" %(support_url)s\n"
-" \n"
-" 联系我们:"
-"strong>\n"
-" \n"
-" %(support_email)s\n"
-" \n"
-" \n"
-" 邮件列表:"
-"strong>\n"
-" \n"
-" %(mailing_list_url)s\n"
-" \n"
-" "
#: taiga/base/templates/emails/hero-body-html.jinja:6
msgid "You have been Taigatized"
@@ -900,7 +888,7 @@ msgstr "需要身份认证"
#: 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:303 taiga/webhooks/models.py:29
+#: taiga/users/models.py:310 taiga/webhooks/models.py:29
msgid "name"
msgstr "名称"
@@ -936,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 "邮件地址"
@@ -1026,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:282
+#: 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 "项目不存在"
@@ -1176,7 +1164,7 @@ msgstr "无效的项目类型 {}"
#: taiga/importers/jira/api.py:192
msgid "Invalid Jira server configuration."
-msgstr ""
+msgstr "Jira 服务器配置失败"
#: taiga/importers/jira/api.py:233 taiga/importers/pivotal/api.py:138
#: taiga/importers/trello/api.py:143
@@ -1223,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
@@ -1257,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
@@ -1562,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 "你无权访问"
@@ -1623,7 +1617,7 @@ msgstr "对象和项目间的项目ID不匹配"
#: 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 "项目"
@@ -1668,7 +1662,7 @@ msgstr ""
#: 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:309
+#: taiga/projects/wiki/models.py:77 taiga/users/models.py:316
msgid "order"
msgstr "次序"
@@ -1829,7 +1823,7 @@ msgstr "主题"
#: 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:142
+#: taiga/users/models.py:149
msgid "color"
msgstr "颜色"
@@ -2000,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 "您没有权限设置此类型这一问题。"
@@ -2049,7 +2043,7 @@ msgstr "点赞"
#: 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:305
+#: taiga/users/admin.py:58 taiga/users/models.py:312
msgid "slug"
msgstr "代称"
@@ -2112,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 "令牌"
@@ -2383,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:434
+#: taiga/projects/notifications/services.py:440
msgid "Invalid value for notify level"
msgstr "此通知级别该值非法"
@@ -3341,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 "你无权对这个任务设置该状态。"
@@ -4084,25 +4078,25 @@ msgstr "产品所有者"
msgid "Stakeholder"
msgstr "相关人员"
-#: taiga/projects/userstories/api.py:129
+#: 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:133
+#: 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:227
+#: taiga/projects/userstories/api.py:234
#, python-brace-format
msgid "Invalid role id '{role_id}'"
msgstr "无效的角色ID '{role_id}'"
-#: taiga/projects/userstories/api.py:234
+#: taiga/projects/userstories/api.py:241
#, python-brace-format
msgid "Invalid points id '{points_id}'"
msgstr "无效的点数ID '{points_id}'"
-#: taiga/projects/userstories/api.py:249
+#: taiga/projects/userstories/api.py:256
#, python-brace-format
msgid "Generating the user story #{ref} - {subject}"
msgstr "生成用户故事#{ref} - {subject}"
@@ -4329,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 d59f2452..e2075f18 100644
--- a/taiga/locale/zh-Hant/LC_MESSAGES/django.po
+++ b/taiga/locale/zh-Hant/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-10-06 11:42+0200\n"
-"PO-Revision-Date: 2017-10-06 09:43+0000\n"
-"Last-Translator: David Barragá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: Chinese Traditional (http://www.transifex.com/taiga-agile-llc/"
"taiga-back/language/zh-Hant/)\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 "無效的代碼 "
@@ -188,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:334
-#: taiga/projects/userstories/api.py:386 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 ""
@@ -349,12 +349,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 "專案須為整數值"
@@ -404,6 +404,12 @@ msgstr "Taiga.io"
#, python-format
msgid ""
"\n"
+" Configure email "
+"notifications or unsubscribe:\n"
+" "
+"%(unsubscribe_url)s\n"
+" \n"
" Taiga Support:"
"strong>\n"
" |