diff --git a/scripts/manage_translations.py b/scripts/manage_translations.py index f79b2fc8..07a20608 100644 --- a/scripts/manage_translations.py +++ b/scripts/manage_translations.py @@ -55,6 +55,7 @@ def _get_locale_dirs(resources): print("You have specified some unknown resources. " "Available resource names are: {0}".format(", ".join(res_names))) exit(1) + return dirs @@ -155,7 +156,7 @@ def fetch(resources=None, languages=None): # Transifex pull if languages is None: call("tx pull -r {res} -a -f --minimum-perc=5".format(res=_tx_resource_for_name(name)), shell=True) - languages = sorted([d for d in os.listdir(dir_) if not d.startswith("_") and d != "en"]) + languages = sorted([d for d in os.listdir(dir_) if not d.startswith("_") and os.path.isdir(os.path.join(dir_, d)) and d != "en"]) else: for lang in languages: call("tx pull -r {res} -f -l {lang}".format(res=_tx_resource_for_name(name), lang=lang), shell=True) diff --git a/taiga/base/api/mixins.py b/taiga/base/api/mixins.py index f1df9fb1..5576db90 100644 --- a/taiga/base/api/mixins.py +++ b/taiga/base/api/mixins.py @@ -95,9 +95,9 @@ class ListModelMixin(object): # Default is to allow empty querysets. This can be altered by setting # `.allow_empty = False`, to raise 404 errors on empty querysets. if not self.allow_empty and not self.object_list: - warnings.warn(_('The `allow_empty` parameter is due to be deprecated. ' - 'To use `allow_empty=False` style behavior, You should override ' - '`get_queryset()` and explicitly raise a 404 on empty querysets.'), + warnings.warn('The `allow_empty` parameter is due to be deprecated. ' + 'To use `allow_empty=False` style behavior, You should override ' + '`get_queryset()` and explicitly raise a 404 on empty querysets.', PendingDeprecationWarning) class_name = self.__class__.__name__ error_msg = self.empty_error % {'class_name': class_name} diff --git a/taiga/base/api/serializers.py b/taiga/base/api/serializers.py index 979fb520..8add00ba 100644 --- a/taiga/base/api/serializers.py +++ b/taiga/base/api/serializers.py @@ -74,7 +74,7 @@ def _resolve_model(obj): elif inspect.isclass(obj) and issubclass(obj, models.Model): return obj else: - raise ValueError(_("{0} is not a Django model".format(obj))) + raise ValueError("{0} is not a Django model".format(obj)) def pretty_name(name): @@ -223,10 +223,10 @@ class BaseSerializer(WritableField): self._errors = None if many and instance is not None and not hasattr(instance, "__iter__"): - raise ValueError(_("instance should be a queryset or other iterable with many=True")) + raise ValueError("instance should be a queryset or other iterable with many=True") if allow_add_remove and not many: - raise ValueError(_("allow_add_remove should only be used for bulk updates, but you have not set many=True")) + raise ValueError("allow_add_remove should only be used for bulk updates, but you have not set many=True") ##### # Methods to determine which fields to use when (de)serializing objects. diff --git a/taiga/base/api/views.py b/taiga/base/api/views.py index 4c0989ba..7a751eaf 100644 --- a/taiga/base/api/views.py +++ b/taiga/base/api/views.py @@ -349,9 +349,9 @@ class APIView(View): Returns the final response object. """ # Make the error obvious if a proper response is not returned - assert isinstance(response, HttpResponseBase), _('Expected a `Response`, `HttpResponse` or ' - '`HttpStreamingResponse` to be returned from the view, ' - 'but received a `%s`' % type(response)) + assert isinstance(response, HttpResponseBase), ('Expected a `Response`, `HttpResponse` or ' + '`HttpStreamingResponse` to be returned from the view, ' + 'but received a `%s`' % type(response)) if isinstance(response, Response): if not getattr(request, 'accepted_renderer', None): diff --git a/taiga/base/api/viewsets.py b/taiga/base/api/viewsets.py index 076a9742..dd56cd14 100644 --- a/taiga/base/api/viewsets.py +++ b/taiga/base/api/viewsets.py @@ -53,12 +53,12 @@ class ViewSetMixin(object): # sanitize keyword arguments for key in initkwargs: if key in cls.http_method_names: - raise TypeError(_("You tried to pass in the %s method name as a " - "keyword argument to %s(). Don't do that." - % (key, cls.__name__))) + raise TypeError("You tried to pass in the %s method name as a " + "keyword argument to %s(). Don't do that." + % (key, cls.__name__)) if not hasattr(cls, key): - raise TypeError(_("%s() received an invalid keyword %r" - % (cls.__name__, key))) + raise TypeError("%s() received an invalid keyword %r" + % (cls.__name__, key)) def view(request, *args, **kwargs): self = cls(**initkwargs) diff --git a/taiga/base/filters.py b/taiga/base/filters.py index b1e4e012..635a734f 100644 --- a/taiga/base/filters.py +++ b/taiga/base/filters.py @@ -115,9 +115,9 @@ class PermissionBasedFilterBackend(FilterBackend): try: project_id = int(request.QUERY_PARAMS["project"]) except: - logger.error(_("Filtering project diferent value than an integer: {}".format( + logger.error("Filtering project diferent value than an integer: {}".format( request.QUERY_PARAMS["project"] - ))) + )) raise exc.BadRequest(_("'project' must be an integer value.")) qs = queryset @@ -204,9 +204,9 @@ class CanViewProjectObjFilterBackend(FilterBackend): try: project_id = int(request.QUERY_PARAMS["project"]) except: - logger.error(_("Filtering project diferent value than an integer: {}".format( + logger.error("Filtering project diferent value than an integer: {}".format( request.QUERY_PARAMS["project"] - ))) + )) raise exc.BadRequest(_("'project' must be an integer value.")) qs = queryset @@ -261,8 +261,8 @@ class MembersFilterBackend(PermissionBasedFilterBackend): try: project_id = int(request.QUERY_PARAMS["project"]) except: - logger.error(_("Filtering project diferent value than an integer: {}".format( - request.QUERY_PARAMS["project"]))) + logger.error("Filtering project diferent value than an integer: {}".format( + request.QUERY_PARAMS["project"])) raise exc.BadRequest(_("'project' must be an integer value.")) if project_id: diff --git a/taiga/base/utils/signals.py b/taiga/base/utils/signals.py index 0c326c95..1fe9c071 100644 --- a/taiga/base/utils/signals.py +++ b/taiga/base/utils/signals.py @@ -24,7 +24,7 @@ from contextlib import contextmanager def without_signals(*disablers): for disabler in disablers: if not (isinstance(disabler, list) or isinstance(disabler, tuple)) or len(disabler) == 0: - raise ValueError(_("The parameters must be lists of at least one parameter (the signal).")) + raise ValueError("The parameters must be lists of at least one parameter (the signal).") signal, *ids = disabler signal.backup_receivers = signal.receivers diff --git a/taiga/events/events.py b/taiga/events/events.py index d04fdd61..8e32dcf7 100644 --- a/taiga/events/events.py +++ b/taiga/events/events.py @@ -79,7 +79,7 @@ def emit_event_for_ids(ids, content_type:str, projectid:int, *, type:str="change", channel:str="events", sessionid:str=None): assert type in set(["create", "change", "delete"]) assert isinstance(ids, collections.Iterable) - assert content_type, "content_type parameter is mandatory" + assert content_type, "'content_type' parameter is mandatory" app_name, model_name = content_type.split(".", 1) routing_key = "changes.project.{0}.{1}".format(projectid, app_name) diff --git a/taiga/export_import/dump_service.py b/taiga/export_import/dump_service.py index 29605c8a..013e93e9 100644 --- a/taiga/export_import/dump_service.py +++ b/taiga/export_import/dump_service.py @@ -93,7 +93,7 @@ def dict_to_project(data, owner=None): project_serialized = service.store_project(data) if not project_serialized: - raise TaigaImportError(_("error importing project")) + raise TaigaImportError(_("error importing project data")) proj = project_serialized.object @@ -106,12 +106,12 @@ def dict_to_project(data, owner=None): service.store_choices(proj, data, "severities", serializers.SeverityExportSerializer) if service.get_errors(clear=False): - raise TaigaImportError(_("error importing choices")) + raise TaigaImportError(_("error importing lists of project attributes")) service.store_default_choices(proj, data) if service.get_errors(clear=False): - raise TaigaImportError(_("error importing default choices")) + raise TaigaImportError(_("error importing default project attributes values")) service.store_custom_attributes(proj, data, "userstorycustomattributes", serializers.UserStoryCustomAttributeExportSerializer) @@ -121,7 +121,7 @@ def dict_to_project(data, owner=None): serializers.IssueCustomAttributeExportSerializer) if service.get_errors(clear=False): - raise TaigaImportError(_("error importing custom fields")) + raise TaigaImportError(_("error importing custom attributes")) service.store_roles(proj, data) @@ -146,7 +146,7 @@ def dict_to_project(data, owner=None): store_milestones(proj, data) if service.get_errors(clear=False): - raise TaigaImportError(_("error importing milestones")) + raise TaigaImportError(_("error importing sprints")) store_wiki_pages(proj, data) @@ -171,12 +171,12 @@ def dict_to_project(data, owner=None): store_tasks(proj, data) if service.get_errors(clear=False): - raise TaigaImportError(_("error importing issues")) + raise TaigaImportError(_("error importing tasks")) store_tags_colors(proj, data) if service.get_errors(clear=False): - raise TaigaImportError(_("error importing colors")) + raise TaigaImportError(_("error importing tags")) store_timeline_entries(proj, data) if service.get_errors(clear=False): diff --git a/taiga/locale/ca/LC_MESSAGES/django.po b/taiga/locale/ca/LC_MESSAGES/django.po index 3b700f49..5888f708 100644 --- a/taiga/locale/ca/LC_MESSAGES/django.po +++ b/taiga/locale/ca/LC_MESSAGES/django.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-04 11:07+0200\n" -"PO-Revision-Date: 2015-05-04 09:07+0000\n" +"POT-Creation-Date: 2015-05-04 18:39+0200\n" +"PO-Revision-Date: 2015-05-04 16:28+0000\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/taiga-back/" "language/ca/)\n" @@ -181,13 +181,6 @@ msgstr "" "Puja una imatge vàlida. El fitxer que has pujat no ès una imatge o el fitxer " "està corrupte." -#: taiga/base/api/mixins.py:98 -msgid "" -"The `allow_empty` parameter is due to be deprecated. To use " -"`allow_empty=False` style behavior, You should override `get_queryset()` and " -"explicitly raise a 404 on empty querysets." -msgstr "" - #: taiga/base/api/pagination.py:115 msgid "Page is not 'last', nor can it be converted to an int." msgstr "La página no es 'last' ni pot ser convertida a un 'int'" @@ -237,21 +230,6 @@ msgstr "" msgid "Incorrect type. Expected url string, received %s." msgstr "" -#: taiga/base/api/serializers.py:77 -#, python-brace-format -msgid "{0} is not a Django model" -msgstr "" - -#: taiga/base/api/serializers.py:226 -msgid "instance should be a queryset or other iterable with many=True" -msgstr "" - -#: taiga/base/api/serializers.py:229 -msgid "" -"allow_add_remove should only be used for bulk updates, but you have not set " -"many=True" -msgstr "" - #: taiga/base/api/serializers.py:296 msgid "Invalid data" msgstr "" @@ -276,29 +254,10 @@ msgstr "" msgid "Permission denied" msgstr "" -#: taiga/base/api/views.py:352 -#, python-format -msgid "" -"Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be " -"returned from the view, but received a `%s`" -msgstr "" - #: taiga/base/api/views.py:451 msgid "Server application error" msgstr "" -#: taiga/base/api/viewsets.py:56 -#, python-format -msgid "" -"You tried to pass in the %s method name as a keyword argument to %s(). Don't " -"do that." -msgstr "" - -#: taiga/base/api/viewsets.py:60 -#, python-format -msgid "%s() received an invalid keyword %r" -msgstr "" - #: taiga/base/connectors/exceptions.py:24 msgid "Connection error." msgstr "Error de connexió." @@ -374,11 +333,6 @@ msgstr "Precondició errònia." msgid "Error in filter params types." msgstr "" -#: taiga/base/filters.py:118 taiga/base/filters.py:207 -#: taiga/base/filters.py:264 -msgid "Filtering project diferent value than an integer: {}" -msgstr "" - #: taiga/base/filters.py:121 taiga/base/filters.py:210 #: taiga/base/filters.py:266 msgid "'project' must be an integer value." @@ -476,10 +430,6 @@ msgstr "" " Comentari: %(comment)s\n" " " -#: taiga/base/utils/signals.py:27 -msgid "The parameters must be lists of at least one parameter (the signal)." -msgstr "" - #: taiga/export_import/api.py:183 msgid "Needed dump file" msgstr "Es necessita arxiu dump." @@ -489,19 +439,19 @@ msgid "Invalid dump format" msgstr "Format d'arxiu dump invàlid" #: taiga/export_import/dump_service.py:96 -msgid "error importing project" +msgid "error importing project data" msgstr "" #: taiga/export_import/dump_service.py:109 -msgid "error importing choices" +msgid "error importing lists of project attributes" msgstr "" #: taiga/export_import/dump_service.py:114 -msgid "error importing default choices" +msgid "error importing default project attributes values" msgstr "" #: taiga/export_import/dump_service.py:124 -msgid "error importing custom fields" +msgid "error importing custom attributes" msgstr "" #: taiga/export_import/dump_service.py:129 @@ -513,7 +463,7 @@ msgid "error importing memberships" msgstr "" #: taiga/export_import/dump_service.py:149 -msgid "error importing milestones" +msgid "error importing sprints" msgstr "" #: taiga/export_import/dump_service.py:154 @@ -525,7 +475,6 @@ msgid "error importing wiki links" msgstr "" #: taiga/export_import/dump_service.py:164 -#: taiga/export_import/dump_service.py:174 msgid "error importing issues" msgstr "" @@ -533,8 +482,12 @@ msgstr "" msgid "error importing user stories" msgstr "" +#: taiga/export_import/dump_service.py:174 +msgid "error importing tasks" +msgstr "" + #: taiga/export_import/dump_service.py:179 -msgid "error importing colors" +msgid "error importing tags" msgstr "" #: taiga/export_import/dump_service.py:183 @@ -558,7 +511,7 @@ msgstr "Conté camps personalitzats invàlids." #: taiga/export_import/serializers.py:466 #: taiga/projects/milestones/serializers.py:63 #: taiga/projects/serializers.py:65 taiga/projects/serializers.py:91 -#: taiga/projects/serializers.py:114 taiga/projects/serializers.py:149 +#: taiga/projects/serializers.py:121 taiga/projects/serializers.py:163 msgid "Name duplicated for the project" msgstr "" @@ -907,7 +860,7 @@ msgstr "" msgid "Not valid template description" msgstr "" -#: taiga/projects/api.py:469 taiga/projects/serializers.py:235 +#: taiga/projects/api.py:469 taiga/projects/serializers.py:256 msgid "At least one of the user must be an active admin" msgstr "Al menys un del usuaris ha de ser administrador" @@ -1264,20 +1217,20 @@ msgstr "està bloquejat" #: taiga/projects/mixins/ordering.py:47 #, python-brace-format -msgid "{param} parameter is mandatory" -msgstr "{param} paràmetre és obligatori" +msgid "'{param}' parameter is mandatory" +msgstr "" #: taiga/projects/mixins/ordering.py:51 -msgid "project parameter is mandatory" -msgstr "el paràmetre de projecte és obligatori" +msgid "'project' parameter is mandatory" +msgstr "" #: taiga/projects/models.py:59 msgid "email" msgstr "email" #: taiga/projects/models.py:61 -msgid "creado el" -msgstr "creat el" +msgid "create at" +msgstr "" #: taiga/projects/models.py:63 taiga/users/models.py:126 msgid "token" @@ -1531,51 +1484,51 @@ msgstr "Versió" msgid "You can't leave the project if there are no more owners" msgstr "No pots deixar el projecte si no hi ha més amos" -#: taiga/projects/serializers.py:211 +#: taiga/projects/serializers.py:232 msgid "Email address is already taken" msgstr "Aquest e-mail ja està en ús" -#: taiga/projects/serializers.py:223 +#: taiga/projects/serializers.py:244 msgid "Invalid role for the project" msgstr "Rol invàlid per al projecte" -#: taiga/projects/serializers.py:321 +#: taiga/projects/serializers.py:342 msgid "Total milestones must be major or equal to zero" msgstr "" -#: taiga/projects/serializers.py:378 +#: taiga/projects/serializers.py:399 msgid "Default options" msgstr "Opcions per defecte" -#: taiga/projects/serializers.py:379 +#: taiga/projects/serializers.py:400 msgid "User story's statuses" msgstr "Estatus d'històries d'usuari" -#: taiga/projects/serializers.py:380 +#: taiga/projects/serializers.py:401 msgid "Points" msgstr "Punts" -#: taiga/projects/serializers.py:381 +#: taiga/projects/serializers.py:402 msgid "Task's statuses" msgstr "Estatus de tasques" -#: taiga/projects/serializers.py:382 +#: taiga/projects/serializers.py:403 msgid "Issue's statuses" msgstr "Estatus d'incidéncies" -#: taiga/projects/serializers.py:383 +#: taiga/projects/serializers.py:404 msgid "Issue's types" msgstr "Tipus d'incidéncies" -#: taiga/projects/serializers.py:384 +#: taiga/projects/serializers.py:405 msgid "Priorities" msgstr "Prioritats" -#: taiga/projects/serializers.py:385 +#: taiga/projects/serializers.py:406 msgid "Severities" msgstr "Severitats" -#: taiga/projects/serializers.py:386 +#: taiga/projects/serializers.py:407 msgid "Roles" msgstr "Rols" @@ -1658,8 +1611,8 @@ msgstr "" " " #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:19 -msgid "Accept your invitation to Taiga following whis link:" -msgstr "Acepta la invitació a Taiga fent click a aquest link:" +msgid "Accept your invitation to Taiga following this link:" +msgstr "" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:21 msgid "" @@ -1989,12 +1942,12 @@ msgid "Vote" msgstr "Vot" #: taiga/projects/wiki/api.py:60 -msgid "No content parameter" -msgstr "No hi ha parametre de contingut" +msgid "'content' parameter is mandatory" +msgstr "" #: taiga/projects/wiki/api.py:63 -msgid "No project_id parameter" -msgstr "No hi ha parametre de project_id" +msgid "'project_id' parameter is mandatory" +msgstr "" #: taiga/projects/wiki/models.py:36 msgid "last modifier" diff --git a/taiga/locale/en/LC_MESSAGES/django.po b/taiga/locale/en/LC_MESSAGES/django.po index 465934ab..ea2e36cf 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: 2015-05-04 11:07+0200\n" +"POT-Creation-Date: 2015-05-04 18:39+0200\n" "PO-Revision-Date: 2015-03-25 20:09+0100\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Taiga Dev Team \n" @@ -173,13 +173,6 @@ msgid "" "corrupted image." msgstr "" -#: taiga/base/api/mixins.py:98 -msgid "" -"The `allow_empty` parameter is due to be deprecated. To use " -"`allow_empty=False` style behavior, You should override `get_queryset()` and " -"explicitly raise a 404 on empty querysets." -msgstr "" - #: taiga/base/api/pagination.py:115 msgid "Page is not 'last', nor can it be converted to an int." msgstr "" @@ -229,21 +222,6 @@ msgstr "" msgid "Incorrect type. Expected url string, received %s." msgstr "" -#: taiga/base/api/serializers.py:77 -#, python-brace-format -msgid "{0} is not a Django model" -msgstr "" - -#: taiga/base/api/serializers.py:226 -msgid "instance should be a queryset or other iterable with many=True" -msgstr "" - -#: taiga/base/api/serializers.py:229 -msgid "" -"allow_add_remove should only be used for bulk updates, but you have not set " -"many=True" -msgstr "" - #: taiga/base/api/serializers.py:296 msgid "Invalid data" msgstr "" @@ -268,29 +246,10 @@ msgstr "" msgid "Permission denied" msgstr "" -#: taiga/base/api/views.py:352 -#, python-format -msgid "" -"Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be " -"returned from the view, but received a `%s`" -msgstr "" - #: taiga/base/api/views.py:451 msgid "Server application error" msgstr "" -#: taiga/base/api/viewsets.py:56 -#, python-format -msgid "" -"You tried to pass in the %s method name as a keyword argument to %s(). Don't " -"do that." -msgstr "" - -#: taiga/base/api/viewsets.py:60 -#, python-format -msgid "%s() received an invalid keyword %r" -msgstr "" - #: taiga/base/connectors/exceptions.py:24 msgid "Connection error." msgstr "" @@ -366,11 +325,6 @@ msgstr "" msgid "Error in filter params types." msgstr "" -#: taiga/base/filters.py:118 taiga/base/filters.py:207 -#: taiga/base/filters.py:264 -msgid "Filtering project diferent value than an integer: {}" -msgstr "" - #: taiga/base/filters.py:121 taiga/base/filters.py:210 #: taiga/base/filters.py:266 msgid "'project' must be an integer value." @@ -461,10 +415,6 @@ msgid "" " " msgstr "" -#: taiga/base/utils/signals.py:27 -msgid "The parameters must be lists of at least one parameter (the signal)." -msgstr "" - #: taiga/export_import/api.py:183 msgid "Needed dump file" msgstr "" @@ -474,19 +424,19 @@ msgid "Invalid dump format" msgstr "" #: taiga/export_import/dump_service.py:96 -msgid "error importing project" +msgid "error importing project data" msgstr "" #: taiga/export_import/dump_service.py:109 -msgid "error importing choices" +msgid "error importing lists of project attributes" msgstr "" #: taiga/export_import/dump_service.py:114 -msgid "error importing default choices" +msgid "error importing default project attributes values" msgstr "" #: taiga/export_import/dump_service.py:124 -msgid "error importing custom fields" +msgid "error importing custom attributes" msgstr "" #: taiga/export_import/dump_service.py:129 @@ -498,7 +448,7 @@ msgid "error importing memberships" msgstr "" #: taiga/export_import/dump_service.py:149 -msgid "error importing milestones" +msgid "error importing sprints" msgstr "" #: taiga/export_import/dump_service.py:154 @@ -510,7 +460,6 @@ msgid "error importing wiki links" msgstr "" #: taiga/export_import/dump_service.py:164 -#: taiga/export_import/dump_service.py:174 msgid "error importing issues" msgstr "" @@ -518,8 +467,12 @@ msgstr "" msgid "error importing user stories" msgstr "" +#: taiga/export_import/dump_service.py:174 +msgid "error importing tasks" +msgstr "" + #: taiga/export_import/dump_service.py:179 -msgid "error importing colors" +msgid "error importing tags" msgstr "" #: taiga/export_import/dump_service.py:183 @@ -543,7 +496,7 @@ msgstr "" #: taiga/export_import/serializers.py:466 #: taiga/projects/milestones/serializers.py:63 #: taiga/projects/serializers.py:65 taiga/projects/serializers.py:91 -#: taiga/projects/serializers.py:114 taiga/projects/serializers.py:149 +#: taiga/projects/serializers.py:121 taiga/projects/serializers.py:163 msgid "Name duplicated for the project" msgstr "" @@ -876,7 +829,7 @@ msgstr "" msgid "Not valid template description" msgstr "" -#: taiga/projects/api.py:469 taiga/projects/serializers.py:235 +#: taiga/projects/api.py:469 taiga/projects/serializers.py:256 msgid "At least one of the user must be an active admin" msgstr "" @@ -1233,11 +1186,11 @@ msgstr "" #: taiga/projects/mixins/ordering.py:47 #, python-brace-format -msgid "{param} parameter is mandatory" +msgid "'{param}' parameter is mandatory" msgstr "" #: taiga/projects/mixins/ordering.py:51 -msgid "project parameter is mandatory" +msgid "'project' parameter is mandatory" msgstr "" #: taiga/projects/models.py:59 @@ -1245,7 +1198,7 @@ msgid "email" msgstr "" #: taiga/projects/models.py:61 -msgid "creado el" +msgid "create at" msgstr "" #: taiga/projects/models.py:63 taiga/users/models.py:126 @@ -1494,51 +1447,51 @@ msgstr "" msgid "You can't leave the project if there are no more owners" msgstr "" -#: taiga/projects/serializers.py:211 +#: taiga/projects/serializers.py:232 msgid "Email address is already taken" msgstr "" -#: taiga/projects/serializers.py:223 +#: taiga/projects/serializers.py:244 msgid "Invalid role for the project" msgstr "" -#: taiga/projects/serializers.py:321 +#: taiga/projects/serializers.py:342 msgid "Total milestones must be major or equal to zero" msgstr "" -#: taiga/projects/serializers.py:378 +#: taiga/projects/serializers.py:399 msgid "Default options" msgstr "" -#: taiga/projects/serializers.py:379 +#: taiga/projects/serializers.py:400 msgid "User story's statuses" msgstr "" -#: taiga/projects/serializers.py:380 +#: taiga/projects/serializers.py:401 msgid "Points" msgstr "" -#: taiga/projects/serializers.py:381 +#: taiga/projects/serializers.py:402 msgid "Task's statuses" msgstr "" -#: taiga/projects/serializers.py:382 +#: taiga/projects/serializers.py:403 msgid "Issue's statuses" msgstr "" -#: taiga/projects/serializers.py:383 +#: taiga/projects/serializers.py:404 msgid "Issue's types" msgstr "" -#: taiga/projects/serializers.py:384 +#: taiga/projects/serializers.py:405 msgid "Priorities" msgstr "" -#: taiga/projects/serializers.py:385 +#: taiga/projects/serializers.py:406 msgid "Severities" msgstr "" -#: taiga/projects/serializers.py:386 +#: taiga/projects/serializers.py:407 msgid "Roles" msgstr "" @@ -1610,7 +1563,7 @@ msgid "" msgstr "" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:19 -msgid "Accept your invitation to Taiga following whis link:" +msgid "Accept your invitation to Taiga following this link:" msgstr "" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:21 @@ -1932,11 +1885,11 @@ msgid "Vote" msgstr "" #: taiga/projects/wiki/api.py:60 -msgid "No content parameter" +msgid "'content' parameter is mandatory" msgstr "" #: taiga/projects/wiki/api.py:63 -msgid "No project_id parameter" +msgid "'project_id' parameter is mandatory" msgstr "" #: taiga/projects/wiki/models.py:36 diff --git a/taiga/locale/es/LC_MESSAGES/django.po b/taiga/locale/es/LC_MESSAGES/django.po index ab87f5fd..8081cc5a 100644 --- a/taiga/locale/es/LC_MESSAGES/django.po +++ b/taiga/locale/es/LC_MESSAGES/django.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-04 11:07+0200\n" -"PO-Revision-Date: 2015-05-04 09:07+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2015-05-04 18:39+0200\n" +"PO-Revision-Date: 2015-05-05 09:54+0000\n" +"Last-Translator: David Barragán \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/taiga-back/" "language/es/)\n" "MIME-Version: 1.0\n" @@ -165,6 +165,7 @@ msgstr "" #: taiga/base/api/fields.py:953 msgid "No file was submitted. Check the encoding type on the form." msgstr "" +"No se ha adjuntado ningún archivo. Comprueba el encoding en el formulario." #: taiga/base/api/fields.py:954 msgid "No file was submitted." @@ -179,27 +180,22 @@ msgstr "El archivo enviado está vacío." msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "" +"Asegúrate de que el nombre del fichero contiene menos de %(max)d caracteres " +"(ahora tiene %(length)d)." #: taiga/base/api/fields.py:957 msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" +msgstr "Por favor, adjunta un fichero o marca la casilla de vacío, no ambos." #: taiga/base/api/fields.py:997 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." -msgstr "" - -#: taiga/base/api/mixins.py:98 -msgid "" -"The `allow_empty` parameter is due to be deprecated. To use " -"`allow_empty=False` style behavior, You should override `get_queryset()` and " -"explicitly raise a 404 on empty querysets." -msgstr "" +msgstr "Adjunta una imagen válida. El fichero no es una imagen o está dañada." #: taiga/base/api/pagination.py:115 msgid "Page is not 'last', nor can it be converted to an int." -msgstr "" +msgstr "La página no es 'last' o no es un número." #: taiga/base/api/pagination.py:119 #, python-format @@ -219,47 +215,33 @@ msgstr "PK '%s' inválida - el objeto no existe." #, python-format msgid "Incorrect type. Expected pk value, received %s." msgstr "" +"Tipo incorrecto. Se esperaba un identificador (pk) y se ha recibido %s." #: taiga/base/api/relations.py:310 #, python-format msgid "Object with %s=%s does not exist." -msgstr "" +msgstr "El objeto con %s=%s no existe." #: taiga/base/api/relations.py:346 msgid "Invalid hyperlink - No URL match" -msgstr "" +msgstr "Hipervínculo inválido - La URL no encaja con ningun objeto." #: taiga/base/api/relations.py:347 msgid "Invalid hyperlink - Incorrect URL match" -msgstr "" +msgstr "Hipervínculo inválido - La URL es incorrecta" #: taiga/base/api/relations.py:348 msgid "Invalid hyperlink due to configuration error" -msgstr "" +msgstr "Hipervínculo inválido debido a un error de configuración" #: taiga/base/api/relations.py:349 msgid "Invalid hyperlink - object does not exist." -msgstr "" +msgstr "Hipervínculo inválido - el objeto no existe." #: taiga/base/api/relations.py:350 #, python-format msgid "Incorrect type. Expected url string, received %s." -msgstr "" - -#: taiga/base/api/serializers.py:77 -#, python-brace-format -msgid "{0} is not a Django model" -msgstr "" - -#: taiga/base/api/serializers.py:226 -msgid "instance should be a queryset or other iterable with many=True" -msgstr "" - -#: taiga/base/api/serializers.py:229 -msgid "" -"allow_add_remove should only be used for bulk updates, but you have not set " -"many=True" -msgstr "" +msgstr "Tipo incorrecto. Se esperaba una url y se ha recibido %s." #: taiga/base/api/serializers.py:296 msgid "Invalid data" @@ -267,15 +249,17 @@ msgstr "Datos invalidos" #: taiga/base/api/serializers.py:388 msgid "No input provided" -msgstr "" +msgstr "No se han introducido datos." #: taiga/base/api/serializers.py:548 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:559 msgid "Expected a list of items." -msgstr "" +msgstr "Se esperaba una lista de objetos." #: taiga/base/api/views.py:100 msgid "Not found" @@ -285,28 +269,9 @@ msgstr "No encontrado" msgid "Permission denied" msgstr "Permiso denegado." -#: taiga/base/api/views.py:352 -#, python-format -msgid "" -"Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be " -"returned from the view, but received a `%s`" -msgstr "" - #: taiga/base/api/views.py:451 msgid "Server application error" -msgstr "" - -#: taiga/base/api/viewsets.py:56 -#, python-format -msgid "" -"You tried to pass in the %s method name as a keyword argument to %s(). Don't " -"do that." -msgstr "" - -#: taiga/base/api/viewsets.py:60 -#, python-format -msgid "%s() received an invalid keyword %r" -msgstr "" +msgstr "Error en la aplicación del servidor." #: taiga/base/connectors/exceptions.py:24 msgid "Connection error." @@ -314,42 +279,42 @@ msgstr "Error de conexión" #: taiga/base/exceptions.py:53 msgid "Malformed request." -msgstr "" +msgstr "Petición con formato incorrecto." #: taiga/base/exceptions.py:58 msgid "Incorrect authentication credentials." -msgstr "" +msgstr "Credenciales de autenticación incorrectas." #: taiga/base/exceptions.py:63 msgid "Authentication credentials were not provided." -msgstr "" +msgstr "No se han proporcionado las credenciales de autenticación." #: taiga/base/exceptions.py:68 msgid "You do not have permission to perform this action." -msgstr "" +msgstr "No tienes permisos para realizar esta acción." #: taiga/base/exceptions.py:73 #, python-format msgid "Method '%s' not allowed." -msgstr "" +msgstr "Método '%s' no permitido." #: taiga/base/exceptions.py:81 msgid "Could not satisfy the request's Accept header" -msgstr "" +msgstr "No se ha podido satisfacer la perición de cabecera Accept" #: taiga/base/exceptions.py:90 #, python-format msgid "Unsupported media type '%s' in request." -msgstr "" +msgstr "Típo de medio '%s' no soportado." #: taiga/base/exceptions.py:98 msgid "Request was throttled." -msgstr "" +msgstr "Demasiadas peticiones." #: taiga/base/exceptions.py:99 #, python-format msgid "Expected available in %d second%s." -msgstr "" +msgstr "Estará disponible en %d segundos%s." #: taiga/base/exceptions.py:113 msgid "Unexpected error" @@ -361,37 +326,32 @@ msgstr "No encontrado." #: taiga/base/exceptions.py:130 msgid "Method not supported for this endpoint." -msgstr "" +msgstr "Método no soportado por este recurso." #: taiga/base/exceptions.py:138 taiga/base/exceptions.py:146 msgid "Wrong arguments." -msgstr "" +msgstr "Argumentos erróneos." #: taiga/base/exceptions.py:150 msgid "Data validation error" -msgstr "" +msgstr "Error de validación de datos" #: taiga/base/exceptions.py:162 msgid "Integrity Error for wrong or invalid arguments" -msgstr "" +msgstr "Error de integridad por argumentos incorrectos o inválidos" #: taiga/base/exceptions.py:169 msgid "Precondition error" -msgstr "" +msgstr "Error por incumplimiento de precondición" #: taiga/base/filters.py:74 msgid "Error in filter params types." -msgstr "" - -#: taiga/base/filters.py:118 taiga/base/filters.py:207 -#: taiga/base/filters.py:264 -msgid "Filtering project diferent value than an integer: {}" -msgstr "" +msgstr "Error en los típos de parámetros de filtrado" #: taiga/base/filters.py:121 taiga/base/filters.py:210 #: taiga/base/filters.py:266 msgid "'project' must be an integer value." -msgstr "" +msgstr "'project' debe ser un valor entero." #: taiga/base/tags.py:25 msgid "tags" @@ -450,14 +410,18 @@ msgid "" "Source, Agile Project Management Tool

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

Has sido Taigaizado!

\n" +"

Te damos la bienvenida a Taiga, la herramienta Agile de gestión de " +"proyectos OpenSource

" #: taiga/base/templates/emails/updates-body-html.jinja:6 msgid "[Taiga] Updates" -msgstr "" +msgstr "[Taiga] Actualizaciones" #: taiga/base/templates/emails/updates-body-html.jinja:417 msgid "Updates" -msgstr "" +msgstr "Actualizaciones" #: taiga/base/templates/emails/updates-body-html.jinja:423 #, python-format @@ -469,6 +433,9 @@ msgid "" "%(comment)s

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

comentario:

\n" +"

%(comment)s

" #: taiga/base/templates/emails/updates-body-text.jinja:6 #, python-format @@ -477,71 +444,72 @@ msgid "" " Comment: %(comment)s\n" " " msgstr "" - -#: taiga/base/utils/signals.py:27 -msgid "The parameters must be lists of at least one parameter (the signal)." -msgstr "" +"\n" +"Comentario: %(comment)s" #: taiga/export_import/api.py:183 msgid "Needed dump file" -msgstr "" +msgstr "Se necesita el fichero con los datos exportados" #: taiga/export_import/api.py:190 msgid "Invalid dump format" -msgstr "" +msgstr "Formato de fichero de exportación inválido" #: taiga/export_import/dump_service.py:96 -msgid "error importing project" -msgstr "" +msgid "error importing project data" +msgstr "error importando los datos del proyecto" #: taiga/export_import/dump_service.py:109 -msgid "error importing choices" -msgstr "" +msgid "error importing lists of project attributes" +msgstr "error importando la listados de valores de attributos del proyecto" #: taiga/export_import/dump_service.py:114 -msgid "error importing default choices" -msgstr "" +msgid "error importing default project attributes values" +msgstr "error importando los valores por defecto de los atributos del proyecto" #: taiga/export_import/dump_service.py:124 -msgid "error importing custom fields" -msgstr "" +msgid "error importing custom attributes" +msgstr "error importando los atributos personalizados" #: taiga/export_import/dump_service.py:129 msgid "error importing roles" -msgstr "" +msgstr "error importando los roles" #: taiga/export_import/dump_service.py:144 msgid "error importing memberships" -msgstr "" +msgstr "error importando los miembros" #: taiga/export_import/dump_service.py:149 -msgid "error importing milestones" -msgstr "" +msgid "error importing sprints" +msgstr "error importando los sprints" #: taiga/export_import/dump_service.py:154 msgid "error importing wiki pages" -msgstr "" +msgstr "error importando las páginas del wiki" #: taiga/export_import/dump_service.py:159 msgid "error importing wiki links" -msgstr "" +msgstr "error importando los enlaces del wiki" #: taiga/export_import/dump_service.py:164 -#: taiga/export_import/dump_service.py:174 msgid "error importing issues" msgstr "error importando las peticiones" #: taiga/export_import/dump_service.py:169 msgid "error importing user stories" -msgstr "" +msgstr "error importando las historias de usuario" + +#: taiga/export_import/dump_service.py:174 +msgid "error importing tasks" +msgstr "error importando las tareas" #: taiga/export_import/dump_service.py:179 -msgid "error importing colors" -msgstr "" +msgid "error importing tags" +msgstr "error importando las etiquetas" #: taiga/export_import/dump_service.py:183 msgid "error importing timelines" -msgstr "" +msgstr "error importando los timelines" #: taiga/export_import/serializers.py:161 msgid "{}=\"{}\" not found in this project" @@ -550,47 +518,49 @@ msgstr "{}=\"{}\" no se ha encontrado en este proyecto" #: taiga/export_import/serializers.py:382 #: taiga/projects/custom_attributes/serializers.py:103 msgid "Invalid content. It must be {\"key\": \"value\",...}" -msgstr "" +msgstr "Contenido inválido. Debe ser {\"clave\": \"valor\",...}" #: taiga/export_import/serializers.py:397 #: taiga/projects/custom_attributes/serializers.py:118 msgid "It contain invalid custom fields." -msgstr "" +msgstr "Contiene attributos personalizados inválidos." #: taiga/export_import/serializers.py:466 #: taiga/projects/milestones/serializers.py:63 #: taiga/projects/serializers.py:65 taiga/projects/serializers.py:91 -#: taiga/projects/serializers.py:114 taiga/projects/serializers.py:149 +#: taiga/projects/serializers.py:121 taiga/projects/serializers.py:163 msgid "Name duplicated for the project" -msgstr "" +msgstr "Nombre duplicado para el proyecto" #: taiga/export_import/tasks.py:49 taiga/export_import/tasks.py:50 msgid "Error generating project dump" -msgstr "" +msgstr "Erro generando el volcado de datos del proyecto" #: taiga/export_import/tasks.py:82 taiga/export_import/tasks.py:83 msgid "Error loading project dump" -msgstr "" +msgstr "Error cargando el volcado de datos del proyecto" #: taiga/export_import/templates/emails/dump_project-subject.jinja:1 #, python-format msgid "[%(project)s] Your project dump has been generated" msgstr "" +"[%(project)s] Se ha generado el fichero con el volcado de datos de tu " +"proyecto" #: taiga/export_import/templates/emails/export_error-subject.jinja:1 #, python-format msgid "[%(project)s] %(error_subject)s" -msgstr "" +msgstr "[%(project)s] %(error_subject)s" #: taiga/export_import/templates/emails/import_error-subject.jinja:1 #, python-format msgid "[Taiga] %(error_subject)s" -msgstr "" +msgstr "[Taiga] %(error_subject)s" #: taiga/export_import/templates/emails/load_dump-subject.jinja:1 #, python-format msgid "[%(project)s] Your project dump has been imported" -msgstr "" +msgstr "[%(project)s] Tu proyecto ha sido importado" #: taiga/feedback/models.py:23 taiga/users/models.py:111 msgid "full name" @@ -602,7 +572,7 @@ msgstr "dirección de email" #: taiga/feedback/models.py:27 msgid "comment" -msgstr "" +msgstr "comentario" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:63 #: taiga/projects/custom_attributes/models.py:38 @@ -611,7 +581,7 @@ msgstr "" #: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 #: taiga/projects/wiki/models.py:38 taiga/userstorage/models.py:27 msgid "created date" -msgstr "" +msgstr "fecha de creación" #: taiga/feedback/templates/emails/feedback_notification-body-html.jinja:4 #, python-format @@ -621,6 +591,9 @@ msgid "" "

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

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

Feedback

\n" +"

Taiga ha recivido feedback de %(full_name)s <%(email)s>

" #: taiga/feedback/templates/emails/feedback_notification-body-html.jinja:9 #, python-format @@ -630,11 +603,15 @@ msgid "" "

%(comment)s

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

Comentario

\n" +"

%(comment)s

" #: taiga/feedback/templates/emails/feedback_notification-body-html.jinja:18 #: taiga/users/admin.py:51 msgid "Extra info" -msgstr "" +msgstr "Información extra" #: taiga/feedback/templates/emails/feedback_notification-body-text.jinja:1 #, python-format @@ -646,10 +623,16 @@ msgid "" "%(comment)s\n" "---------" msgstr "" +"---------\n" +"- De: %(full_name)s <%(email)s>\n" +"---------\n" +"- Comentario:\n" +"%(comment)s\n" +"---------" #: taiga/feedback/templates/emails/feedback_notification-body-text.jinja:8 msgid "- Extra info:" -msgstr "" +msgstr "- Información extra:" #: taiga/feedback/templates/emails/feedback_notification-subject.jinja:1 #, python-format @@ -657,10 +640,12 @@ msgid "" "\n" "[Taiga] Feedback from %(full_name)s <%(email)s>\n" msgstr "" +"\n" +"[Taiga] Feedback de %(full_name)s <%(email)s>\n" #: taiga/hooks/api.py:52 msgid "The payload is not a valid json" -msgstr "" +msgstr "El payload no es un json válido" #: taiga/hooks/api.py:61 msgid "The project doesn't exist" @@ -668,45 +653,45 @@ msgstr "El proyecto no existe" #: taiga/hooks/api.py:64 msgid "Bad signature" -msgstr "" +msgstr "Firma errónea" #: taiga/hooks/bitbucket/api.py:40 msgid "The payload is not a valid application/x-www-form-urlencoded" -msgstr "" +msgstr "El payload no es una application/x-www-form-urlencoded válida" #: taiga/hooks/bitbucket/event_hooks.py:45 msgid "The payload is not valid" -msgstr "" +msgstr "El payload no es válido" #: taiga/hooks/bitbucket/event_hooks.py:81 #: taiga/hooks/github/event_hooks.py:75 taiga/hooks/gitlab/event_hooks.py:74 msgid "The referenced element doesn't exist" -msgstr "" +msgstr "El elemento referenciado no existe" #: taiga/hooks/bitbucket/event_hooks.py:88 #: taiga/hooks/github/event_hooks.py:82 taiga/hooks/gitlab/event_hooks.py:81 msgid "The status doesn't exist" -msgstr "" +msgstr "El estado no existe" #: taiga/hooks/bitbucket/event_hooks.py:94 msgid "Status changed from BitBucket commit" -msgstr "" +msgstr "Estado cambiado desde un commit de BitBucket" #: taiga/hooks/github/event_hooks.py:88 msgid "Status changed from GitHub commit" -msgstr "" +msgstr "Estado cambiado desde un commit de GitHub" #: taiga/hooks/github/event_hooks.py:113 taiga/hooks/gitlab/event_hooks.py:114 msgid "Invalid issue information" -msgstr "" +msgstr "Información inválida de Issue" #: taiga/hooks/github/event_hooks.py:128 msgid "Created from GitHub" -msgstr "" +msgstr "Creado en GitHub" #: taiga/hooks/github/event_hooks.py:135 taiga/hooks/github/event_hooks.py:144 msgid "Invalid issue comment information" -msgstr "" +msgstr "Información de comentario de Issue inválida" #: taiga/hooks/github/event_hooks.py:152 msgid "" @@ -714,10 +699,13 @@ msgid "" "\n" "{}" msgstr "" +"De GitHub:\n" +"\n" +"{}" #: taiga/hooks/gitlab/event_hooks.py:87 msgid "Status changed from GitLab commit" -msgstr "" +msgstr "Estado cambiado desde un commit de GitLab" #: taiga/hooks/gitlab/event_hooks.py:129 msgid "Created from GitLab" @@ -731,7 +719,7 @@ msgstr "Ver proyecto" #: taiga/permissions/permissions.py:22 taiga/permissions/permissions.py:32 #: taiga/permissions/permissions.py:54 msgid "View milestones" -msgstr "" +msgstr "Ver sprints" #: taiga/permissions/permissions.py:23 taiga/permissions/permissions.py:33 msgid "View user stories" @@ -803,15 +791,15 @@ msgstr "Modificar enlace wiki" #: taiga/permissions/permissions.py:55 msgid "Add milestone" -msgstr "" +msgstr "Añadir sprint" #: taiga/permissions/permissions.py:56 msgid "Modify milestone" -msgstr "" +msgstr "Modificar sprint" #: taiga/permissions/permissions.py:57 msgid "Delete milestone" -msgstr "" +msgstr "Borrar sprint" #: taiga/permissions/permissions.py:59 msgid "View user story" @@ -893,21 +881,21 @@ msgstr "Nombre de plantilla invalido" msgid "Not valid template description" msgstr "Descripción de plantilla invalida" -#: taiga/projects/api.py:469 taiga/projects/serializers.py:235 +#: taiga/projects/api.py:469 taiga/projects/serializers.py:256 msgid "At least one of the user must be an active admin" -msgstr "" +msgstr "Al menos uno de los usuario debe ser un administrador." #: taiga/projects/api.py:499 msgid "You don't have permisions to see that." -msgstr "" +msgstr "No tienes suficientes permisos para ver esto." #: taiga/projects/attachments/api.py:47 msgid "Non partial updates not supported" -msgstr "" +msgstr "La actualización parcial no está soportada." #: taiga/projects/attachments/api.py:62 msgid "Project ID not matches between object and project" -msgstr "" +msgstr "El ID de proyecto no coincide entre el adjunto y un proyecto" #: taiga/projects/attachments/models.py:54 taiga/projects/issues/models.py:38 #: taiga/projects/milestones/models.py:39 taiga/projects/models.py:134 @@ -932,7 +920,7 @@ msgstr "Proyecto" #: taiga/projects/attachments/models.py:58 msgid "content type" -msgstr "" +msgstr "típo de contenido" #: taiga/projects/attachments/models.py:60 msgid "object id" @@ -976,15 +964,15 @@ msgstr "orden" #: taiga/projects/choices.py:21 msgid "AppearIn" -msgstr "" +msgstr "AppearIn" #: taiga/projects/choices.py:22 msgid "Jitsi" -msgstr "" +msgstr "Jitsi" #: taiga/projects/choices.py:23 msgid "Talky" -msgstr "" +msgstr "Talky" #: taiga/projects/custom_attributes/models.py:31 #: taiga/projects/milestones/models.py:34 taiga/projects/models.py:123 @@ -1040,7 +1028,7 @@ msgstr "Borrar" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 #, python-format msgid "%(role)s role points" -msgstr "" +msgstr "pntos del rol %(role)s" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 @@ -1048,7 +1036,7 @@ msgstr "" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 msgid "from" -msgstr "" +msgstr "de" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 @@ -1057,62 +1045,62 @@ msgstr "" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 msgid "to" -msgstr "" +msgstr "a" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 msgid "Added new attachment" -msgstr "" +msgstr "Nuevo adjunto añadido" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 msgid "Updated attachment" -msgstr "" +msgstr "Adjunto actualizado" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 msgid "deprecated" -msgstr "" +msgstr "obsoleto" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 msgid "not deprecated" -msgstr "" +msgstr "no obsoleto" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 msgid "Deleted attachment" -msgstr "" +msgstr "Adjunto borrado" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 msgid "added" -msgstr "" +msgstr "añadido" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 msgid "removed" -msgstr "" +msgstr "borrado" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 #: taiga/projects/services/stats.py:124 taiga/projects/services/stats.py:125 msgid "Unassigned" -msgstr "" +msgstr "No asignado" #: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 msgid "-deleted-" -msgstr "" +msgstr "-borrado-" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 msgid "to:" -msgstr "" +msgstr "a:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 msgid "from:" -msgstr "" +msgstr "de:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 msgid "Added" -msgstr "" +msgstr "Añadido" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 msgid "Changed" -msgstr "" +msgstr "Cambiado" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 msgid "Deleted" @@ -1120,162 +1108,164 @@ msgstr "Borrado" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 msgid "added:" -msgstr "" +msgstr "añadido:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 msgid "removed:" -msgstr "" +msgstr "borrado:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 msgid "From:" -msgstr "" +msgstr "De:" #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "To:" -msgstr "" +msgstr "A:" #: taiga/projects/history/templatetags/functions.py:26 #: taiga/projects/wiki/models.py:32 msgid "content" -msgstr "" +msgstr "contenido" #: taiga/projects/history/templatetags/functions.py:27 #: taiga/projects/mixins/blocked.py:31 msgid "blocked note" -msgstr "" +msgstr "nota de bloqueo" #: taiga/projects/issues/api.py:139 msgid "You don't have permissions to set this sprint to this issue." -msgstr "" +msgstr "No tienes permisos para asignar un sprint a esta petición." #: taiga/projects/issues/api.py:143 msgid "You don't have permissions to set this status to this issue." -msgstr "" +msgstr "No tienes permisos para asignar un estado a esta petición." #: taiga/projects/issues/api.py:147 msgid "You don't have permissions to set this severity to this issue." -msgstr "" +msgstr "No tienes permisos para establecer la gravedad de esta petición." #: taiga/projects/issues/api.py:151 msgid "You don't have permissions to set this priority to this issue." -msgstr "" +msgstr "No tienes permiso para establecer la prioridad de esta petición." #: taiga/projects/issues/api.py:155 msgid "You don't have permissions to set this type to this issue." -msgstr "" +msgstr "No tienes permiso para establecer el tipo de esta petición." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 #: taiga/projects/userstories/models.py:57 msgid "ref" -msgstr "" +msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 #: taiga/projects/userstories/models.py:67 msgid "status" -msgstr "" +msgstr "estado" #: taiga/projects/issues/models.py:42 msgid "severity" -msgstr "" +msgstr "gravedad" #: taiga/projects/issues/models.py:44 msgid "priority" -msgstr "" +msgstr "prioridad" #: taiga/projects/issues/models.py:46 msgid "type" -msgstr "" +msgstr "tipo" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 #: taiga/projects/userstories/models.py:60 msgid "milestone" -msgstr "" +msgstr "sprint" #: taiga/projects/issues/models.py:58 taiga/projects/tasks/models.py:51 msgid "finished date" -msgstr "" +msgstr "fecha de finalización" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 #: taiga/projects/userstories/models.py:89 msgid "subject" -msgstr "" +msgstr "asunto" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 #: taiga/projects/userstories/models.py:93 msgid "assigned to" -msgstr "" +msgstr "asignado a" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 #: taiga/projects/userstories/models.py:103 msgid "external reference" -msgstr "" +msgstr "referencia externa" #: taiga/projects/milestones/models.py:37 taiga/projects/models.py:125 #: taiga/projects/models.py:352 taiga/projects/models.py:416 #: taiga/projects/models.py:499 taiga/projects/models.py:557 #: taiga/projects/wiki/models.py:30 taiga/users/models.py:182 msgid "slug" -msgstr "" +msgstr "slug" #: taiga/projects/milestones/models.py:42 msgid "estimated start date" -msgstr "" +msgstr "fecha estimada de comienzo" #: taiga/projects/milestones/models.py:43 msgid "estimated finish date" -msgstr "" +msgstr "fecha estimada de finalización" #: taiga/projects/milestones/models.py:50 taiga/projects/models.py:356 #: taiga/projects/models.py:420 taiga/projects/models.py:503 msgid "is closed" -msgstr "" +msgstr "está cerrada" #: taiga/projects/milestones/models.py:52 msgid "disponibility" -msgstr "" +msgstr "disponibilidad" #: taiga/projects/milestones/models.py:75 msgid "The estimated start must be previous to the estimated finish." msgstr "" +"La fecha de inicio estimada debe ser previa a la fecha de finalización " +"estimada." #: taiga/projects/milestones/validators.py:12 msgid "There's no sprint with that id" -msgstr "" +msgstr "No hay sprints con este id" #: taiga/projects/mixins/blocked.py:29 msgid "is blocked" -msgstr "" +msgstr "está bloqueada" #: taiga/projects/mixins/ordering.py:47 #, python-brace-format -msgid "{param} parameter is mandatory" -msgstr "" +msgid "'{param}' parameter is mandatory" +msgstr "el parámetro '{param}' es obligatório" #: taiga/projects/mixins/ordering.py:51 -msgid "project parameter is mandatory" -msgstr "" +msgid "'project' parameter is mandatory" +msgstr "el parámetro 'project' es obligatório" #: taiga/projects/models.py:59 msgid "email" -msgstr "" +msgstr "email" #: taiga/projects/models.py:61 -msgid "creado el" -msgstr "" +msgid "create at" +msgstr "creado el" #: taiga/projects/models.py:63 taiga/users/models.py:126 msgid "token" -msgstr "" +msgstr "token" #: taiga/projects/models.py:69 msgid "invitation extra text" -msgstr "" +msgstr "texto extra de la invitación" #: taiga/projects/models.py:72 msgid "user order" -msgstr "" +msgstr "orden del usuario" #: taiga/projects/models.py:78 msgid "The user is already member of the project" @@ -1315,7 +1305,7 @@ msgstr "miembros" #: taiga/projects/models.py:139 msgid "total of milestones" -msgstr "" +msgstr "total de sprints" #: taiga/projects/models.py:140 msgid "total story points" @@ -1323,11 +1313,11 @@ msgstr "puntos de historia totales" #: taiga/projects/models.py:143 taiga/projects/models.py:570 msgid "active backlog panel" -msgstr "" +msgstr "panel de backlog activado" #: taiga/projects/models.py:145 taiga/projects/models.py:572 msgid "active kanban panel" -msgstr "" +msgstr "panel de kanban activado" #: taiga/projects/models.py:147 taiga/projects/models.py:574 msgid "active wiki panel" @@ -1343,7 +1333,7 @@ msgstr "sistema de videoconferencia" #: taiga/projects/models.py:154 taiga/projects/models.py:581 msgid "videoconference room salt" -msgstr "" +msgstr "salt de la sala de videoconferencia" #: taiga/projects/models.py:159 msgid "creation template" @@ -1390,7 +1380,7 @@ msgstr "valor" #: taiga/projects/models.py:567 msgid "default owner's role" -msgstr "" +msgstr "rol por defecto para el propietario" #: taiga/projects/models.py:583 msgid "default options" @@ -1431,15 +1421,15 @@ msgstr "roles" #: taiga/projects/notifications/choices.py:28 msgid "Not watching" -msgstr "" +msgstr "No observado" #: taiga/projects/notifications/choices.py:29 msgid "Watching" -msgstr "" +msgstr "Observado" #: taiga/projects/notifications/choices.py:30 msgid "Ignoring" -msgstr "" +msgstr "Ignorado" #: taiga/projects/notifications/mixins.py:87 msgid "watchers" @@ -1447,24 +1437,25 @@ msgstr "observadores" #: taiga/projects/notifications/models.py:59 msgid "created date time" -msgstr "" +msgstr "fecha y hora de creación" #: taiga/projects/notifications/models.py:61 msgid "updated date time" -msgstr "" +msgstr "fecha y hora de actualización" #: taiga/projects/notifications/models.py:63 msgid "history entries" -msgstr "" +msgstr "entradas del histórico" #: taiga/projects/notifications/models.py:66 msgid "notify users" -msgstr "" +msgstr "usuarios notificados" #: taiga/projects/notifications/services.py:63 #: taiga/projects/notifications/services.py:77 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/templates/emails/wiki/wikipage-change-subject.jinja:1 #, python-format @@ -1472,6 +1463,8 @@ msgid "" "\n" "[%(project)s] Updated the Wiki Page \"%(page)s\"\n" msgstr "" +"\n" +"[%(project)s] Actualizada la página del wiki \"%(page)s\"\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-create-subject.jinja:1 #, python-format @@ -1479,6 +1472,8 @@ msgid "" "\n" "[%(project)s] Created the Wiki Page \"%(page)s\"\n" msgstr "" +"\n" +"[%(project)s] Creada la página del wiki \"%(page)s\"\n" #: taiga/projects/notifications/templates/emails/wiki/wikipage-delete-subject.jinja:1 #, python-format @@ -1486,6 +1481,8 @@ msgid "" "\n" "[%(project)s] Deleted the Wiki Page \"%(page)s\"\n" msgstr "" +"\n" +"[%(project)s] Borrada la página del wiki \"%(page)s\"\n" #: taiga/projects/notifications/validators.py:44 msgid "Watchers contains invalid users" @@ -1493,69 +1490,70 @@ msgstr "Los observadores tienen usuarios invalidos" #: taiga/projects/occ/mixins.py:35 msgid "The version must be an integer" -msgstr "" +msgstr "La versión debe ser un número entero" #: taiga/projects/occ/mixins.py:56 msgid "The version is not valid" -msgstr "" +msgstr "La versión no es válida" #: taiga/projects/occ/mixins.py:72 msgid "The version doesn't match with the current one" -msgstr "" +msgstr "Las version difiere de la actual" #: taiga/projects/occ/mixins.py:92 msgid "version" -msgstr "" +msgstr "versión" #: taiga/projects/permissions.py:39 msgid "You can't leave the project if there are no more owners" msgstr "" +"No puedes abandonar este proyecto si no existen mas propietarios del mismo" -#: taiga/projects/serializers.py:211 +#: taiga/projects/serializers.py:232 msgid "Email address is already taken" -msgstr "" +msgstr "La dirección de email ya está en uso." -#: taiga/projects/serializers.py:223 +#: taiga/projects/serializers.py:244 msgid "Invalid role for the project" -msgstr "" +msgstr "Rol inválido para el proyecto" -#: taiga/projects/serializers.py:321 +#: taiga/projects/serializers.py:342 msgid "Total milestones must be major or equal to zero" -msgstr "" +msgstr "El número total de sprints debe ser mayor o igual a cero" -#: taiga/projects/serializers.py:378 +#: taiga/projects/serializers.py:399 msgid "Default options" -msgstr "" +msgstr "Opciones por defecto" -#: taiga/projects/serializers.py:379 +#: taiga/projects/serializers.py:400 msgid "User story's statuses" -msgstr "" +msgstr "Estados de historia de usuario" -#: taiga/projects/serializers.py:380 +#: taiga/projects/serializers.py:401 msgid "Points" msgstr "Puntos" -#: taiga/projects/serializers.py:381 +#: taiga/projects/serializers.py:402 msgid "Task's statuses" msgstr "Estado de tareas" -#: taiga/projects/serializers.py:382 +#: taiga/projects/serializers.py:403 msgid "Issue's statuses" msgstr "Estados de peticion" -#: taiga/projects/serializers.py:383 +#: taiga/projects/serializers.py:404 msgid "Issue's types" msgstr "Tipos de petición" -#: taiga/projects/serializers.py:384 +#: taiga/projects/serializers.py:405 msgid "Priorities" msgstr "Prioridades" -#: taiga/projects/serializers.py:385 +#: taiga/projects/serializers.py:406 msgid "Severities" msgstr "Gravedades" -#: taiga/projects/serializers.py:386 +#: taiga/projects/serializers.py:407 msgid "Roles" msgstr "Roles" @@ -1570,28 +1568,28 @@ msgstr "Final de proyecto" #: taiga/projects/tasks/api.py:58 taiga/projects/tasks/api.py:61 #: taiga/projects/tasks/api.py:64 taiga/projects/tasks/api.py:67 msgid "You don't have permissions for add/modify this task." -msgstr "" +msgstr "No tienes permisos para añadir/modificar esta tarea." #: taiga/projects/tasks/models.py:56 msgid "us order" -msgstr "" +msgstr "orden en la historia" #: taiga/projects/tasks/models.py:58 msgid "taskboard order" -msgstr "" +msgstr "orden en el taskboard" #: taiga/projects/tasks/models.py:66 msgid "is iocaine" -msgstr "" +msgstr "tiene iocaína" #: taiga/projects/tasks/validators.py:12 msgid "There's no task with that id" -msgstr "" +msgstr "No existe ninguna tarea con este id" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:6 #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:4 msgid "someone" -msgstr "" +msgstr "alguien" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:18 #, python-format @@ -1602,18 +1600,22 @@ msgid "" "

%(extra)s

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

Y ahora unas palabras de la persona
que te ha invitado a " +"unirte a Taiga:

\n" +"

%(extra)s

" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:25 msgid "Accept your invitation to Taiga" -msgstr "" +msgstr "Acepta tu invitación a Taiga" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:25 msgid "Accept your invitation" -msgstr "" +msgstr "Acepta tu invitación" #: taiga/projects/templates/emails/membership_invitation-body-html.jinja:26 msgid "The Taiga Team" -msgstr "" +msgstr "El Equipo de Taiga" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:13 #, python-format @@ -1625,10 +1627,14 @@ msgid "" "%(extra)s\n" " " msgstr "" +"\n" +"Y ahora unas palabras de la persona que te ha invitado a unirte a Taiga:\n" +"\n" +"%(extra)s" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:19 -msgid "Accept your invitation to Taiga following whis link:" -msgstr "" +msgid "Accept your invitation to Taiga following this link:" +msgstr "Acepta tu injvitación a Taiga accediendo a este enlace:" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:21 msgid "" @@ -1636,6 +1642,9 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"---\n" +"El Equipo de Taiga\n" #: taiga/projects/templates/emails/membership_invitation-subject.jinja:1 #, python-format @@ -1643,6 +1652,9 @@ msgid "" "\n" "[Taiga] Invitation to join to the project '%(project)s'\n" msgstr "" +"\n" +"[Taiga] Invitación para unirte al proyecto '%(project)s'\n" +"\n" #: taiga/projects/templates/emails/membership_notification-subject.jinja:1 #, python-format @@ -1650,6 +1662,8 @@ msgid "" "\n" "[Taiga] Added to the project '%(project)s'\n" msgstr "" +"\n" +"[Taiga] Añadido al proyecto '%(project)s'\n" #. Translators: Name of scrum project template. #: taiga/projects/translations.py:28 @@ -1666,6 +1680,13 @@ msgid "" "then allowed to grow and change as more is learned about the product and its " "customers" msgstr "" +"La pila de historias de usuario o \"product backlog\" en Scrum es una lista " +"priorizada de funcionalidades, que contiene una breve descripción de todas " +"las funciones y requisitos que debe cumplir el producto. Si utilizamos " +"Scrum, no es necesario al inicio del proyecto dedicar tiempo y esfuerzo para " +"tener todas las funcionalidades definidas y priorizadas, si no más bien " +"definir un producto base y dejar que vaya creciendo con el paso del tiempo y " +"las nuevas necesidades del cliente." #. Translators: Name of kanban project template. #: taiga/projects/translations.py:33 @@ -1680,6 +1701,13 @@ msgid "" "process, from definition of a task to its delivery to the customer, is " "displayed for participants to see and team members pull work from a queue." msgstr "" +"Kanban es un sistema de información para gestionar armónicamente el proceso " +"de creación del producto garantizando el cumplimiento de los tiempos, " +"detectando los posibles sobrecargas del equipo durante las diferentes fases. " +"En esta aproximación, el proceso, desde su definición hasta la entrega final " +"al cliente, se mostrará a los participantes, siendo los miembros del equipo " +"los encargados de que el trabajo fluya haciendo pull de las tareas sobre las " +"diferentes colas." #. Translators: User story point value (value = undefined) #: taiga/projects/translations.py:43 @@ -1729,7 +1757,7 @@ msgstr "10" #. Translators: User story point value (value = 13) #: taiga/projects/translations.py:61 msgid "13" -msgstr "" +msgstr "13" #. Translators: User story point value (value = 20) #: taiga/projects/translations.py:63 @@ -1889,31 +1917,33 @@ msgid "" "Generating the user story [US #{ref} - {subject}](:us:{ref} \"US #{ref} - " "{subject}\")" msgstr "" +"Generada la historia de usuario [US #{ref} - {subject}](:us:{ref} \"US " +"#{ref} - {subject}\")" #: taiga/projects/userstories/models.py:37 msgid "role" -msgstr "" +msgstr "rol" #: taiga/projects/userstories/models.py:75 msgid "backlog order" -msgstr "" +msgstr "orden en el backlog" #: taiga/projects/userstories/models.py:77 #: taiga/projects/userstories/models.py:79 msgid "sprint order" -msgstr "" +msgstr "orden en el sprint" #: taiga/projects/userstories/models.py:87 msgid "finish date" -msgstr "" +msgstr "fecha de finalización" #: taiga/projects/userstories/models.py:95 msgid "is client requirement" -msgstr "" +msgstr "requerido por el cliente" #: taiga/projects/userstories/models.py:97 msgid "is team requirement" -msgstr "" +msgstr "requerido por el equipo" #: taiga/projects/userstories/models.py:102 msgid "generated from issue" @@ -1921,40 +1951,40 @@ msgstr "generada desde una petición" #: taiga/projects/userstories/validators.py:28 msgid "There's no user story with that id" -msgstr "" +msgstr "No existe ninguna historia de usuario con este id" #: taiga/projects/validators.py:28 msgid "There's no project with that id" -msgstr "" +msgstr "No existe ningún proyecto con este id" #: taiga/projects/validators.py:37 msgid "There's no user story status with that id" -msgstr "" +msgstr "No existe ningún estado de historia con este id" #: taiga/projects/validators.py:46 msgid "There's no task status with that id" -msgstr "" +msgstr "No existe ningún estado de tarea con este id" #: taiga/projects/votes/models.py:31 taiga/projects/votes/models.py:32 #: taiga/projects/votes/models.py:54 msgid "Votes" -msgstr "" +msgstr "Votos" #: taiga/projects/votes/models.py:50 msgid "votes" -msgstr "" +msgstr "votos" #: taiga/projects/votes/models.py:53 msgid "Vote" -msgstr "" +msgstr "Voto" #: taiga/projects/wiki/api.py:60 -msgid "No content parameter" -msgstr "" +msgid "'content' parameter is mandatory" +msgstr "el parámetro 'content' es obligatório" #: taiga/projects/wiki/api.py:63 -msgid "No project_id parameter" -msgstr "" +msgid "'project_id' parameter is mandatory" +msgstr "el parámetro 'project_id' es obligatório" #: taiga/projects/wiki/models.py:36 msgid "last modifier" @@ -1962,7 +1992,7 @@ msgstr "última modificación por" #: taiga/projects/wiki/models.py:69 msgid "href" -msgstr "" +msgstr "href" #: taiga/users/admin.py:50 msgid "Personal info" @@ -1974,7 +2004,7 @@ msgstr "Permisos" #: taiga/users/admin.py:53 msgid "Important dates" -msgstr "" +msgstr "datos importántes" #: taiga/users/api.py:105 taiga/users/api.py:112 msgid "Invalid username or email" @@ -1986,27 +2016,27 @@ msgstr "¡Correo enviado con éxito!" #: taiga/users/api.py:134 taiga/users/api.py:139 msgid "Token is invalid" -msgstr "" +msgstr "token inválido" #: taiga/users/api.py:160 msgid "Current password parameter needed" -msgstr "" +msgstr "La contraseña actual es obligatoria." #: taiga/users/api.py:163 msgid "New password parameter needed" -msgstr "" +msgstr "La nueva contraseña es obligatoria" #: taiga/users/api.py:166 msgid "Invalid password length at least 6 charaters needed" -msgstr "" +msgstr "La longitud de la contraseña debe de ser de al menos 6 caracteres" #: taiga/users/api.py:169 msgid "Invalid current password" -msgstr "" +msgstr "Contraseña actual inválida" #: taiga/users/api.py:185 msgid "Incomplete arguments" -msgstr "" +msgstr "Argumentos incompletos" #: taiga/users/api.py:190 msgid "Invalid image format" @@ -2024,55 +2054,60 @@ msgstr "Email no válido" msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" +"Invalido, ¿estás seguro de que el token es correcto y no se ha usado antes?" #: taiga/users/api.py:298 taiga/users/api.py:306 taiga/users/api.py:309 msgid "Invalid, are you sure the token is correct?" -msgstr "" +msgstr "Inválido, ¿estás seguro de que el token es correcto?" #: taiga/users/models.py:69 msgid "superuser status" -msgstr "" +msgstr "es superusuario" #: taiga/users/models.py:70 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" +"Otorga todos los permisos a este usuario sin necesidad de hacerlo " +"explicitamente." #: taiga/users/models.py:100 msgid "username" -msgstr "" +msgstr "nombre de usuario" #: taiga/users/models.py:101 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" -msgstr "" +msgstr "Obligatorio. 30 caracteres o menos. Letras, números y /./-/_" #: taiga/users/models.py:104 msgid "Enter a valid username." -msgstr "" +msgstr "Introduce un nombre de usuario válido" #: taiga/users/models.py:107 msgid "active" -msgstr "" +msgstr "activo" #: taiga/users/models.py:108 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" +"Denota a los usuarios activos. Desmárcalo para dar de baja/borrar a un " +"usuario." #: taiga/users/models.py:114 msgid "biography" -msgstr "" +msgstr "biografía" #: taiga/users/models.py:117 msgid "photo" -msgstr "" +msgstr "foto" #: taiga/users/models.py:118 msgid "date joined" -msgstr "" +msgstr "fecha de registro" #: taiga/users/models.py:120 msgid "default language" @@ -2088,7 +2123,7 @@ msgstr "añade color a las etiquetas" #: taiga/users/models.py:129 msgid "email token" -msgstr "" +msgstr "token de email" #: taiga/users/models.py:131 msgid "new email address" @@ -2104,11 +2139,11 @@ msgstr "no válido" #: taiga/users/serializers.py:70 msgid "Invalid username. Try with a different one." -msgstr "" +msgstr "Nombre de usuario inválido. Prueba con otro." #: taiga/users/services.py:48 taiga/users/services.py:52 msgid "Username or password does not matches user." -msgstr "" +msgstr "Nombre de usuario o contraseña inválidos." #: taiga/users/templates/emails/change_email-body-html.jinja:4 #, python-format @@ -2122,6 +2157,15 @@ msgid "" "

The Taiga Team

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

Cambia tu email

\n" +"

Hola %(full_name)s,
por favor confirma que este email te pertenece\n" +"Confirmar " +"dirección de email\n" +"

Puedes ignorar este correo si no has solicitado que cambiemos tu " +"dirección email.

\n" +"

El Equipo de Taiga

" #: taiga/users/templates/emails/change_email-body-text.jinja:1 #, python-format @@ -2136,10 +2180,19 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hola %(full_name)s, por favor confirma tu email\n" +"\n" +"%(url)s\n" +"\n" +"Ignora este mensaje si no has solucitado un cambio de email.\n" +"\n" +"---\n" +"El Equipo de Taiga\n" #: taiga/users/templates/emails/change_email-subject.jinja:1 msgid "[Taiga] Change email" -msgstr "" +msgstr "[Taiga] Cambiar email" #: taiga/users/templates/emails/password_recovery-body-text.jinja:1 #, python-format @@ -2154,10 +2207,19 @@ msgid "" "---\n" "The Taiga Team\n" msgstr "" +"\n" +"Hola %(full_name)s, nos has pedido que recuperemos tu contraseña\n" +"\n" +"%(url)s\n" +"\n" +"Ignora este mensaje si no lo has solicitado\n" +"\n" +"---\n" +"El Equipo de Taiga\n" #: taiga/users/templates/emails/password_recovery-subject.jinja:1 msgid "[Taiga] Password recovery" -msgstr "" +msgstr "[Taiga] Recuperación de contraseña" #: taiga/users/templates/emails/registered_user-body-html.jinja:6 msgid "" @@ -2174,6 +2236,18 @@ msgid "" " \n" +"

Gracias por registrarte en Taiga

\n" +"

Esperamos que lo disfrutes<./h3>\n" +"

Hemos creado Taiga porque queríamos que la herramienta de gestión de " +"proyectos que se encuentra abierta durante todo el día en nuestros PCs " +"sirviese para recordarnos continuamente por qué amamos nuestro trabajo: el " +"clean code, un buen diseño, el trabajo en equipo y el open source.

\n" +"

Hemos contruido Taiga teniendo siempre presente que debía ser una " +"herramienta bonita, elegante, fácil de usar y, sobre todo, divertida- sin " +"renunciar a la flexibilidad y al poder.

\n" +"El Equipo de Taiga" #: taiga/users/templates/emails/registered_user-body-html.jinja:23 #, python-format @@ -2184,6 +2258,9 @@ msgid "" "here\n" " " msgstr "" +"\n" +"Puedes borrar tu cuenta de usuario desde aquí" #: taiga/users/templates/emails/registered_user-body-text.jinja:1 msgid "" @@ -2202,6 +2279,22 @@ msgid "" "--\n" "The taiga Team\n" msgstr "" +"\n" +"Gracias por registrarte en Taiga\n" +"\n" +"Esperamos que lo disfrutes\n" +"\n" +"Hemos creado Taiga porque queríamos que la herramienta de gestión de " +"proyectos que se encuentra abierta durante todo el día en nuestros PCs " +"sirviese para recordarnos continuamente por qué amamos nuestro trabajo: el " +"clean code, un buen diseño, el trabajo en equipo y el open source.\n" +"\n" +"Hemos contruido Taiga teniendo siempre presente que debía ser una " +"herramienta bonita, elegante, fácil de usar y, sobre todo, divertida- sin " +"renunciar a la flexibilidad y al poder.\n" +"\n" +"--\n" +"El Equipo de Taiga\n" #: taiga/users/templates/emails/registered_user-body-text.jinja:13 #, python-format @@ -2209,6 +2302,9 @@ msgid "" "\n" "You may remove your account from this service: %(url)s\n" msgstr "" +"\n" +"Puedes eliminar tu cuenta accediendo a este link: %(url)s\n" +"\n" #: taiga/users/templates/emails/registered_user-subject.jinja:1 msgid "You've been Taigatized!" @@ -2216,16 +2312,16 @@ msgstr "¡Te hemos Taigatizado!" #: taiga/users/validators.py:29 msgid "There's no role with that id" -msgstr "" +msgstr "No existe ningún rol con este id" #: taiga/userstorage/api.py:50 msgid "" "Duplicate key value violates unique constraint. Key '{}' already exists." -msgstr "" +msgstr "Violación de una restricción de unicidad. La clave '{}' ya existe." #: taiga/userstorage/models.py:30 msgid "key" -msgstr "" +msgstr "clave" #: taiga/webhooks/models.py:28 taiga/webhooks/models.py:38 msgid "URL" @@ -2233,27 +2329,27 @@ msgstr "URL" #: taiga/webhooks/models.py:29 msgid "secret key" -msgstr "" +msgstr "clave secreta" #: taiga/webhooks/models.py:39 msgid "status code" -msgstr "" +msgstr "código de estado" #: taiga/webhooks/models.py:40 msgid "request data" -msgstr "" +msgstr "datos de petición" #: taiga/webhooks/models.py:41 msgid "request headers" -msgstr "" +msgstr "cabeceras de la petición" #: taiga/webhooks/models.py:42 msgid "response data" -msgstr "" +msgstr "datos de respuesta" #: taiga/webhooks/models.py:43 msgid "response headers" -msgstr "" +msgstr "cabeceras de la respuesta" #: taiga/webhooks/models.py:44 msgid "duration" diff --git a/taiga/locale/fi/LC_MESSAGES/django.po b/taiga/locale/fi/LC_MESSAGES/django.po index 27718112..4b6d3db6 100644 --- a/taiga/locale/fi/LC_MESSAGES/django.po +++ b/taiga/locale/fi/LC_MESSAGES/django.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-04 11:07+0200\n" -"PO-Revision-Date: 2015-05-04 09:08+0000\n" +"POT-Creation-Date: 2015-05-04 18:39+0200\n" +"PO-Revision-Date: 2015-05-04 19:22+0000\n" "Last-Translator: David Barragán \n" "Language-Team: Finnish (http://www.transifex.com/projects/p/taiga-back/" "language/fi/)\n" @@ -183,16 +183,6 @@ msgstr "" "Anna kelvollinen kuva. Annettu ei ollut tunnistettava kuva tai se oli " "vioittunut." -#: taiga/base/api/mixins.py:98 -msgid "" -"The `allow_empty` parameter is due to be deprecated. To use " -"`allow_empty=False` style behavior, You should override `get_queryset()` and " -"explicitly raise a 404 on empty querysets." -msgstr "" -"`allow_empty` parametri tullaan poistamaan. Käyttääksesi `allow_empty=False` " -"merkintää uudelleen määrittele `get_queryset()` ja anna 404 virhe tyhjälle " -"kyselylle." - #: taiga/base/api/pagination.py:115 msgid "Page is not 'last', nor can it be converted to an int." msgstr "Sivu ei ole 'viimeinen', ekä sitä pystytä muuntamaan numeroksi." @@ -242,23 +232,6 @@ 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:77 -#, python-brace-format -msgid "{0} is not a Django model" -msgstr "{0} ei ole Django malli" - -#: taiga/base/api/serializers.py:226 -msgid "instance should be a queryset or other iterable with many=True" -msgstr "instanssin pitäisi olla kyselysetti tai iteroitavissa: monta=True" - -#: taiga/base/api/serializers.py:229 -msgid "" -"allow_add_remove should only be used for bulk updates, but you have not set " -"many=True" -msgstr "" -"allow_add_remove should only be used for bulk updates, but you have not set " -"many=True" - #: taiga/base/api/serializers.py:296 msgid "Invalid data" msgstr "Virheellinen data" @@ -283,33 +256,10 @@ msgstr "Ei löytynyt" msgid "Permission denied" msgstr "Ei käyttöoikeutta" -#: taiga/base/api/views.py:352 -#, python-format -msgid "" -"Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be " -"returned from the view, but received a `%s`" -msgstr "" -"Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be " -"returned from the view, but received a `%s`" - #: taiga/base/api/views.py:451 msgid "Server application error" msgstr "Palvelinsovelluksen virhe" -#: taiga/base/api/viewsets.py:56 -#, python-format -msgid "" -"You tried to pass in the %s method name as a keyword argument to %s(). Don't " -"do that." -msgstr "" -"You tried to pass in the %s method name as a keyword argument to %s(). Don't " -"do that." - -#: taiga/base/api/viewsets.py:60 -#, python-format -msgid "%s() received an invalid keyword %r" -msgstr "%s() received an invalid keyword %r" - #: taiga/base/connectors/exceptions.py:24 msgid "Connection error." msgstr "Yhteysvirhe." @@ -385,11 +335,6 @@ msgstr "Precondition error" msgid "Error in filter params types." msgstr "Error in filter params types." -#: taiga/base/filters.py:118 taiga/base/filters.py:207 -#: taiga/base/filters.py:264 -msgid "Filtering project diferent value than an integer: {}" -msgstr "Filtering project diferent value than an integer: {}" - #: taiga/base/filters.py:121 taiga/base/filters.py:210 #: taiga/base/filters.py:266 msgid "'project' must be an integer value." @@ -489,10 +434,6 @@ msgstr "" "\n" "Kommentti: %(comment)s" -#: taiga/base/utils/signals.py:27 -msgid "The parameters must be lists of at least one parameter (the signal)." -msgstr "The parameters must be lists of at least one parameter (the signal)." - #: taiga/export_import/api.py:183 msgid "Needed dump file" msgstr "Tarvitaan tiedosto" @@ -502,20 +443,20 @@ msgid "Invalid dump format" msgstr "Virheellinen tiedostomuoto" #: taiga/export_import/dump_service.py:96 -msgid "error importing project" -msgstr "virhe projektin tuonnissa" +msgid "error importing project data" +msgstr "" #: taiga/export_import/dump_service.py:109 -msgid "error importing choices" -msgstr "virhe vaihtoehtojen tuonnissa" +msgid "error importing lists of project attributes" +msgstr "" #: taiga/export_import/dump_service.py:114 -msgid "error importing default choices" -msgstr "virhe oletusvalintojen tuonnissa" +msgid "error importing default project attributes values" +msgstr "" #: taiga/export_import/dump_service.py:124 -msgid "error importing custom fields" -msgstr "virhe omien kenttien tuonnissa" +msgid "error importing custom attributes" +msgstr "" #: taiga/export_import/dump_service.py:129 msgid "error importing roles" @@ -526,8 +467,8 @@ msgid "error importing memberships" msgstr "virhe jäsenyyksien tuonnissa" #: taiga/export_import/dump_service.py:149 -msgid "error importing milestones" -msgstr "virhe virstapylväiden tuonnissa" +msgid "error importing sprints" +msgstr "" #: taiga/export_import/dump_service.py:154 msgid "error importing wiki pages" @@ -538,7 +479,6 @@ msgid "error importing wiki links" msgstr "virhe viki-linkkien tuonnissa" #: taiga/export_import/dump_service.py:164 -#: taiga/export_import/dump_service.py:174 msgid "error importing issues" msgstr "virhe pyyntöjen tuonnissa" @@ -546,9 +486,13 @@ msgstr "virhe pyyntöjen tuonnissa" msgid "error importing user stories" msgstr "virhe käyttäjätarinoiden tuonnissa" +#: taiga/export_import/dump_service.py:174 +msgid "error importing tasks" +msgstr "" + #: taiga/export_import/dump_service.py:179 -msgid "error importing colors" -msgstr "virhe värien tuonnissa" +msgid "error importing tags" +msgstr "" #: taiga/export_import/dump_service.py:183 msgid "error importing timelines" @@ -571,7 +515,7 @@ msgstr "Sisältää vieheellisiä omia kenttiä." #: taiga/export_import/serializers.py:466 #: taiga/projects/milestones/serializers.py:63 #: taiga/projects/serializers.py:65 taiga/projects/serializers.py:91 -#: taiga/projects/serializers.py:114 taiga/projects/serializers.py:149 +#: taiga/projects/serializers.py:121 taiga/projects/serializers.py:163 msgid "Name duplicated for the project" msgstr "Nimi on tuplana projektille" @@ -924,7 +868,7 @@ msgstr "Virheellinen mallipohjan nimi" msgid "Not valid template description" msgstr "Virheellinen mallipohjan kuvaus" -#: taiga/projects/api.py:469 taiga/projects/serializers.py:235 +#: taiga/projects/api.py:469 taiga/projects/serializers.py:256 msgid "At least one of the user must be an active admin" msgstr "Vähintään yhden käyttäjän pitää olla aktiivinen ylläpitäjä" @@ -1281,20 +1225,20 @@ msgstr "on lukittu" #: taiga/projects/mixins/ordering.py:47 #, python-brace-format -msgid "{param} parameter is mandatory" -msgstr "{param} parametri on pakollinen" +msgid "'{param}' parameter is mandatory" +msgstr "'{param}' parametri on pakollinen" #: taiga/projects/mixins/ordering.py:51 -msgid "project parameter is mandatory" -msgstr "projekti-parametri on pakollinen" +msgid "'project' parameter is mandatory" +msgstr "'project' parametri on pakollinen" #: taiga/projects/models.py:59 msgid "email" msgstr "sähköposti" #: taiga/projects/models.py:61 -msgid "creado el" -msgstr "creado el" +msgid "create at" +msgstr "" #: taiga/projects/models.py:63 taiga/users/models.py:126 msgid "token" @@ -1548,51 +1492,51 @@ msgstr "versio" msgid "You can't leave the project if there are no more owners" msgstr "Et voi jättää projektia, jos olet ainoa omistaja" -#: taiga/projects/serializers.py:211 +#: taiga/projects/serializers.py:232 msgid "Email address is already taken" msgstr "Sähköpostiosoite on jo käytössä" -#: taiga/projects/serializers.py:223 +#: taiga/projects/serializers.py:244 msgid "Invalid role for the project" msgstr "Virheellinen rooli projektille" -#: taiga/projects/serializers.py:321 +#: taiga/projects/serializers.py:342 msgid "Total milestones must be major or equal to zero" msgstr "Virstapylväitä yhteensä pitää olla vähintään 0." -#: taiga/projects/serializers.py:378 +#: taiga/projects/serializers.py:399 msgid "Default options" msgstr "Oletusoptiot" -#: taiga/projects/serializers.py:379 +#: taiga/projects/serializers.py:400 msgid "User story's statuses" msgstr "Käyttäjätarinatilat" -#: taiga/projects/serializers.py:380 +#: taiga/projects/serializers.py:401 msgid "Points" msgstr "Pisteet" -#: taiga/projects/serializers.py:381 +#: taiga/projects/serializers.py:402 msgid "Task's statuses" msgstr "Tehtävien tilat" -#: taiga/projects/serializers.py:382 +#: taiga/projects/serializers.py:403 msgid "Issue's statuses" msgstr "Pyyntöjen tilat" -#: taiga/projects/serializers.py:383 +#: taiga/projects/serializers.py:404 msgid "Issue's types" msgstr "pyyntötyypit" -#: taiga/projects/serializers.py:384 +#: taiga/projects/serializers.py:405 msgid "Priorities" msgstr "Kiireellisyydet" -#: taiga/projects/serializers.py:385 +#: taiga/projects/serializers.py:406 msgid "Severities" msgstr "Vakavuudet" -#: taiga/projects/serializers.py:386 +#: taiga/projects/serializers.py:407 msgid "Roles" msgstr "Roolit" @@ -1673,8 +1617,8 @@ msgstr "" "%(extra)s" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:19 -msgid "Accept your invitation to Taiga following whis link:" -msgstr "Hyväksy kutsu Taigaan tästä linkistä: " +msgid "Accept your invitation to Taiga following this link:" +msgstr "" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:21 msgid "" @@ -2013,12 +1957,12 @@ msgid "Vote" msgstr "Äänestä" #: taiga/projects/wiki/api.py:60 -msgid "No content parameter" -msgstr "Ei sisältöparametri" +msgid "'content' parameter is mandatory" +msgstr "'content' parametri on pakollinen" #: taiga/projects/wiki/api.py:63 -msgid "No project_id parameter" -msgstr "No project_id parameter" +msgid "'project_id' parameter is mandatory" +msgstr "'project_id' parametri on pakollinen" #: taiga/projects/wiki/models.py:36 msgid "last modifier" diff --git a/taiga/locale/fr/LC_MESSAGES/django.po b/taiga/locale/fr/LC_MESSAGES/django.po index 950813c3..c87bc864 100644 --- a/taiga/locale/fr/LC_MESSAGES/django.po +++ b/taiga/locale/fr/LC_MESSAGES/django.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-04 11:07+0200\n" -"PO-Revision-Date: 2015-05-04 09:10+0000\n" +"POT-Creation-Date: 2015-05-04 18:39+0200\n" +"PO-Revision-Date: 2015-05-04 19:23+0000\n" "Last-Translator: David Barragán \n" "Language-Team: French (http://www.transifex.com/projects/p/taiga-back/" "language/fr/)\n" @@ -197,16 +197,6 @@ msgstr "" "Envoyez une image valide. Le fichier que vous avez envoyé n'était pas une " "image ou était une image corrompue." -#: taiga/base/api/mixins.py:98 -msgid "" -"The `allow_empty` parameter is due to be deprecated. To use " -"`allow_empty=False` style behavior, You should override `get_queryset()` and " -"explicitly raise a 404 on empty querysets." -msgstr "" -"Le paramètre `allow_empty` est amené à devenir obsolète. Pour obtenir le " -"comportement de `allow_empty=False`, vous devez redéfinir `get_queryset()` " -"et renvoyer une erreur 404 sur une requête vide." - #: taiga/base/api/pagination.py:115 msgid "Page is not 'last', nor can it be converted to an int." msgstr "" @@ -258,24 +248,6 @@ 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:77 -#, python-brace-format -msgid "{0} is not a Django model" -msgstr "{0} n'est pas un modèle Django." - -#: taiga/base/api/serializers.py:226 -msgid "instance should be a queryset or other iterable with many=True" -msgstr "" -"L'instance devrait être une queryset ou un autre itérable avec many=True." - -#: taiga/base/api/serializers.py:229 -msgid "" -"allow_add_remove should only be used for bulk updates, but you have not set " -"many=True" -msgstr "" -"allow_add_remove ne devrait être utilisé que pour les mises à jour par lots, " -"mais vous n'avez pas défini many=True." - #: taiga/base/api/serializers.py:296 msgid "Invalid data" msgstr "Donnée invalide" @@ -302,33 +274,10 @@ msgstr "Non trouvé" msgid "Permission denied" msgstr "Permission refusée" -#: taiga/base/api/views.py:352 -#, python-format -msgid "" -"Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be " -"returned from the view, but received a `%s`" -msgstr "" -"Un objet `Response`, `HttpResponse` ou `HttpStreamingResponse` était attendu " -"de la vue, mais un `%s` a été reçu" - #: taiga/base/api/views.py:451 msgid "Server application error" msgstr "Erreur du serveur d'application" -#: taiga/base/api/viewsets.py:56 -#, python-format -msgid "" -"You tried to pass in the %s method name as a keyword argument to %s(). Don't " -"do that." -msgstr "" -"Vous avez essayé de passer le nom de la méthode de %s comme argument mot clé " -"à %s(). Ne faites pas cela." - -#: taiga/base/api/viewsets.py:60 -#, python-format -msgid "%s() received an invalid keyword %r" -msgstr "Mot clé %r invalide reçu par %s()" - #: taiga/base/connectors/exceptions.py:24 msgid "Connection error." msgstr "Erreur de connexion." @@ -404,11 +353,6 @@ msgstr "Erreur de précondition" msgid "Error in filter params types." msgstr "Erreur dans les types de paramètres de filtres" -#: taiga/base/filters.py:118 taiga/base/filters.py:207 -#: taiga/base/filters.py:264 -msgid "Filtering project diferent value than an integer: {}" -msgstr "La valeur utilisée n'est pas un entier : {}" - #: taiga/base/filters.py:121 taiga/base/filters.py:210 #: taiga/base/filters.py:266 msgid "'project' must be an integer value." @@ -511,11 +455,6 @@ msgstr "" " Commentaire : %(comment)s\n" " " -#: taiga/base/utils/signals.py:27 -msgid "The parameters must be lists of at least one parameter (the signal)." -msgstr "" -"Les paramètres doivent être des listes d'au moins un paramètre (le signal)." - #: taiga/export_import/api.py:183 msgid "Needed dump file" msgstr "Fichier de dump obligatoire" @@ -525,20 +464,20 @@ msgid "Invalid dump format" msgstr "Format de dump invalide" #: taiga/export_import/dump_service.py:96 -msgid "error importing project" -msgstr "Erreur à l'importation du projet" +msgid "error importing project data" +msgstr "" #: taiga/export_import/dump_service.py:109 -msgid "error importing choices" -msgstr "Erreur à l'importation des choix" +msgid "error importing lists of project attributes" +msgstr "" #: taiga/export_import/dump_service.py:114 -msgid "error importing default choices" -msgstr "Erreur à l'importation des choix par défaut" +msgid "error importing default project attributes values" +msgstr "" #: taiga/export_import/dump_service.py:124 -msgid "error importing custom fields" -msgstr "Erreur à l'importation des champs personnalisés" +msgid "error importing custom attributes" +msgstr "" #: taiga/export_import/dump_service.py:129 msgid "error importing roles" @@ -549,8 +488,8 @@ msgid "error importing memberships" msgstr "Erreur à l'importation des groupes d'utilisateurs" #: taiga/export_import/dump_service.py:149 -msgid "error importing milestones" -msgstr "erreur à l'importation des jalons" +msgid "error importing sprints" +msgstr "" #: taiga/export_import/dump_service.py:154 msgid "error importing wiki pages" @@ -561,7 +500,6 @@ msgid "error importing wiki links" msgstr "Erreur à l'importation des liens Wiki" #: taiga/export_import/dump_service.py:164 -#: taiga/export_import/dump_service.py:174 msgid "error importing issues" msgstr "erreur à l'importation des problèmes" @@ -569,9 +507,13 @@ msgstr "erreur à l'importation des problèmes" msgid "error importing user stories" msgstr "erreur à l'importation des histoires utilisateur" +#: taiga/export_import/dump_service.py:174 +msgid "error importing tasks" +msgstr "" + #: taiga/export_import/dump_service.py:179 -msgid "error importing colors" -msgstr "erreur à l'importation des couleurs" +msgid "error importing tags" +msgstr "" #: taiga/export_import/dump_service.py:183 msgid "error importing timelines" @@ -594,7 +536,7 @@ msgstr "Contient des champs personnalisés non valides." #: taiga/export_import/serializers.py:466 #: taiga/projects/milestones/serializers.py:63 #: taiga/projects/serializers.py:65 taiga/projects/serializers.py:91 -#: taiga/projects/serializers.py:114 taiga/projects/serializers.py:149 +#: taiga/projects/serializers.py:121 taiga/projects/serializers.py:163 msgid "Name duplicated for the project" msgstr "Nom dupliqué pour ce projet" @@ -945,7 +887,7 @@ msgstr "Nom de modèle non valide" msgid "Not valid template description" msgstr "Description du modèle non valide" -#: taiga/projects/api.py:469 taiga/projects/serializers.py:235 +#: taiga/projects/api.py:469 taiga/projects/serializers.py:256 msgid "At least one of the user must be an active admin" msgstr "Au moins un utilisateur doit être un administrateur actif" @@ -1302,20 +1244,20 @@ msgstr "est bloqué" #: taiga/projects/mixins/ordering.py:47 #, python-brace-format -msgid "{param} parameter is mandatory" -msgstr "{param} paramètre obligatoire" +msgid "'{param}' parameter is mandatory" +msgstr "'{param}' paramètre obligatoire" #: taiga/projects/mixins/ordering.py:51 -msgid "project parameter is mandatory" -msgstr "paramètre du projet est obligatoire" +msgid "'project' parameter is mandatory" +msgstr "'project' paramètre obligatoire" #: taiga/projects/models.py:59 msgid "email" msgstr "email" #: taiga/projects/models.py:61 -msgid "creado el" -msgstr "créé le" +msgid "create at" +msgstr "" #: taiga/projects/models.py:63 taiga/users/models.py:126 msgid "token" @@ -1570,51 +1512,51 @@ msgid "You can't leave the project if there are no more owners" msgstr "" "Vous ne pouvez pas quitter le projet si il n'y a plus d'autres propriétaires" -#: taiga/projects/serializers.py:211 +#: taiga/projects/serializers.py:232 msgid "Email address is already taken" msgstr "Adresse email déjà existante" -#: taiga/projects/serializers.py:223 +#: taiga/projects/serializers.py:244 msgid "Invalid role for the project" msgstr "Rôle non valide pour le projet" -#: taiga/projects/serializers.py:321 +#: taiga/projects/serializers.py:342 msgid "Total milestones must be major or equal to zero" msgstr "Le nombre de jalons doit être supérieur ou égal à zéro" -#: taiga/projects/serializers.py:378 +#: taiga/projects/serializers.py:399 msgid "Default options" msgstr "Options par défaut" -#: taiga/projects/serializers.py:379 +#: taiga/projects/serializers.py:400 msgid "User story's statuses" msgstr "Etats de la User Story" -#: taiga/projects/serializers.py:380 +#: taiga/projects/serializers.py:401 msgid "Points" msgstr "Points" -#: taiga/projects/serializers.py:381 +#: taiga/projects/serializers.py:402 msgid "Task's statuses" msgstr "Etats des tâches" -#: taiga/projects/serializers.py:382 +#: taiga/projects/serializers.py:403 msgid "Issue's statuses" msgstr "Statuts des problèmes" -#: taiga/projects/serializers.py:383 +#: taiga/projects/serializers.py:404 msgid "Issue's types" msgstr "Types de problèmes" -#: taiga/projects/serializers.py:384 +#: taiga/projects/serializers.py:405 msgid "Priorities" msgstr "Priorités" -#: taiga/projects/serializers.py:385 +#: taiga/projects/serializers.py:406 msgid "Severities" msgstr "Sévérités" -#: taiga/projects/serializers.py:386 +#: taiga/projects/serializers.py:407 msgid "Roles" msgstr "Rôles" @@ -1696,8 +1638,8 @@ msgstr "" " " #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:19 -msgid "Accept your invitation to Taiga following whis link:" -msgstr "Acceptez votre invitation à Taiga en cliquant sur ce lien :" +msgid "Accept your invitation to Taiga following this link:" +msgstr "" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:21 msgid "" @@ -2039,12 +1981,12 @@ msgid "Vote" msgstr "vote" #: taiga/projects/wiki/api.py:60 -msgid "No content parameter" -msgstr "paramètre content absent" +msgid "'content' parameter is mandatory" +msgstr "'content' paramètre obligatoire" #: taiga/projects/wiki/api.py:63 -msgid "No project_id parameter" -msgstr "Paramètre project_id absent" +msgid "'project_id' parameter is mandatory" +msgstr "'project_id' paramètre obligatoire" #: taiga/projects/wiki/models.py:36 msgid "last modifier" diff --git a/taiga/locale/zh-Hant/LC_MESSAGES/django.po b/taiga/locale/zh-Hant/LC_MESSAGES/django.po index 8a98c880..21628951 100644 --- a/taiga/locale/zh-Hant/LC_MESSAGES/django.po +++ b/taiga/locale/zh-Hant/LC_MESSAGES/django.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-04 11:07+0200\n" -"PO-Revision-Date: 2015-05-04 09:09+0000\n" -"Last-Translator: David Barragán \n" +"POT-Creation-Date: 2015-05-04 18:39+0200\n" +"PO-Revision-Date: 2015-05-05 01:14+0000\n" +"Last-Translator: Chi-Hsun Tsai \n" "Language-Team: Chinese Traditional (http://www.transifex.com/projects/p/" "taiga-back/language/zh-Hant/)\n" "MIME-Version: 1.0\n" @@ -179,15 +179,6 @@ msgid "" "corrupted image." msgstr "上傳有效圖片,你所上傳的檔案非圖檔或已損壞" -#: taiga/base/api/mixins.py:98 -msgid "" -"The `allow_empty` parameter is due to be deprecated. To use " -"`allow_empty=False` style behavior, You should override `get_queryset()` and " -"explicitly raise a 404 on empty querysets." -msgstr "" -"`allow_empty`參數將被棄用,要使用`allow_empty=False` 格式行為。你應覆蓋" -"`get_queryset()`並利用404找不到檔案來表明其空白的查詢組" - #: taiga/base/api/pagination.py:115 msgid "Page is not 'last', nor can it be converted to an int." msgstr "頁數不是最後,或者它無法轉成整數 " @@ -237,21 +228,6 @@ msgstr "無效的超鏈接 - 物件並不存在" msgid "Incorrect type. Expected url string, received %s." msgstr "不正確類型,預期為網址格式,收到的是 %s." -#: taiga/base/api/serializers.py:77 -#, python-brace-format -msgid "{0} is not a Django model" -msgstr "{0} 非Django 模式" - -#: taiga/base/api/serializers.py:226 -msgid "instance should be a queryset or other iterable with many=True" -msgstr "物件類別應是一個詢問組或是其它迭代著many=True" - -#: taiga/base/api/serializers.py:229 -msgid "" -"allow_add_remove should only be used for bulk updates, but you have not set " -"many=True" -msgstr "allow_add_remove s只能用於批次更新, 但你不能設 many=True" - #: taiga/base/api/serializers.py:296 msgid "Invalid data" msgstr "無效的資料" @@ -276,31 +252,10 @@ msgstr "找不到" msgid "Permission denied" msgstr "許可遭拒絕 " -#: taiga/base/api/views.py:352 -#, python-format -msgid "" -"Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be " -"returned from the view, but received a `%s`" -msgstr "" -"預期 `Response`, `HttpResponse` 或 `HttpStreamingResponse`或返回這個檢視,而" -"接收到 `%s`" - #: taiga/base/api/views.py:451 msgid "Server application error" msgstr "伺服器應用出錯" -#: taiga/base/api/viewsets.py:56 -#, python-format -msgid "" -"You tried to pass in the %s method name as a keyword argument to %s(). Don't " -"do that." -msgstr "你試著要通過 %s 方式名稱作為一個關鍵值 %s(). 別這麼做" - -#: taiga/base/api/viewsets.py:60 -#, python-format -msgid "%s() received an invalid keyword %r" -msgstr "%s() 接到一個無效的關鍵字 %r" - #: taiga/base/connectors/exceptions.py:24 msgid "Connection error." msgstr "連結出錯" @@ -376,11 +331,6 @@ msgstr "前提出錯" msgid "Error in filter params types." msgstr "過濾參數類型出錯" -#: taiga/base/filters.py:118 taiga/base/filters.py:207 -#: taiga/base/filters.py:264 -msgid "Filtering project diferent value than an integer: {}" -msgstr "過濾專案diferent值大於整數: {}" - #: taiga/base/filters.py:121 taiga/base/filters.py:210 #: taiga/base/filters.py:266 msgid "'project' must be an integer value." @@ -479,10 +429,6 @@ msgstr "" "\n" "評論: %(comment)s" -#: taiga/base/utils/signals.py:27 -msgid "The parameters must be lists of at least one parameter (the signal)." -msgstr "參數必須為列表中的一個 (信號)." - #: taiga/export_import/api.py:183 msgid "Needed dump file" msgstr "需要的堆存檔案" @@ -492,57 +438,60 @@ msgid "Invalid dump format" msgstr "無效堆存格式" #: taiga/export_import/dump_service.py:96 -msgid "error importing project" -msgstr "滙入專案有誤" +msgid "error importing project data" +msgstr "滙入重要專案資料出錯" #: taiga/export_import/dump_service.py:109 -msgid "error importing choices" -msgstr "滙入選項有誤" +msgid "error importing lists of project attributes" +msgstr "滙入標籤出錯" #: taiga/export_import/dump_service.py:114 -msgid "error importing default choices" -msgstr "滙入預設選項有誤" +msgid "error importing default project attributes values" +msgstr "滙入預設專案屬性數值出錯" #: taiga/export_import/dump_service.py:124 -msgid "error importing custom fields" -msgstr "滙入慣例欄位有誤" +msgid "error importing custom attributes" +msgstr "滙入客制性屬出錯" #: taiga/export_import/dump_service.py:129 msgid "error importing roles" -msgstr "滙入角色有誤" +msgstr "滙入角色出錯" #: taiga/export_import/dump_service.py:144 msgid "error importing memberships" -msgstr "滙入成員資格有誤" +msgstr "滙入成員資格出錯" #: taiga/export_import/dump_service.py:149 -msgid "error importing milestones" -msgstr "滙入里程碑有誤" +msgid "error importing sprints" +msgstr "滙入衝刺任務出錯" #: taiga/export_import/dump_service.py:154 msgid "error importing wiki pages" -msgstr "滙入維基頁有誤" +msgstr "滙入維基頁出錯" #: taiga/export_import/dump_service.py:159 msgid "error importing wiki links" -msgstr "滙入維基連結有誤" +msgstr "滙入維基連結出錯" #: taiga/export_import/dump_service.py:164 -#: taiga/export_import/dump_service.py:174 msgid "error importing issues" -msgstr "滙入問題有誤 " +msgstr "滙入問題出錯" #: taiga/export_import/dump_service.py:169 msgid "error importing user stories" -msgstr "滙入使用者故事有誤" +msgstr "滙入使用者故事出錯" + +#: taiga/export_import/dump_service.py:174 +msgid "error importing tasks" +msgstr "滙入任務出錯" #: taiga/export_import/dump_service.py:179 -msgid "error importing colors" -msgstr "滙入顏色有誤" +msgid "error importing tags" +msgstr "滙入標籤出錯" #: taiga/export_import/dump_service.py:183 msgid "error importing timelines" -msgstr "滙入時間軸有誤 " +msgstr "滙入時間軸出錯" #: taiga/export_import/serializers.py:161 msgid "{}=\"{}\" not found in this project" @@ -561,7 +510,7 @@ msgstr "包括無效慣例欄位" #: taiga/export_import/serializers.py:466 #: taiga/projects/milestones/serializers.py:63 #: taiga/projects/serializers.py:65 taiga/projects/serializers.py:91 -#: taiga/projects/serializers.py:114 taiga/projects/serializers.py:149 +#: taiga/projects/serializers.py:121 taiga/projects/serializers.py:163 msgid "Name duplicated for the project" msgstr "專案的名稱被複製了" @@ -910,7 +859,7 @@ msgstr "非有效樣板名稱 " msgid "Not valid template description" msgstr "無效樣板描述" -#: taiga/projects/api.py:469 taiga/projects/serializers.py:235 +#: taiga/projects/api.py:469 taiga/projects/serializers.py:256 msgid "At least one of the user must be an active admin" msgstr "至少需有一位使用者擔任管理員" @@ -1267,20 +1216,20 @@ msgstr "已封鎖" #: taiga/projects/mixins/ordering.py:47 #, python-brace-format -msgid "{param} parameter is mandatory" -msgstr "{param} 參數為必要" +msgid "'{param}' parameter is mandatory" +msgstr "'{param}' 參數為必要" #: taiga/projects/mixins/ordering.py:51 -msgid "project parameter is mandatory" -msgstr "專案參數為必要" +msgid "'project' parameter is mandatory" +msgstr "'project'參數為必要" #: taiga/projects/models.py:59 msgid "email" msgstr "電子郵件" #: taiga/projects/models.py:61 -msgid "creado el" -msgstr "creado el" +msgid "create at" +msgstr "創建於" #: taiga/projects/models.py:63 taiga/users/models.py:126 msgid "token" @@ -1534,51 +1483,51 @@ msgstr "版本" msgid "You can't leave the project if there are no more owners" msgstr "如果專案無所有者,你將無法脫離該專案" -#: taiga/projects/serializers.py:211 +#: taiga/projects/serializers.py:232 msgid "Email address is already taken" msgstr "電子郵件已使用" -#: taiga/projects/serializers.py:223 +#: taiga/projects/serializers.py:244 msgid "Invalid role for the project" msgstr "專案無效的角色" -#: taiga/projects/serializers.py:321 +#: taiga/projects/serializers.py:342 msgid "Total milestones must be major or equal to zero" msgstr "Kanban" -#: taiga/projects/serializers.py:378 +#: taiga/projects/serializers.py:399 msgid "Default options" msgstr "預設選項" -#: taiga/projects/serializers.py:379 +#: taiga/projects/serializers.py:400 msgid "User story's statuses" msgstr "使用者故事狀態" -#: taiga/projects/serializers.py:380 +#: taiga/projects/serializers.py:401 msgid "Points" msgstr "點數" -#: taiga/projects/serializers.py:381 +#: taiga/projects/serializers.py:402 msgid "Task's statuses" msgstr "任務狀態" -#: taiga/projects/serializers.py:382 +#: taiga/projects/serializers.py:403 msgid "Issue's statuses" msgstr "問題狀態" -#: taiga/projects/serializers.py:383 +#: taiga/projects/serializers.py:404 msgid "Issue's types" msgstr "問題類型" -#: taiga/projects/serializers.py:384 +#: taiga/projects/serializers.py:405 msgid "Priorities" msgstr "優先性" -#: taiga/projects/serializers.py:385 +#: taiga/projects/serializers.py:406 msgid "Severities" msgstr "嚴重性" -#: taiga/projects/serializers.py:386 +#: taiga/projects/serializers.py:407 msgid "Roles" msgstr "角色" @@ -1657,8 +1606,8 @@ msgstr "" "%(extra)s " #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:19 -msgid "Accept your invitation to Taiga following whis link:" -msgstr "依下方連結接受Taiga使用邀請 " +msgid "Accept your invitation to Taiga following this link:" +msgstr "接受Taiga加入邀請請依下面連結指示" #: taiga/projects/templates/emails/membership_invitation-body-text.jinja:21 msgid "" @@ -1992,12 +1941,12 @@ msgid "Vote" msgstr "投票 " #: taiga/projects/wiki/api.py:60 -msgid "No content parameter" -msgstr "無內容參數" +msgid "'content' parameter is mandatory" +msgstr "'content'參數為必要" #: taiga/projects/wiki/api.py:63 -msgid "No project_id parameter" -msgstr "無 project_id 參數" +msgid "'project_id' parameter is mandatory" +msgstr "'project_id'參數為必要" #: taiga/projects/wiki/models.py:36 msgid "last modifier" diff --git a/taiga/projects/migrations/0021_auto_20150504_1524.py b/taiga/projects/migrations/0021_auto_20150504_1524.py new file mode 100644 index 00000000..ec82bfe2 --- /dev/null +++ b/taiga/projects/migrations/0021_auto_20150504_1524.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('projects', '0020_membership_user_order'), + ] + + operations = [ + migrations.AlterField( + model_name='membership', + name='created_at', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='create at'), + preserve_default=True, + ), + migrations.AlterField( + model_name='project', + name='videoconferences', + field=models.CharField(max_length=250, blank=True, choices=[('appear-in', 'AppearIn'), ('jitsi', 'Jitsi'), ('talky', 'Talky')], null=True, verbose_name='videoconference system'), + preserve_default=True, + ), + migrations.AlterField( + model_name='projecttemplate', + name='videoconferences', + field=models.CharField(max_length=250, blank=True, choices=[('appear-in', 'AppearIn'), ('jitsi', 'Jitsi'), ('talky', 'Talky')], null=True, verbose_name='videoconference system'), + preserve_default=True, + ), + ] diff --git a/taiga/projects/mixins/ordering.py b/taiga/projects/mixins/ordering.py index b818a25e..b180bc1f 100644 --- a/taiga/projects/mixins/ordering.py +++ b/taiga/projects/mixins/ordering.py @@ -44,11 +44,11 @@ class BulkUpdateOrderMixin: bulk_data = request.DATA.get(self.bulk_update_param, None) if bulk_data is None: - raise exc.BadRequest(_("{param} parameter is mandatory".format(param=self.bulk_update_param))) + raise exc.BadRequest(_("'{param}' parameter is mandatory".format(param=self.bulk_update_param))) project_id = request.DATA.get('project', None) if project_id is None: - raise exc.BadRequest(_("project parameter is mandatory")) + raise exc.BadRequest(_("'project' parameter is mandatory")) project = get_object_or_404(Project, id=project_id) diff --git a/taiga/projects/models.py b/taiga/projects/models.py index 9551dc33..64fff2a9 100644 --- a/taiga/projects/models.py +++ b/taiga/projects/models.py @@ -58,7 +58,7 @@ class Membership(models.Model): email = models.EmailField(max_length=255, default=None, null=True, blank=True, verbose_name=_("email")) created_at = models.DateTimeField(default=timezone.now, - verbose_name=_("creado el")) + verbose_name=_("create at")) token = models.CharField(max_length=60, blank=True, null=True, default=None, verbose_name=_("token")) diff --git a/taiga/projects/templates/emails/membership_invitation-body-text.jinja b/taiga/projects/templates/emails/membership_invitation-body-text.jinja index f8ed38e9..c8fbe7f1 100644 --- a/taiga/projects/templates/emails/membership_invitation-body-text.jinja +++ b/taiga/projects/templates/emails/membership_invitation-body-text.jinja @@ -16,7 +16,7 @@ And now a few words from the jolly good fellow or sistren who thought so kindly {{ extra }} {% endtrans %} {% endif %} -{{ _("Accept your invitation to Taiga following whis link:") }} +{{ _("Accept your invitation to Taiga following this link:") }} {{ resolve_front_url("invitation", membership.token) }} {% trans %} --- diff --git a/taiga/projects/wiki/api.py b/taiga/projects/wiki/api.py index c13fc3d8..a2e39eda 100644 --- a/taiga/projects/wiki/api.py +++ b/taiga/projects/wiki/api.py @@ -57,10 +57,10 @@ class WikiViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin, project_id = request.DATA.get("project_id", None) if not content: - raise exc.WrongArguments({"content": _("No content parameter")}) + raise exc.WrongArguments({"content": _("'content' parameter is mandatory")}) if not project_id: - raise exc.WrongArguments({"project_id": _("No project_id parameter")}) + raise exc.WrongArguments({"project_id": _("'project_id' parameter is mandatory")}) project = get_object_or_404(Project, pk=project_id) diff --git a/taiga/users/templates/emails/registered_user-body-html.jinja b/taiga/users/templates/emails/registered_user-body-html.jinja index efe77ace..19a87e6e 100644 --- a/taiga/users/templates/emails/registered_user-body-html.jinja +++ b/taiga/users/templates/emails/registered_user-body-html.jinja @@ -10,8 +10,8 @@

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.

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

The taiga Team - + + {% endtrans %} {% endblock %}